Age | Commit message (Collapse) | Author |
|
|
|
The quick patch I sent you yesterday fixes it in one location, but
there are other points in the library that calls sysfs_get_mnt_path. We
need to address all the areas in the library where paths are used. The
following patch is a band-aid until we can get a proper path management
in the library.
|
|
|
|
There seems to be a
mismatch in udev and in libsysfs as to what to expect if the mnt point
has a slash on the end or not. If I use the included patch, it breaks
something in udev. If I patch sysfs_get_mnt_path I break udev as well
because what you're expecting. I need to sit down and go through
the library and creaate a rule as to trailing slashes. Adding the env
brought this to light.
|
|
Here's the patch to up the library to the sysfsutils-0_3_0 level. The
following changes:
1) adds class name to sysfs_class_device structure
2) adds bus to sysfs_device
3) gets rid of code that made assumptions as to bus addresses being
unique across buses, which isn't the case.
I still owe you:
1) change getpagesize->sysconf. This is in the CVS tree and part of other
changes we're currently testing. Patch will follow.
2) you need a function to get a sysfs_class_device's parent. We hadn't
considered class devices to have parents, the one example of a multilevel
is the block class. We will add this function and send the patch to you.
|
|
Here's a quick patch to:
1) Add an environment variable "SYSFS_PATH" that libsysfs will check
for when getting mount point before searching system's sysfs mount
point.
2) A quick fix to sysfs_get_link where the bug was.
I have tested this out with libsysfs and with udev. I couldn't test
with klibc because I haven't got the tree to build with klibc without
my changes either. I made the link but get an error finding
linux/linits.h. I will figure that out.
Please have a look at the patch. If it's agreeable, please test it. I
really want to add some generic path manipulation functions for the
sysfs_get_link error, rather than my patch's hack. But, I haven't had
time yet to do that. You really sounded like you needed this for
testing, so I'm sending it out to you. I should probably add a
function to set the env variable(?).
|
|
|
|
|
|
|
|
|
|
Here's the patch applying the latest libsysfs.
- adds the latest libsysfs code to udev
* new code includes dlist implementation, a generic linked list
implementation. Needed our own because LGPL
* rearranged structures
* provided more functions for accessing directory and attributes
- gets rid of ->directory->path references in namedev.c
- replaces sysfs_get_value_from_attributes with sysfs_get_classdev_attr
|
|
I noticed that libsysfs doesn't inherently grab cross compilation arguments
that are set in the top-level Makefile, so I've come up with the following
patch to fix this. With the patch, I can succesfully cross compile for other
architectures (such as sh) by doing 'make ARCH=sh CROSS=sh-linux-' in the
top-level directory.
|
|
|