Skip to content

Commit

Permalink
userspace: change struct class_device to usbip_class_device
Browse files Browse the repository at this point in the history
Rename class_device struct to avoid confusion and change member names.

Signed-off-by: matt mooney <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
mfmooney authored and george-hopkins committed Sep 14, 2017
1 parent 497eb1e commit fa3f80b
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 34 deletions.
48 changes: 25 additions & 23 deletions userspace/libsrc/vhci_driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,12 @@ static struct usbip_imported_device *imported_device_init(struct usbip_imported_
sysfs_close_device(sudev);

/* add class devices of this imported device */
struct class_device *cdev;
dlist_for_each_data(vhci_driver->cdev_list, cdev, struct class_device) {
if (!strncmp(cdev->devpath, idev->udev.path, strlen(idev->udev.path))) {
struct class_device *new_cdev;
struct usbip_class_device *cdev;
dlist_for_each_data(vhci_driver->cdev_list, cdev,
struct usbip_class_device) {
if (!strncmp(cdev->dev_path, idev->udev.path,
strlen(idev->udev.path))) {
struct usbip_class_device *new_cdev;

/* alloc and copy because dlist is linked from only one list */
new_cdev = calloc(1, sizeof(*new_cdev));
Expand Down Expand Up @@ -87,7 +89,7 @@ static int parse_status(char *value)
idev->busnum = (devid >> 16);
idev->devnum = (devid & 0x0000ffff);

idev->cdev_list = dlist_new(sizeof(struct class_device));
idev->cdev_list = dlist_new(sizeof(struct usbip_class_device));
if (!idev->cdev_list) {
err("init new device");
return -1;
Expand Down Expand Up @@ -115,29 +117,29 @@ static int parse_status(char *value)

static int check_usbip_device(struct sysfs_class_device *cdev)
{
char clspath[SYSFS_PATH_MAX]; /* /sys/class/video4linux/video0/device */
char devpath[SYSFS_PATH_MAX]; /* /sys/devices/platform/vhci_hcd/usb6/6-1:1.1 */

char class_path[SYSFS_PATH_MAX]; /* /sys/class/video4linux/video0/device */
char dev_path[SYSFS_PATH_MAX]; /* /sys/devices/platform/vhci_hcd/usb6/6-1:1.1 */
int ret;
struct usbip_class_device *usbip_cdev;

snprintf(clspath, sizeof(clspath), "%s/device", cdev->path);
snprintf(class_path, sizeof(class_path), "%s/device", cdev->path);

ret = sysfs_get_link(clspath, devpath, SYSFS_PATH_MAX);
if (!ret) {
if (!strncmp(devpath, vhci_driver->hc_device->path,
strlen(vhci_driver->hc_device->path))) {
ret = sysfs_get_link(class_path, dev_path, sizeof(dev_path));
if (ret == 0) {
if (!strncmp(dev_path, vhci_driver->hc_device->path,
strlen(vhci_driver->hc_device->path))) {
/* found usbip device */
struct class_device *cdev;

cdev = calloc(1, sizeof(*cdev));
usbip_cdev = calloc(1, sizeof(*usbip_cdev));
if (!cdev) {
err("calloc cdev");
err("calloc usbip_cdev");
return -1;
}
dlist_unshift(vhci_driver->cdev_list, (void*) cdev);
strncpy(cdev->clspath, clspath, sizeof(cdev->clspath));
strncpy(cdev->devpath, devpath, sizeof(cdev->clspath));
dbg(" found %s %s", clspath, devpath);
dlist_unshift(vhci_driver->cdev_list, usbip_cdev);
strncpy(usbip_cdev->class_path, class_path,
sizeof(usbip_cdev->class_path));
strncpy(usbip_cdev->dev_path, dev_path,
sizeof(usbip_cdev->dev_path));
dbg(" found %s %s", class_path, dev_path);
}
}

Expand Down Expand Up @@ -341,7 +343,7 @@ int usbip_vhci_driver_open(void)

info("%d ports available\n", vhci_driver->nports);

vhci_driver->cdev_list = dlist_new(sizeof(struct class_device));
vhci_driver->cdev_list = dlist_new(sizeof(struct usbip_class_device));
if (!vhci_driver->cdev_list)
goto err;

Expand Down Expand Up @@ -404,7 +406,7 @@ int usbip_vhci_refresh_device_list(void)
dlist_destroy(vhci_driver->idev[i].cdev_list);
}

vhci_driver->cdev_list = dlist_new(sizeof(struct class_device));
vhci_driver->cdev_list = dlist_new(sizeof(struct usbip_class_device));
if (!vhci_driver->cdev_list)
goto err;

Expand Down
17 changes: 10 additions & 7 deletions userspace/libsrc/vhci_driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

#define MAXNPORT 128

struct class_device {
char clspath[SYSFS_PATH_MAX];
char devpath[SYSFS_PATH_MAX];
struct usbip_class_device {
char class_path[SYSFS_PATH_MAX];
char dev_path[SYSFS_PATH_MAX];
};

struct usbip_imported_device {
Expand All @@ -25,16 +25,19 @@ struct usbip_imported_device {
uint8_t busnum;
uint8_t devnum;


struct dlist *cdev_list; /* list of class device */
/* usbip_class_device list */
struct dlist *cdev_list;
struct usb_device udev;
};

struct usbip_vhci_driver {
char sysfs_mntpath[SYSFS_PATH_MAX];
struct sysfs_device *hc_device; /* /sys/devices/platform/vhci_hcd */

struct dlist *cdev_list; /* list of class device */
/* /sys/devices/platform/vhci_hcd */
struct sysfs_device *hc_device;

/* usbip_class_device list */
struct dlist *cdev_list;

int nports;
struct usbip_imported_device idev[MAXNPORT];
Expand Down
9 changes: 5 additions & 4 deletions userspace/src/usbip.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,12 +179,13 @@ int usbip_vhci_imported_device_dump(struct usbip_imported_device *idev)
sysfs_close_device(suinf);

/* show class device information */
struct class_device *cdev;
struct usbip_class_device *cdev;

dlist_for_each_data(idev->cdev_list, cdev, struct class_device) {
int ifnum = get_interface_number(cdev->devpath);
dlist_for_each_data(idev->cdev_list, cdev,
struct usbip_class_device) {
int ifnum = get_interface_number(cdev->dev_path);
if (ifnum == i) {
info(" %s", cdev->clspath);
info(" %s", cdev->class_path);
}
}
}
Expand Down

0 comments on commit fa3f80b

Please sign in to comment.