staging: usbip: userspace: vhci_driver: parameterize path names
authormatt mooney <mfm@muteddisk.com>
Thu, 26 May 2011 13:17:10 +0000 (06:17 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 7 Jun 2011 20:56:12 +0000 (13:56 -0700)
Define a macro for the bus type and use libsysfs for class path.

Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/usbip/userspace/libsrc/vhci_driver.c
drivers/staging/usbip/userspace/libsrc/vhci_driver.h

index 9296f9626bcb2c5b882b07bfa19e9c44fc659f50..f2030b1da6e181467c6fddbf9deabcc18f66be39 100644 (file)
@@ -186,9 +186,20 @@ static int refresh_class_device_list(void)
        int ret;
        struct dlist *cname_list;
        char *cname;
+       char sysfs_mntpath[SYSFS_PATH_MAX];
+       char class_path[SYSFS_PATH_MAX];
+
+       ret = sysfs_get_mnt_path(sysfs_mntpath, SYSFS_PATH_MAX);
+       if (ret < 0) {
+               err("sysfs must be mounted");
+               return -1;
+       }
+
+       snprintf(class_path, sizeof(class_path), "%s/%s", sysfs_mntpath,
+                SYSFS_CLASS_NAME);
 
        /* search under /sys/class */
-       cname_list = sysfs_open_directory_list("/sys/class");
+       cname_list = sysfs_open_directory_list(class_path);
        if (!cname_list) {
                err("open class directory");
                return -1;
@@ -274,9 +285,9 @@ static int get_hc_busid(char *sysfs_mntpath, char *hc_busid)
 
        int found = 0;
 
-        snprintf(sdriver_path, SYSFS_PATH_MAX, "%s/%s/platform/%s/%s",
-                                sysfs_mntpath, SYSFS_BUS_NAME, SYSFS_DRIVERS_NAME,
-                                USBIP_VHCI_DRV_NAME);
+        snprintf(sdriver_path, SYSFS_PATH_MAX, "%s/%s/%s/%s/%s", sysfs_mntpath,
+                SYSFS_BUS_NAME, USBIP_VHCI_BUS_TYPE, SYSFS_DRIVERS_NAME,
+                USBIP_VHCI_DRV_NAME);
 
         sdriver = sysfs_open_driver_path(sdriver_path);
         if (!sdriver) {
@@ -333,7 +344,8 @@ int usbip_vhci_driver_open(void)
                goto err;
 
        /* will be freed in usbip_driver_close() */
-       vhci_driver->hc_device = sysfs_open_device("platform", hc_busid);
+       vhci_driver->hc_device = sysfs_open_device(USBIP_VHCI_BUS_TYPE,
+                                                  hc_busid);
        if (!vhci_driver->hc_device) {
                err("get sysfs vhci_driver");
                goto err;
index 3af41c582b3cfe1c7a558d3c5da553696025897a..33955866744914fa8fcdae0132fc043ea8248f1c 100644 (file)
@@ -7,7 +7,7 @@
 
 #include "usbip.h"
 
-
+#define USBIP_VHCI_BUS_TYPE "platform"
 
 #define MAXNPORT 128