Commit 61ad04a8 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

usbfs: simplify the lookup-by-minor routines

This patch (as1105) simplifies the lookup-by-minor-number code in
usbfs.  Instead of passing the minor number to the callback, which
must then reconstruct the entire dev_t value, the patch passes the
dev_t value directly.
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent cd9f0375
...@@ -550,20 +550,16 @@ static int check_ctrlrecip(struct dev_state *ps, unsigned int requesttype, ...@@ -550,20 +550,16 @@ static int check_ctrlrecip(struct dev_state *ps, unsigned int requesttype,
return ret; return ret;
} }
static int __match_minor(struct device *dev, void *data) static int match_devt(struct device *dev, void *data)
{ {
int minor = *((int *)data); return (dev->devt == (dev_t) data);
if (dev->devt == MKDEV(USB_DEVICE_MAJOR, minor))
return 1;
return 0;
} }
static struct usb_device *usbdev_lookup_by_minor(int minor) static struct usb_device *usbdev_lookup_by_devt(dev_t devt)
{ {
struct device *dev; struct device *dev;
dev = bus_find_device(&usb_bus_type, NULL, &minor, __match_minor); dev = bus_find_device(&usb_bus_type, NULL, (void *) devt, match_devt);
if (!dev) if (!dev)
return NULL; return NULL;
put_device(dev); put_device(dev);
...@@ -589,9 +585,10 @@ static int usbdev_open(struct inode *inode, struct file *file) ...@@ -589,9 +585,10 @@ static int usbdev_open(struct inode *inode, struct file *file)
goto out; goto out;
ret = -ENOENT; ret = -ENOENT;
/* usbdev device-node */ /* usbdev device-node */
if (imajor(inode) == USB_DEVICE_MAJOR) if (imajor(inode) == USB_DEVICE_MAJOR)
dev = usbdev_lookup_by_minor(iminor(inode)); dev = usbdev_lookup_by_devt(inode->i_rdev);
#ifdef CONFIG_USB_DEVICEFS #ifdef CONFIG_USB_DEVICEFS
/* procfs file */ /* procfs file */
if (!dev) if (!dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment