From 6ecd4d1e364ea8104c83e36b82d1c23835fb104b Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Wed, 18 Jan 2006 04:24:48 +0100 Subject: scsi_id, usb_id: request device parent by subsystem Request specific parents identified by subsystem and don't rely on a predefined sequence. Also let the devpath be longer than 72 chars, tsss ... Signed-off-by: Kay Sievers --- udev_sysfs.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'udev_sysfs.c') diff --git a/udev_sysfs.c b/udev_sysfs.c index 98383798..172f0ce1 100644 --- a/udev_sysfs.c +++ b/udev_sysfs.c @@ -306,6 +306,19 @@ device_link: return sysfs_device_get(parent_devpath); } +struct sysfs_device *sysfs_device_get_parent_with_subsystem(struct sysfs_device *dev, const char *subsystem) +{ + struct sysfs_device *dev_parent; + + dev_parent = sysfs_device_get_parent(dev); + while (dev_parent != NULL) { + if (strcmp(dev_parent->subsystem, subsystem) == 0) + return dev_parent; + dev_parent = sysfs_device_get_parent(dev_parent); + } + return NULL; +} + char *sysfs_attr_get_value(const char *devpath, const char *attr_name) { char path_full[PATH_SIZE]; -- cgit 1.2.3-korg