Commit 61ad04a89f0e3e6adaed0d9adfc0c9b431ccbb92
Committed by
Greg Kroah-Hartman
1 parent
cd9f03759d
Exists in
master
and in
20 other branches
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) |