chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f156b6d
)
[PATCH] improve udevinfo sysfs info walk
author
kay.sievers@vrfy.org
<kay.sievers@vrfy.org>
Wed, 10 Nov 2004 01:15:27 +0000
(
02:15
+0100)
committer
Greg KH
<gregkh@suse.de>
Wed, 27 Apr 2005 05:21:20 +0000
(22:21 -0700)
udevinfo.c
patch
|
blob
|
history
diff --git
a/udevinfo.c
b/udevinfo.c
index f1b74fc8f6c98899b08eb5ab1e4887cbd1b9c7ba..8fab86ca8c95e9bd80a088181bc660b9d5c93b53 100644
(file)
--- a/
udevinfo.c
+++ b/
udevinfo.c
@@
-197,21
+197,22
@@
exit:
return retval;
}
return retval;
}
-/* print all class/
block devices with major/minor, physical device and bus
*/
-static
void
print_sysfs_devices(void)
+/* print all class/
main block devices with major/minor, physical device, driver and bus
*/
+static
int
print_sysfs_devices(void)
{
struct dlist *subsyslist;
char *class;
subsyslist = sysfs_open_subsystem_list("class");
if (!subsyslist)
{
struct dlist *subsyslist;
char *class;
subsyslist = sysfs_open_subsystem_list("class");
if (!subsyslist)
-
exit(1)
;
+
return -1
;
dlist_for_each_data(subsyslist, class, char) {
struct sysfs_class *cls;
struct dlist *class_devices;
struct sysfs_class_device *class_dev;
struct sysfs_device *phys_dev;
dlist_for_each_data(subsyslist, class, char) {
struct sysfs_class *cls;
struct dlist *class_devices;
struct sysfs_class_device *class_dev;
struct sysfs_device *phys_dev;
+ struct sysfs_driver *driver;
cls = sysfs_open_class(class);
if (!cls)
cls = sysfs_open_class(class);
if (!cls)
@@
-227,7
+228,6
@@
static void print_sysfs_devices(void)
printf("\n");
printf("DEVPATH '%s'\n", class_dev->path);
printf("SUBSYSTEM '%s'\n", class_dev->classname);
printf("\n");
printf("DEVPATH '%s'\n", class_dev->path);
printf("SUBSYSTEM '%s'\n", class_dev->classname);
- printf("NAME '%s'\n", class_dev->name);
attr = sysfs_get_classdev_attr(class_dev, "dev");
if (attr) {
attr = sysfs_get_classdev_attr(class_dev, "dev");
if (attr) {
@@
-236,23
+236,25
@@
static void print_sysfs_devices(void)
if (pos[0] == '\n')
pos[0] = '\0';
if (pos[0] == '\n')
pos[0] = '\0';
- printf("
MAJORMINOR
'%s'\n", attr->value);
+ printf("
DEVMAJORMINOR
'%s'\n", attr->value);
}
}
+ driver = sysfs_get_classdev_driver(class_dev);
+ if (driver)
+ printf("DEVDRIVER '%s'\n", driver->name);
+
phys_dev = sysfs_get_classdev_device(class_dev);
if (phys_dev) {
printf("PHYSDEVPATH '%s'\n", phys_dev->path);
if (phys_dev->bus[0] != '\0')
phys_dev = sysfs_get_classdev_device(class_dev);
if (phys_dev) {
printf("PHYSDEVPATH '%s'\n", phys_dev->path);
if (phys_dev->bus[0] != '\0')
- printf("PHYSDEVPATHBUS '%s'\n", phys_dev->bus);
- if (phys_dev->driver_name[0] != '\0')
- printf("DRIVER '%s'\n", phys_dev->driver_name);
+ printf("PHYSDEVBUS '%s'\n", phys_dev->bus);
}
}
}
}
-
sysfs_close_class(cls);
}
sysfs_close_class(cls);
}
-
sysfs_close_list(subsyslist);
sysfs_close_list(subsyslist);
+
+ return 0;
}
static int process_options(void)
}
static int process_options(void)