Commit 61ad04a89f0e3e6adaed0d9adfc0c9b431ccbb92

Authored by Alan Stern
Committed by Greg Kroah-Hartman
1 parent cd9f03759d

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: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Showing 1 changed file with 6 additions and 9 deletions Side-by-side Diff

drivers/usb/core/devio.c
... ... @@ -550,20 +550,16 @@
550 550 return ret;
551 551 }
552 552  
553   -static int __match_minor(struct device *dev, void *data)
  553 +static int match_devt(struct device *dev, void *data)
554 554 {
555   - int minor = *((int *)data);
556   -
557   - if (dev->devt == MKDEV(USB_DEVICE_MAJOR, minor))
558   - return 1;
559   - return 0;
  555 + return (dev->devt == (dev_t) data);
560 556 }
561 557  
562   -static struct usb_device *usbdev_lookup_by_minor(int minor)
  558 +static struct usb_device *usbdev_lookup_by_devt(dev_t devt)
563 559 {
564 560 struct device *dev;
565 561  
566   - dev = bus_find_device(&usb_bus_type, NULL, &minor, __match_minor);
  562 + dev = bus_find_device(&usb_bus_type, NULL, (void *) devt, match_devt);
567 563 if (!dev)
568 564 return NULL;
569 565 put_device(dev);
570 566  
... ... @@ -589,9 +585,10 @@
589 585 goto out;
590 586  
591 587 ret = -ENOENT;
  588 +
592 589 /* usbdev device-node */
593 590 if (imajor(inode) == USB_DEVICE_MAJOR)
594   - dev = usbdev_lookup_by_minor(iminor(inode));
  591 + dev = usbdev_lookup_by_devt(inode->i_rdev);
595 592 #ifdef CONFIG_USB_DEVICEFS
596 593 /* procfs file */
597 594 if (!dev)