diff options
-rw-r--r-- | drivers/usb/class/usblp.c | 3 | ||||
-rw-r--r-- | drivers/usb/core/file.c | 19 | ||||
-rw-r--r-- | drivers/usb/image/mdc800.c | 3 | ||||
-rw-r--r-- | drivers/usb/input/aiptek.c | 2 | ||||
-rw-r--r-- | drivers/usb/input/hiddev.c | 3 | ||||
-rw-r--r-- | drivers/usb/media/dabusb.c | 3 | ||||
-rw-r--r-- | drivers/usb/misc/auerswald.c | 3 | ||||
-rw-r--r-- | drivers/usb/misc/idmouse.c | 5 | ||||
-rw-r--r-- | drivers/usb/misc/legousbtower.c | 5 | ||||
-rw-r--r-- | drivers/usb/misc/rio500.c | 3 | ||||
-rw-r--r-- | drivers/usb/misc/sisusbvga/sisusb.c | 5 | ||||
-rw-r--r-- | drivers/usb/misc/usblcd.c | 9 | ||||
-rw-r--r-- | drivers/usb/usb-skeleton.c | 3 | ||||
-rw-r--r-- | include/linux/usb.h | 7 |
14 files changed, 22 insertions, 51 deletions
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c index e195709c9c7f..357e75335f17 100644 --- a/drivers/usb/class/usblp.c +++ b/drivers/usb/class/usblp.c | |||
@@ -844,9 +844,8 @@ static struct file_operations usblp_fops = { | |||
844 | }; | 844 | }; |
845 | 845 | ||
846 | static struct usb_class_driver usblp_class = { | 846 | static struct usb_class_driver usblp_class = { |
847 | .name = "usb/lp%d", | 847 | .name = "lp%d", |
848 | .fops = &usblp_fops, | 848 | .fops = &usblp_fops, |
849 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP, | ||
850 | .minor_base = USBLP_MINOR_BASE, | 849 | .minor_base = USBLP_MINOR_BASE, |
851 | }; | 850 | }; |
852 | 851 | ||
diff --git a/drivers/usb/core/file.c b/drivers/usb/core/file.c index 78cb4be9529f..e695308095ae 100644 --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c | |||
@@ -17,7 +17,6 @@ | |||
17 | 17 | ||
18 | #include <linux/config.h> | 18 | #include <linux/config.h> |
19 | #include <linux/module.h> | 19 | #include <linux/module.h> |
20 | #include <linux/devfs_fs_kernel.h> | ||
21 | #include <linux/spinlock.h> | 20 | #include <linux/spinlock.h> |
22 | #include <linux/errno.h> | 21 | #include <linux/errno.h> |
23 | 22 | ||
@@ -88,8 +87,6 @@ int usb_major_init(void) | |||
88 | goto out; | 87 | goto out; |
89 | } | 88 | } |
90 | 89 | ||
91 | devfs_mk_dir("usb"); | ||
92 | |||
93 | out: | 90 | out: |
94 | return error; | 91 | return error; |
95 | } | 92 | } |
@@ -97,7 +94,6 @@ out: | |||
97 | void usb_major_cleanup(void) | 94 | void usb_major_cleanup(void) |
98 | { | 95 | { |
99 | class_destroy(usb_class); | 96 | class_destroy(usb_class); |
100 | devfs_remove("usb"); | ||
101 | unregister_chrdev(USB_MAJOR, "usb"); | 97 | unregister_chrdev(USB_MAJOR, "usb"); |
102 | } | 98 | } |
103 | 99 | ||
@@ -112,8 +108,7 @@ void usb_major_cleanup(void) | |||
112 | * enabled, the minor number will be based on the next available free minor, | 108 | * enabled, the minor number will be based on the next available free minor, |
113 | * starting at the class_driver->minor_base. | 109 | * starting at the class_driver->minor_base. |
114 | * | 110 | * |
115 | * This function also creates the devfs file for the usb device, if devfs | 111 | * This function also creates a usb class device in the sysfs tree. |
116 | * is enabled, and creates a usb class device in the sysfs tree. | ||
117 | * | 112 | * |
118 | * usb_deregister_dev() must be called when the driver is done with | 113 | * usb_deregister_dev() must be called when the driver is done with |
119 | * the minor numbers given out by this function. | 114 | * the minor numbers given out by this function. |
@@ -162,11 +157,8 @@ int usb_register_dev(struct usb_interface *intf, | |||
162 | 157 | ||
163 | intf->minor = minor; | 158 | intf->minor = minor; |
164 | 159 | ||
165 | /* handle the devfs registration */ | ||
166 | snprintf(name, BUS_ID_SIZE, class_driver->name, minor - minor_base); | ||
167 | devfs_mk_cdev(MKDEV(USB_MAJOR, minor), class_driver->mode, name); | ||
168 | |||
169 | /* create a usb class device for this usb interface */ | 160 | /* create a usb class device for this usb interface */ |
161 | snprintf(name, BUS_ID_SIZE, class_driver->name, minor - minor_base); | ||
170 | temp = strrchr(name, '/'); | 162 | temp = strrchr(name, '/'); |
171 | if (temp && (temp[1] != 0x00)) | 163 | if (temp && (temp[1] != 0x00)) |
172 | ++temp; | 164 | ++temp; |
@@ -179,7 +171,6 @@ int usb_register_dev(struct usb_interface *intf, | |||
179 | spin_lock (&minor_lock); | 171 | spin_lock (&minor_lock); |
180 | usb_minors[intf->minor] = NULL; | 172 | usb_minors[intf->minor] = NULL; |
181 | spin_unlock (&minor_lock); | 173 | spin_unlock (&minor_lock); |
182 | devfs_remove (name); | ||
183 | retval = PTR_ERR(intf->class_dev); | 174 | retval = PTR_ERR(intf->class_dev); |
184 | } | 175 | } |
185 | exit: | 176 | exit: |
@@ -197,9 +188,8 @@ EXPORT_SYMBOL(usb_register_dev); | |||
197 | * call to usb_register_dev() (usually when the device is disconnected | 188 | * call to usb_register_dev() (usually when the device is disconnected |
198 | * from the system.) | 189 | * from the system.) |
199 | * | 190 | * |
200 | * This function also cleans up the devfs file for the usb device, if devfs | 191 | * This function also removes the usb class device from the sysfs tree. |
201 | * is enabled, and removes the usb class device from the sysfs tree. | 192 | * |
202 | * | ||
203 | * This should be called by all drivers that use the USB major number. | 193 | * This should be called by all drivers that use the USB major number. |
204 | */ | 194 | */ |
205 | void usb_deregister_dev(struct usb_interface *intf, | 195 | void usb_deregister_dev(struct usb_interface *intf, |
@@ -222,7 +212,6 @@ void usb_deregister_dev(struct usb_interface *intf, | |||
222 | spin_unlock (&minor_lock); | 212 | spin_unlock (&minor_lock); |
223 | 213 | ||
224 | snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base); | 214 | snprintf(name, BUS_ID_SIZE, class_driver->name, intf->minor - minor_base); |
225 | devfs_remove (name); | ||
226 | class_device_destroy(usb_class, MKDEV(USB_MAJOR, intf->minor)); | 215 | class_device_destroy(usb_class, MKDEV(USB_MAJOR, intf->minor)); |
227 | intf->class_dev = NULL; | 216 | intf->class_dev = NULL; |
228 | intf->minor = -1; | 217 | intf->minor = -1; |
diff --git a/drivers/usb/image/mdc800.c b/drivers/usb/image/mdc800.c index a330a4b50e16..e4ec133ee74a 100644 --- a/drivers/usb/image/mdc800.c +++ b/drivers/usb/image/mdc800.c | |||
@@ -425,9 +425,8 @@ static void mdc800_usb_download_notify (struct urb *urb, struct pt_regs *res) | |||
425 | static struct usb_driver mdc800_usb_driver; | 425 | static struct usb_driver mdc800_usb_driver; |
426 | static struct file_operations mdc800_device_ops; | 426 | static struct file_operations mdc800_device_ops; |
427 | static struct usb_class_driver mdc800_class = { | 427 | static struct usb_class_driver mdc800_class = { |
428 | .name = "usb/mdc800%d", | 428 | .name = "mdc800%d", |
429 | .fops = &mdc800_device_ops, | 429 | .fops = &mdc800_device_ops, |
430 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP, | ||
431 | .minor_base = MDC800_DEVICE_MINOR_BASE, | 430 | .minor_base = MDC800_DEVICE_MINOR_BASE, |
432 | }; | 431 | }; |
433 | 432 | ||
diff --git a/drivers/usb/input/aiptek.c b/drivers/usb/input/aiptek.c index 1c5205321d83..1c3b472a3bca 100644 --- a/drivers/usb/input/aiptek.c +++ b/drivers/usb/input/aiptek.c | |||
@@ -2154,7 +2154,7 @@ aiptek_probe(struct usb_interface *intf, const struct usb_device_id *id) | |||
2154 | * input_handles associated with this input device. | 2154 | * input_handles associated with this input device. |
2155 | * What identifies an evdev input_handler is that it begins | 2155 | * What identifies an evdev input_handler is that it begins |
2156 | * with 'event', continues with a digit, and that in turn | 2156 | * with 'event', continues with a digit, and that in turn |
2157 | * is mapped to /{devfs}/input/eventN. | 2157 | * is mapped to input/eventN. |
2158 | */ | 2158 | */ |
2159 | list_for_each_safe(node, next, &inputdev->h_list) { | 2159 | list_for_each_safe(node, next, &inputdev->h_list) { |
2160 | inputhandle = to_handle(node); | 2160 | inputhandle = to_handle(node); |
diff --git a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c index d32427818af7..440377c7a0da 100644 --- a/drivers/usb/input/hiddev.c +++ b/drivers/usb/input/hiddev.c | |||
@@ -732,9 +732,8 @@ static struct file_operations hiddev_fops = { | |||
732 | }; | 732 | }; |
733 | 733 | ||
734 | static struct usb_class_driver hiddev_class = { | 734 | static struct usb_class_driver hiddev_class = { |
735 | .name = "usb/hid/hiddev%d", | 735 | .name = "hiddev%d", |
736 | .fops = &hiddev_fops, | 736 | .fops = &hiddev_fops, |
737 | .mode = S_IFCHR | S_IRUGO | S_IWUSR, | ||
738 | .minor_base = HIDDEV_MINOR_BASE, | 737 | .minor_base = HIDDEV_MINOR_BASE, |
739 | }; | 738 | }; |
740 | 739 | ||
diff --git a/drivers/usb/media/dabusb.c b/drivers/usb/media/dabusb.c index 6ca2fae99d2d..27b23c55bbc7 100644 --- a/drivers/usb/media/dabusb.c +++ b/drivers/usb/media/dabusb.c | |||
@@ -707,9 +707,8 @@ static struct file_operations dabusb_fops = | |||
707 | }; | 707 | }; |
708 | 708 | ||
709 | static struct usb_class_driver dabusb_class = { | 709 | static struct usb_class_driver dabusb_class = { |
710 | .name = "usb/dabusb%d", | 710 | .name = "dabusb%d", |
711 | .fops = &dabusb_fops, | 711 | .fops = &dabusb_fops, |
712 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP, | ||
713 | .minor_base = DABUSB_MINOR, | 712 | .minor_base = DABUSB_MINOR, |
714 | }; | 713 | }; |
715 | 714 | ||
diff --git a/drivers/usb/misc/auerswald.c b/drivers/usb/misc/auerswald.c index ae4681f9f0ea..5f33f7c64885 100644 --- a/drivers/usb/misc/auerswald.c +++ b/drivers/usb/misc/auerswald.c | |||
@@ -1873,9 +1873,8 @@ static struct file_operations auerswald_fops = | |||
1873 | }; | 1873 | }; |
1874 | 1874 | ||
1875 | static struct usb_class_driver auerswald_class = { | 1875 | static struct usb_class_driver auerswald_class = { |
1876 | .name = "usb/auer%d", | 1876 | .name = "auer%d", |
1877 | .fops = &auerswald_fops, | 1877 | .fops = &auerswald_fops, |
1878 | .mode = S_IFCHR | S_IRUGO | S_IWUGO, | ||
1879 | .minor_base = AUER_MINOR_BASE, | 1878 | .minor_base = AUER_MINOR_BASE, |
1880 | }; | 1879 | }; |
1881 | 1880 | ||
diff --git a/drivers/usb/misc/idmouse.c b/drivers/usb/misc/idmouse.c index 733acc213726..3944a55ed74c 100644 --- a/drivers/usb/misc/idmouse.c +++ b/drivers/usb/misc/idmouse.c | |||
@@ -105,11 +105,10 @@ static struct file_operations idmouse_fops = { | |||
105 | .release = idmouse_release, | 105 | .release = idmouse_release, |
106 | }; | 106 | }; |
107 | 107 | ||
108 | /* class driver information for devfs */ | 108 | /* class driver information */ |
109 | static struct usb_class_driver idmouse_class = { | 109 | static struct usb_class_driver idmouse_class = { |
110 | .name = "usb/idmouse%d", | 110 | .name = "idmouse%d", |
111 | .fops = &idmouse_fops, | 111 | .fops = &idmouse_fops, |
112 | .mode = S_IFCHR | S_IRUSR | S_IRGRP | S_IROTH, /* filemode (char, 444) */ | ||
113 | .minor_base = USB_IDMOUSE_MINOR_BASE, | 112 | .minor_base = USB_IDMOUSE_MINOR_BASE, |
114 | }; | 113 | }; |
115 | 114 | ||
diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c index 7d06105763d4..2703e205bc8f 100644 --- a/drivers/usb/misc/legousbtower.c +++ b/drivers/usb/misc/legousbtower.c | |||
@@ -271,12 +271,11 @@ static struct file_operations tower_fops = { | |||
271 | 271 | ||
272 | /* | 272 | /* |
273 | * usb class driver info in order to get a minor number from the usb core, | 273 | * usb class driver info in order to get a minor number from the usb core, |
274 | * and to have the device registered with devfs and the driver core | 274 | * and to have the device registered with the driver core |
275 | */ | 275 | */ |
276 | static struct usb_class_driver tower_class = { | 276 | static struct usb_class_driver tower_class = { |
277 | .name = "usb/legousbtower%d", | 277 | .name = "legousbtower%d", |
278 | .fops = &tower_fops, | 278 | .fops = &tower_fops, |
279 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH, | ||
280 | .minor_base = LEGO_USB_TOWER_MINOR_BASE, | 279 | .minor_base = LEGO_USB_TOWER_MINOR_BASE, |
281 | }; | 280 | }; |
282 | 281 | ||
diff --git a/drivers/usb/misc/rio500.c b/drivers/usb/misc/rio500.c index 26f77e29c7a6..7d02d8ec6b1a 100644 --- a/drivers/usb/misc/rio500.c +++ b/drivers/usb/misc/rio500.c | |||
@@ -443,9 +443,8 @@ file_operations usb_rio_fops = { | |||
443 | }; | 443 | }; |
444 | 444 | ||
445 | static struct usb_class_driver usb_rio_class = { | 445 | static struct usb_class_driver usb_rio_class = { |
446 | .name = "usb/rio500%d", | 446 | .name = "rio500%d", |
447 | .fops = &usb_rio_fops, | 447 | .fops = &usb_rio_fops, |
448 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP, | ||
449 | .minor_base = RIO_MINOR, | 448 | .minor_base = RIO_MINOR, |
450 | }; | 449 | }; |
451 | 450 | ||
diff --git a/drivers/usb/misc/sisusbvga/sisusb.c b/drivers/usb/misc/sisusbvga/sisusb.c index 39db3155723a..222ae9cd4c7c 100644 --- a/drivers/usb/misc/sisusbvga/sisusb.c +++ b/drivers/usb/misc/sisusbvga/sisusb.c | |||
@@ -3239,12 +3239,7 @@ static struct file_operations usb_sisusb_fops = { | |||
3239 | }; | 3239 | }; |
3240 | 3240 | ||
3241 | static struct usb_class_driver usb_sisusb_class = { | 3241 | static struct usb_class_driver usb_sisusb_class = { |
3242 | #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,13) | ||
3243 | .name = "usb/sisusbvga%d", | ||
3244 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP, | ||
3245 | #else | ||
3246 | .name = "sisusbvga%d", | 3242 | .name = "sisusbvga%d", |
3247 | #endif | ||
3248 | .fops = &usb_sisusb_fops, | 3243 | .fops = &usb_sisusb_fops, |
3249 | .minor_base = SISUSB_MINOR | 3244 | .minor_base = SISUSB_MINOR |
3250 | }; | 3245 | }; |
diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c index 096ab3029676..85f3725334b0 100644 --- a/drivers/usb/misc/usblcd.c +++ b/drivers/usb/misc/usblcd.c | |||
@@ -251,13 +251,12 @@ static struct file_operations lcd_fops = { | |||
251 | }; | 251 | }; |
252 | 252 | ||
253 | /* | 253 | /* |
254 | * * usb class driver info in order to get a minor number from the usb core, | 254 | * usb class driver info in order to get a minor number from the usb core, |
255 | * * and to have the device registered with devfs and the driver core | 255 | * and to have the device registered with the driver core |
256 | * */ | 256 | */ |
257 | static struct usb_class_driver lcd_class = { | 257 | static struct usb_class_driver lcd_class = { |
258 | .name = "usb/lcd%d", | 258 | .name = "lcd%d", |
259 | .fops = &lcd_fops, | 259 | .fops = &lcd_fops, |
260 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH, | ||
261 | .minor_base = USBLCD_MINOR, | 260 | .minor_base = USBLCD_MINOR, |
262 | }; | 261 | }; |
263 | 262 | ||
diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c index 353f24d45bc1..6c3a53f8f26c 100644 --- a/drivers/usb/usb-skeleton.c +++ b/drivers/usb/usb-skeleton.c | |||
@@ -223,9 +223,8 @@ static struct file_operations skel_fops = { | |||
223 | * and to have the device registered with devfs and the driver core | 223 | * and to have the device registered with devfs and the driver core |
224 | */ | 224 | */ |
225 | static struct usb_class_driver skel_class = { | 225 | static struct usb_class_driver skel_class = { |
226 | .name = "usb/skel%d", | 226 | .name = "skel%d", |
227 | .fops = &skel_fops, | 227 | .fops = &skel_fops, |
228 | .mode = S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH, | ||
229 | .minor_base = USB_SKEL_MINOR_BASE, | 228 | .minor_base = USB_SKEL_MINOR_BASE, |
230 | }; | 229 | }; |
231 | 230 | ||
diff --git a/include/linux/usb.h b/include/linux/usb.h index 4512210e97e7..04502e183dd1 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -576,10 +576,8 @@ extern struct bus_type usb_bus_type; | |||
576 | 576 | ||
577 | /** | 577 | /** |
578 | * struct usb_class_driver - identifies a USB driver that wants to use the USB major number | 578 | * struct usb_class_driver - identifies a USB driver that wants to use the USB major number |
579 | * @name: devfs name for this driver. Will also be used by the driver | 579 | * @name: the usb class device name for this driver. Will show up in sysfs. |
580 | * class code to create a usb class device. | ||
581 | * @fops: pointer to the struct file_operations of this driver. | 580 | * @fops: pointer to the struct file_operations of this driver. |
582 | * @mode: the mode for the devfs file to be created for this driver. | ||
583 | * @minor_base: the start of the minor range for this driver. | 581 | * @minor_base: the start of the minor range for this driver. |
584 | * | 582 | * |
585 | * This structure is used for the usb_register_dev() and | 583 | * This structure is used for the usb_register_dev() and |
@@ -589,8 +587,7 @@ extern struct bus_type usb_bus_type; | |||
589 | struct usb_class_driver { | 587 | struct usb_class_driver { |
590 | char *name; | 588 | char *name; |
591 | struct file_operations *fops; | 589 | struct file_operations *fops; |
592 | mode_t mode; | 590 | int minor_base; |
593 | int minor_base; | ||
594 | }; | 591 | }; |
595 | 592 | ||
596 | /* | 593 | /* |