From 0586405abbeb51b5e427e766e8e599e3045f102b Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Fri, 27 Mar 2009 18:11:40 +0000 Subject: use /sys/bus/usb/devices instead of /sys/class/usb_device (disabled in kernel) to find modalias (this breaks ABI because we now need to keep port number) --- pciusb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'pciusb.c') diff --git a/pciusb.c b/pciusb.c index ecbe74a..ef9af7a 100644 --- a/pciusb.c +++ b/pciusb.c @@ -114,8 +114,8 @@ static void find_usb_modules_through_aliases(struct pciusb_entry *e) { struct dirent *dent; asprintf(&usb_prefix, "%d-", e->pci_bus); - /* usbdev. */ - asprintf(&sysfs_path, "/sys/class/usb_device/usbdev%d.%d/device", e->pci_bus, e->pci_device); + /* USB port is indexed from 0 in procfs, from 1 in sysfs */ + asprintf(&sysfs_path, "/sys/bus/usb/devices/%d-%d", e->pci_bus, e->usb_port + 1); dir = opendir(sysfs_path); if (!dir) @@ -233,6 +233,7 @@ extern void pciusb_initialize(struct pciusb_entry *e) { e->pci_bus = 0xffff; e->pci_device = 0xffff; e->pci_function = 0xffff; + e->usb_port = 0xffff; e->module = NULL; e->text = NULL; e->class = NULL; -- cgit v1.2.1