diff options
| -rw-r--r-- | Documentation/feature-removal-schedule.txt | 16 | ||||
| -rw-r--r-- | drivers/usb/core/driver.c | 10 | ||||
| -rw-r--r-- | drivers/usb/core/file.c | 4 | ||||
| -rw-r--r-- | drivers/usb/core/hcd-pci.c | 10 | ||||
| -rw-r--r-- | drivers/usb/core/hcd.c | 18 | ||||
| -rw-r--r-- | drivers/usb/core/hub.c | 5 | ||||
| -rw-r--r-- | drivers/usb/core/message.c | 32 | ||||
| -rw-r--r-- | drivers/usb/core/urb.c | 15 | ||||
| -rw-r--r-- | drivers/usb/core/usb.c | 62 |
9 files changed, 61 insertions, 111 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index 181bff005167..a7d9d179131a 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
| @@ -156,22 +156,6 @@ Who: Arjan van de Ven <arjan@linux.intel.com> | |||
| 156 | 156 | ||
| 157 | --------------------------- | 157 | --------------------------- |
| 158 | 158 | ||
| 159 | What: USB driver API moves to EXPORT_SYMBOL_GPL | ||
| 160 | When: February 2008 | ||
| 161 | Files: include/linux/usb.h, drivers/usb/core/driver.c | ||
| 162 | Why: The USB subsystem has changed a lot over time, and it has been | ||
| 163 | possible to create userspace USB drivers using usbfs/libusb/gadgetfs | ||
| 164 | that operate as fast as the USB bus allows. Because of this, the USB | ||
| 165 | subsystem will not be allowing closed source kernel drivers to | ||
| 166 | register with it, after this grace period is over. If anyone needs | ||
| 167 | any help in converting their closed source drivers over to use the | ||
| 168 | userspace filesystems, please contact the | ||
| 169 | linux-usb-devel@lists.sourceforge.net mailing list, and the developers | ||
| 170 | there will be glad to help you out. | ||
| 171 | Who: Greg Kroah-Hartman <gregkh@suse.de> | ||
| 172 | |||
| 173 | --------------------------- | ||
| 174 | |||
| 175 | What: vm_ops.nopage | 159 | What: vm_ops.nopage |
| 176 | When: Soon, provided in-kernel callers have been converted | 160 | When: Soon, provided in-kernel callers have been converted |
| 177 | Why: This interface is replaced by vm_ops.fault, but it has been around | 161 | Why: This interface is replaced by vm_ops.fault, but it has been around |
diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c index 96d3f852f4ad..7e7f2c42494c 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c | |||
| @@ -325,7 +325,7 @@ int usb_driver_claim_interface(struct usb_driver *driver, | |||
| 325 | 325 | ||
| 326 | return retval; | 326 | return retval; |
| 327 | } | 327 | } |
| 328 | EXPORT_SYMBOL(usb_driver_claim_interface); | 328 | EXPORT_SYMBOL_GPL(usb_driver_claim_interface); |
| 329 | 329 | ||
| 330 | /** | 330 | /** |
| 331 | * usb_driver_release_interface - unbind a driver from an interface | 331 | * usb_driver_release_interface - unbind a driver from an interface |
| @@ -370,7 +370,7 @@ void usb_driver_release_interface(struct usb_driver *driver, | |||
| 370 | iface->needs_remote_wakeup = 0; | 370 | iface->needs_remote_wakeup = 0; |
| 371 | usb_pm_unlock(udev); | 371 | usb_pm_unlock(udev); |
| 372 | } | 372 | } |
| 373 | EXPORT_SYMBOL(usb_driver_release_interface); | 373 | EXPORT_SYMBOL_GPL(usb_driver_release_interface); |
| 374 | 374 | ||
| 375 | /* returns 0 if no match, 1 if match */ | 375 | /* returns 0 if no match, 1 if match */ |
| 376 | int usb_match_device(struct usb_device *dev, const struct usb_device_id *id) | 376 | int usb_match_device(struct usb_device *dev, const struct usb_device_id *id) |
| @@ -542,7 +542,7 @@ const struct usb_device_id *usb_match_id(struct usb_interface *interface, | |||
| 542 | 542 | ||
| 543 | return NULL; | 543 | return NULL; |
| 544 | } | 544 | } |
| 545 | EXPORT_SYMBOL_GPL_FUTURE(usb_match_id); | 545 | EXPORT_SYMBOL_GPL(usb_match_id); |
| 546 | 546 | ||
| 547 | static int usb_device_match(struct device *dev, struct device_driver *drv) | 547 | static int usb_device_match(struct device *dev, struct device_driver *drv) |
| 548 | { | 548 | { |
| @@ -745,7 +745,7 @@ int usb_register_driver(struct usb_driver *new_driver, struct module *owner, | |||
| 745 | 745 | ||
| 746 | return retval; | 746 | return retval; |
| 747 | } | 747 | } |
| 748 | EXPORT_SYMBOL_GPL_FUTURE(usb_register_driver); | 748 | EXPORT_SYMBOL_GPL(usb_register_driver); |
| 749 | 749 | ||
| 750 | /** | 750 | /** |
| 751 | * usb_deregister - unregister a USB interface driver | 751 | * usb_deregister - unregister a USB interface driver |
| @@ -769,7 +769,7 @@ void usb_deregister(struct usb_driver *driver) | |||
| 769 | 769 | ||
| 770 | usbfs_update_special(); | 770 | usbfs_update_special(); |
| 771 | } | 771 | } |
| 772 | EXPORT_SYMBOL_GPL_FUTURE(usb_deregister); | 772 | EXPORT_SYMBOL_GPL(usb_deregister); |
| 773 | 773 | ||
| 774 | #ifdef CONFIG_PM | 774 | #ifdef CONFIG_PM |
| 775 | 775 | ||
diff --git a/drivers/usb/core/file.c b/drivers/usb/core/file.c index 5d860bc9b421..8133c99c6c5c 100644 --- a/drivers/usb/core/file.c +++ b/drivers/usb/core/file.c | |||
| @@ -204,7 +204,7 @@ int usb_register_dev(struct usb_interface *intf, | |||
| 204 | exit: | 204 | exit: |
| 205 | return retval; | 205 | return retval; |
| 206 | } | 206 | } |
| 207 | EXPORT_SYMBOL(usb_register_dev); | 207 | EXPORT_SYMBOL_GPL(usb_register_dev); |
| 208 | 208 | ||
| 209 | /** | 209 | /** |
| 210 | * usb_deregister_dev - deregister a USB device's dynamic minor. | 210 | * usb_deregister_dev - deregister a USB device's dynamic minor. |
| @@ -245,4 +245,4 @@ void usb_deregister_dev(struct usb_interface *intf, | |||
| 245 | intf->minor = -1; | 245 | intf->minor = -1; |
| 246 | destroy_usb_class(); | 246 | destroy_usb_class(); |
| 247 | } | 247 | } |
| 248 | EXPORT_SYMBOL(usb_deregister_dev); | 248 | EXPORT_SYMBOL_GPL(usb_deregister_dev); |
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index 424674203fd3..851d5e1625d9 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c | |||
| @@ -144,7 +144,7 @@ int usb_hcd_pci_probe (struct pci_dev *dev, const struct pci_device_id *id) | |||
| 144 | dev_err (&dev->dev, "init %s fail, %d\n", pci_name(dev), retval); | 144 | dev_err (&dev->dev, "init %s fail, %d\n", pci_name(dev), retval); |
| 145 | return retval; | 145 | return retval; |
| 146 | } | 146 | } |
| 147 | EXPORT_SYMBOL (usb_hcd_pci_probe); | 147 | EXPORT_SYMBOL_GPL(usb_hcd_pci_probe); |
| 148 | 148 | ||
| 149 | 149 | ||
| 150 | /* may be called without controller electrically present */ | 150 | /* may be called without controller electrically present */ |
| @@ -179,7 +179,7 @@ void usb_hcd_pci_remove (struct pci_dev *dev) | |||
| 179 | usb_put_hcd (hcd); | 179 | usb_put_hcd (hcd); |
| 180 | pci_disable_device(dev); | 180 | pci_disable_device(dev); |
| 181 | } | 181 | } |
| 182 | EXPORT_SYMBOL (usb_hcd_pci_remove); | 182 | EXPORT_SYMBOL_GPL(usb_hcd_pci_remove); |
| 183 | 183 | ||
| 184 | 184 | ||
| 185 | #ifdef CONFIG_PM | 185 | #ifdef CONFIG_PM |
| @@ -314,7 +314,7 @@ done: | |||
| 314 | 314 | ||
| 315 | return retval; | 315 | return retval; |
| 316 | } | 316 | } |
| 317 | EXPORT_SYMBOL (usb_hcd_pci_suspend); | 317 | EXPORT_SYMBOL_GPL(usb_hcd_pci_suspend); |
| 318 | 318 | ||
| 319 | /** | 319 | /** |
| 320 | * usb_hcd_pci_resume - power management resume of a PCI-based HCD | 320 | * usb_hcd_pci_resume - power management resume of a PCI-based HCD |
| @@ -416,7 +416,7 @@ int usb_hcd_pci_resume (struct pci_dev *dev) | |||
| 416 | 416 | ||
| 417 | return retval; | 417 | return retval; |
| 418 | } | 418 | } |
| 419 | EXPORT_SYMBOL (usb_hcd_pci_resume); | 419 | EXPORT_SYMBOL_GPL(usb_hcd_pci_resume); |
| 420 | 420 | ||
| 421 | #endif /* CONFIG_PM */ | 421 | #endif /* CONFIG_PM */ |
| 422 | 422 | ||
| @@ -435,5 +435,5 @@ void usb_hcd_pci_shutdown (struct pci_dev *dev) | |||
| 435 | if (hcd->driver->shutdown) | 435 | if (hcd->driver->shutdown) |
| 436 | hcd->driver->shutdown(hcd); | 436 | hcd->driver->shutdown(hcd); |
| 437 | } | 437 | } |
| 438 | EXPORT_SYMBOL (usb_hcd_pci_shutdown); | 438 | EXPORT_SYMBOL_GPL(usb_hcd_pci_shutdown); |
| 439 | 439 | ||
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index a1906908d3b1..e52ed1663b3c 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c | |||
| @@ -971,7 +971,7 @@ long usb_calc_bus_time (int speed, int is_input, int isoc, int bytecount) | |||
| 971 | return -1; | 971 | return -1; |
| 972 | } | 972 | } |
| 973 | } | 973 | } |
| 974 | EXPORT_SYMBOL (usb_calc_bus_time); | 974 | EXPORT_SYMBOL_GPL(usb_calc_bus_time); |
| 975 | 975 | ||
| 976 | 976 | ||
| 977 | /*-------------------------------------------------------------------------*/ | 977 | /*-------------------------------------------------------------------------*/ |
| @@ -1427,7 +1427,7 @@ void usb_hcd_giveback_urb(struct usb_hcd *hcd, struct urb *urb, int status) | |||
| 1427 | wake_up (&usb_kill_urb_queue); | 1427 | wake_up (&usb_kill_urb_queue); |
| 1428 | usb_put_urb (urb); | 1428 | usb_put_urb (urb); |
| 1429 | } | 1429 | } |
| 1430 | EXPORT_SYMBOL (usb_hcd_giveback_urb); | 1430 | EXPORT_SYMBOL_GPL(usb_hcd_giveback_urb); |
| 1431 | 1431 | ||
| 1432 | /*-------------------------------------------------------------------------*/ | 1432 | /*-------------------------------------------------------------------------*/ |
| 1433 | 1433 | ||
| @@ -1667,7 +1667,7 @@ int usb_bus_start_enum(struct usb_bus *bus, unsigned port_num) | |||
| 1667 | mod_timer(&hcd->rh_timer, jiffies + msecs_to_jiffies(10)); | 1667 | mod_timer(&hcd->rh_timer, jiffies + msecs_to_jiffies(10)); |
| 1668 | return status; | 1668 | return status; |
| 1669 | } | 1669 | } |
| 1670 | EXPORT_SYMBOL (usb_bus_start_enum); | 1670 | EXPORT_SYMBOL_GPL(usb_bus_start_enum); |
| 1671 | 1671 | ||
| 1672 | #endif | 1672 | #endif |
| 1673 | 1673 | ||
| @@ -1774,7 +1774,7 @@ struct usb_hcd *usb_create_hcd (const struct hc_driver *driver, | |||
| 1774 | "USB Host Controller"; | 1774 | "USB Host Controller"; |
| 1775 | return hcd; | 1775 | return hcd; |
| 1776 | } | 1776 | } |
| 1777 | EXPORT_SYMBOL (usb_create_hcd); | 1777 | EXPORT_SYMBOL_GPL(usb_create_hcd); |
| 1778 | 1778 | ||
| 1779 | static void hcd_release (struct kref *kref) | 1779 | static void hcd_release (struct kref *kref) |
| 1780 | { | 1780 | { |
| @@ -1789,14 +1789,14 @@ struct usb_hcd *usb_get_hcd (struct usb_hcd *hcd) | |||
| 1789 | kref_get (&hcd->kref); | 1789 | kref_get (&hcd->kref); |
| 1790 | return hcd; | 1790 | return hcd; |
| 1791 | } | 1791 | } |
| 1792 | EXPORT_SYMBOL (usb_get_hcd); | 1792 | EXPORT_SYMBOL_GPL(usb_get_hcd); |
| 1793 | 1793 | ||
| 1794 | void usb_put_hcd (struct usb_hcd *hcd) | 1794 | void usb_put_hcd (struct usb_hcd *hcd) |
| 1795 | { | 1795 | { |
| 1796 | if (hcd) | 1796 | if (hcd) |
| 1797 | kref_put (&hcd->kref, hcd_release); | 1797 | kref_put (&hcd->kref, hcd_release); |
| 1798 | } | 1798 | } |
| 1799 | EXPORT_SYMBOL (usb_put_hcd); | 1799 | EXPORT_SYMBOL_GPL(usb_put_hcd); |
| 1800 | 1800 | ||
| 1801 | /** | 1801 | /** |
| 1802 | * usb_add_hcd - finish generic HCD structure initialization and register | 1802 | * usb_add_hcd - finish generic HCD structure initialization and register |
| @@ -1922,7 +1922,7 @@ err_register_bus: | |||
| 1922 | hcd_buffer_destroy(hcd); | 1922 | hcd_buffer_destroy(hcd); |
| 1923 | return retval; | 1923 | return retval; |
| 1924 | } | 1924 | } |
| 1925 | EXPORT_SYMBOL (usb_add_hcd); | 1925 | EXPORT_SYMBOL_GPL(usb_add_hcd); |
| 1926 | 1926 | ||
| 1927 | /** | 1927 | /** |
| 1928 | * usb_remove_hcd - shutdown processing for generic HCDs | 1928 | * usb_remove_hcd - shutdown processing for generic HCDs |
| @@ -1964,7 +1964,7 @@ void usb_remove_hcd(struct usb_hcd *hcd) | |||
| 1964 | usb_deregister_bus(&hcd->self); | 1964 | usb_deregister_bus(&hcd->self); |
| 1965 | hcd_buffer_destroy(hcd); | 1965 | hcd_buffer_destroy(hcd); |
| 1966 | } | 1966 | } |
| 1967 | EXPORT_SYMBOL (usb_remove_hcd); | 1967 | EXPORT_SYMBOL_GPL(usb_remove_hcd); |
| 1968 | 1968 | ||
| 1969 | void | 1969 | void |
| 1970 | usb_hcd_platform_shutdown(struct platform_device* dev) | 1970 | usb_hcd_platform_shutdown(struct platform_device* dev) |
| @@ -1974,7 +1974,7 @@ usb_hcd_platform_shutdown(struct platform_device* dev) | |||
| 1974 | if (hcd->driver->shutdown) | 1974 | if (hcd->driver->shutdown) |
| 1975 | hcd->driver->shutdown(hcd); | 1975 | hcd->driver->shutdown(hcd); |
| 1976 | } | 1976 | } |
| 1977 | EXPORT_SYMBOL (usb_hcd_platform_shutdown); | 1977 | EXPORT_SYMBOL_GPL(usb_hcd_platform_shutdown); |
| 1978 | 1978 | ||
| 1979 | /*-------------------------------------------------------------------------*/ | 1979 | /*-------------------------------------------------------------------------*/ |
| 1980 | 1980 | ||
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 53fe049b40f5..68fc5219ca15 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c | |||
| @@ -494,6 +494,7 @@ void usb_hub_tt_clear_buffer (struct usb_device *udev, int pipe) | |||
| 494 | schedule_work (&tt->kevent); | 494 | schedule_work (&tt->kevent); |
| 495 | spin_unlock_irqrestore (&tt->lock, flags); | 495 | spin_unlock_irqrestore (&tt->lock, flags); |
| 496 | } | 496 | } |
| 497 | EXPORT_SYMBOL_GPL(usb_hub_tt_clear_buffer); | ||
| 497 | 498 | ||
| 498 | static void hub_power_on(struct usb_hub *hub) | 499 | static void hub_power_on(struct usb_hub *hub) |
| 499 | { | 500 | { |
| @@ -3116,7 +3117,7 @@ re_enumerate: | |||
| 3116 | hub_port_logical_disconnect(parent_hub, port1); | 3117 | hub_port_logical_disconnect(parent_hub, port1); |
| 3117 | return -ENODEV; | 3118 | return -ENODEV; |
| 3118 | } | 3119 | } |
| 3119 | EXPORT_SYMBOL(usb_reset_device); | 3120 | EXPORT_SYMBOL_GPL(usb_reset_device); |
| 3120 | 3121 | ||
| 3121 | /** | 3122 | /** |
| 3122 | * usb_reset_composite_device - warn interface drivers and perform a USB port reset | 3123 | * usb_reset_composite_device - warn interface drivers and perform a USB port reset |
| @@ -3187,4 +3188,4 @@ int usb_reset_composite_device(struct usb_device *udev, | |||
| 3187 | usb_autosuspend_device(udev); | 3188 | usb_autosuspend_device(udev); |
| 3188 | return ret; | 3189 | return ret; |
| 3189 | } | 3190 | } |
| 3190 | EXPORT_SYMBOL(usb_reset_composite_device); | 3191 | EXPORT_SYMBOL_GPL(usb_reset_composite_device); |
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index fcd40ecbeecc..58b8e1c6b9a6 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c | |||
| @@ -147,7 +147,7 @@ int usb_control_msg(struct usb_device *dev, unsigned int pipe, __u8 request, __u | |||
| 147 | 147 | ||
| 148 | return ret; | 148 | return ret; |
| 149 | } | 149 | } |
| 150 | 150 | EXPORT_SYMBOL_GPL(usb_control_msg); | |
| 151 | 151 | ||
| 152 | /** | 152 | /** |
| 153 | * usb_interrupt_msg - Builds an interrupt urb, sends it off and waits for completion | 153 | * usb_interrupt_msg - Builds an interrupt urb, sends it off and waits for completion |
| @@ -238,6 +238,7 @@ int usb_bulk_msg(struct usb_device *usb_dev, unsigned int pipe, | |||
| 238 | 238 | ||
| 239 | return usb_start_wait_urb(urb, timeout, actual_length); | 239 | return usb_start_wait_urb(urb, timeout, actual_length); |
| 240 | } | 240 | } |
| 241 | EXPORT_SYMBOL_GPL(usb_bulk_msg); | ||
| 241 | 242 | ||
| 242 | /*-------------------------------------------------------------------*/ | 243 | /*-------------------------------------------------------------------*/ |
| 243 | 244 | ||
| @@ -465,7 +466,7 @@ nomem: | |||
| 465 | sg_clean (io); | 466 | sg_clean (io); |
| 466 | return -ENOMEM; | 467 | return -ENOMEM; |
| 467 | } | 468 | } |
| 468 | 469 | EXPORT_SYMBOL_GPL(usb_sg_init); | |
| 469 | 470 | ||
| 470 | /** | 471 | /** |
| 471 | * usb_sg_wait - synchronously execute scatter/gather request | 472 | * usb_sg_wait - synchronously execute scatter/gather request |
| @@ -569,6 +570,7 @@ void usb_sg_wait (struct usb_sg_request *io) | |||
| 569 | 570 | ||
| 570 | sg_clean (io); | 571 | sg_clean (io); |
| 571 | } | 572 | } |
| 573 | EXPORT_SYMBOL_GPL(usb_sg_wait); | ||
| 572 | 574 | ||
| 573 | /** | 575 | /** |
| 574 | * usb_sg_cancel - stop scatter/gather i/o issued by usb_sg_wait() | 576 | * usb_sg_cancel - stop scatter/gather i/o issued by usb_sg_wait() |
| @@ -604,6 +606,7 @@ void usb_sg_cancel (struct usb_sg_request *io) | |||
| 604 | } | 606 | } |
| 605 | spin_unlock_irqrestore (&io->lock, flags); | 607 | spin_unlock_irqrestore (&io->lock, flags); |
| 606 | } | 608 | } |
| 609 | EXPORT_SYMBOL_GPL(usb_sg_cancel); | ||
| 607 | 610 | ||
| 608 | /*-------------------------------------------------------------------*/ | 611 | /*-------------------------------------------------------------------*/ |
| 609 | 612 | ||
| @@ -652,6 +655,7 @@ int usb_get_descriptor(struct usb_device *dev, unsigned char type, unsigned char | |||
| 652 | } | 655 | } |
| 653 | return result; | 656 | return result; |
| 654 | } | 657 | } |
| 658 | EXPORT_SYMBOL_GPL(usb_get_descriptor); | ||
| 655 | 659 | ||
| 656 | /** | 660 | /** |
| 657 | * usb_get_string - gets a string descriptor | 661 | * usb_get_string - gets a string descriptor |
| @@ -827,6 +831,7 @@ int usb_string(struct usb_device *dev, int index, char *buf, size_t size) | |||
| 827 | kfree(tbuf); | 831 | kfree(tbuf); |
| 828 | return err; | 832 | return err; |
| 829 | } | 833 | } |
| 834 | EXPORT_SYMBOL_GPL(usb_string); | ||
| 830 | 835 | ||
| 831 | /** | 836 | /** |
| 832 | * usb_cache_string - read a string descriptor and cache it for later use | 837 | * usb_cache_string - read a string descriptor and cache it for later use |
| @@ -927,6 +932,7 @@ int usb_get_status(struct usb_device *dev, int type, int target, void *data) | |||
| 927 | kfree(status); | 932 | kfree(status); |
| 928 | return ret; | 933 | return ret; |
| 929 | } | 934 | } |
| 935 | EXPORT_SYMBOL_GPL(usb_get_status); | ||
| 930 | 936 | ||
| 931 | /** | 937 | /** |
| 932 | * usb_clear_halt - tells device to clear endpoint halt/stall condition | 938 | * usb_clear_halt - tells device to clear endpoint halt/stall condition |
| @@ -985,6 +991,7 @@ int usb_clear_halt(struct usb_device *dev, int pipe) | |||
| 985 | 991 | ||
| 986 | return 0; | 992 | return 0; |
| 987 | } | 993 | } |
| 994 | EXPORT_SYMBOL_GPL(usb_clear_halt); | ||
| 988 | 995 | ||
| 989 | /** | 996 | /** |
| 990 | * usb_disable_endpoint -- Disable an endpoint by address | 997 | * usb_disable_endpoint -- Disable an endpoint by address |
| @@ -1253,6 +1260,7 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate) | |||
| 1253 | 1260 | ||
| 1254 | return 0; | 1261 | return 0; |
| 1255 | } | 1262 | } |
| 1263 | EXPORT_SYMBOL_GPL(usb_set_interface); | ||
| 1256 | 1264 | ||
| 1257 | /** | 1265 | /** |
| 1258 | * usb_reset_configuration - lightweight device reset | 1266 | * usb_reset_configuration - lightweight device reset |
| @@ -1328,6 +1336,7 @@ int usb_reset_configuration(struct usb_device *dev) | |||
| 1328 | } | 1336 | } |
| 1329 | return 0; | 1337 | return 0; |
| 1330 | } | 1338 | } |
| 1339 | EXPORT_SYMBOL_GPL(usb_reset_configuration); | ||
| 1331 | 1340 | ||
| 1332 | static void usb_release_interface(struct device *dev) | 1341 | static void usb_release_interface(struct device *dev) |
| 1333 | { | 1342 | { |
| @@ -1677,22 +1686,3 @@ int usb_driver_set_configuration(struct usb_device *udev, int config) | |||
| 1677 | return 0; | 1686 | return 0; |
| 1678 | } | 1687 | } |
| 1679 | EXPORT_SYMBOL_GPL(usb_driver_set_configuration); | 1688 | EXPORT_SYMBOL_GPL(usb_driver_set_configuration); |
| 1680 | |||
| 1681 | // synchronous request completion model | ||
| 1682 | EXPORT_SYMBOL(usb_control_msg); | ||
| 1683 | EXPORT_SYMBOL(usb_bulk_msg); | ||
| 1684 | |||
| 1685 | EXPORT_SYMBOL(usb_sg_init); | ||
| 1686 | EXPORT_SYMBOL(usb_sg_cancel); | ||
| 1687 | EXPORT_SYMBOL(usb_sg_wait); | ||
| 1688 | |||
| 1689 | // synchronous control message convenience routines | ||
| 1690 | EXPORT_SYMBOL(usb_get_descriptor); | ||
| 1691 | EXPORT_SYMBOL(usb_get_status); | ||
| 1692 | EXPORT_SYMBOL(usb_string); | ||
| 1693 | |||
| 1694 | // synchronous calls that also maintain usbcore state | ||
| 1695 | EXPORT_SYMBOL(usb_clear_halt); | ||
| 1696 | EXPORT_SYMBOL(usb_reset_configuration); | ||
| 1697 | EXPORT_SYMBOL(usb_set_interface); | ||
| 1698 | |||
diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c index d05ead20081c..0b54dc174e2c 100644 --- a/drivers/usb/core/urb.c +++ b/drivers/usb/core/urb.c | |||
| @@ -42,6 +42,7 @@ void usb_init_urb(struct urb *urb) | |||
| 42 | INIT_LIST_HEAD(&urb->anchor_list); | 42 | INIT_LIST_HEAD(&urb->anchor_list); |
| 43 | } | 43 | } |
| 44 | } | 44 | } |
| 45 | EXPORT_SYMBOL_GPL(usb_init_urb); | ||
| 45 | 46 | ||
| 46 | /** | 47 | /** |
| 47 | * usb_alloc_urb - creates a new urb for a USB driver to use | 48 | * usb_alloc_urb - creates a new urb for a USB driver to use |
| @@ -73,6 +74,7 @@ struct urb *usb_alloc_urb(int iso_packets, gfp_t mem_flags) | |||
| 73 | usb_init_urb(urb); | 74 | usb_init_urb(urb); |
| 74 | return urb; | 75 | return urb; |
| 75 | } | 76 | } |
| 77 | EXPORT_SYMBOL_GPL(usb_alloc_urb); | ||
| 76 | 78 | ||
| 77 | /** | 79 | /** |
| 78 | * usb_free_urb - frees the memory used by a urb when all users of it are finished | 80 | * usb_free_urb - frees the memory used by a urb when all users of it are finished |
| @@ -89,6 +91,7 @@ void usb_free_urb(struct urb *urb) | |||
| 89 | if (urb) | 91 | if (urb) |
| 90 | kref_put(&urb->kref, urb_destroy); | 92 | kref_put(&urb->kref, urb_destroy); |
| 91 | } | 93 | } |
| 94 | EXPORT_SYMBOL_GPL(usb_free_urb); | ||
| 92 | 95 | ||
| 93 | /** | 96 | /** |
| 94 | * usb_get_urb - increments the reference count of the urb | 97 | * usb_get_urb - increments the reference count of the urb |
| @@ -106,6 +109,7 @@ struct urb * usb_get_urb(struct urb *urb) | |||
| 106 | kref_get(&urb->kref); | 109 | kref_get(&urb->kref); |
| 107 | return urb; | 110 | return urb; |
| 108 | } | 111 | } |
| 112 | EXPORT_SYMBOL_GPL(usb_get_urb); | ||
| 109 | 113 | ||
| 110 | /** | 114 | /** |
| 111 | * usb_anchor_urb - anchors an URB while it is processed | 115 | * usb_anchor_urb - anchors an URB while it is processed |
| @@ -444,6 +448,7 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags) | |||
| 444 | 448 | ||
| 445 | return usb_hcd_submit_urb(urb, mem_flags); | 449 | return usb_hcd_submit_urb(urb, mem_flags); |
| 446 | } | 450 | } |
| 451 | EXPORT_SYMBOL_GPL(usb_submit_urb); | ||
| 447 | 452 | ||
| 448 | /*-------------------------------------------------------------------*/ | 453 | /*-------------------------------------------------------------------*/ |
| 449 | 454 | ||
| @@ -514,6 +519,7 @@ int usb_unlink_urb(struct urb *urb) | |||
| 514 | return -EIDRM; | 519 | return -EIDRM; |
| 515 | return usb_hcd_unlink_urb(urb, -ECONNRESET); | 520 | return usb_hcd_unlink_urb(urb, -ECONNRESET); |
| 516 | } | 521 | } |
| 522 | EXPORT_SYMBOL_GPL(usb_unlink_urb); | ||
| 517 | 523 | ||
| 518 | /** | 524 | /** |
| 519 | * usb_kill_urb - cancel a transfer request and wait for it to finish | 525 | * usb_kill_urb - cancel a transfer request and wait for it to finish |
| @@ -553,6 +559,7 @@ void usb_kill_urb(struct urb *urb) | |||
| 553 | --urb->reject; | 559 | --urb->reject; |
| 554 | mutex_unlock(&reject_mutex); | 560 | mutex_unlock(&reject_mutex); |
| 555 | } | 561 | } |
| 562 | EXPORT_SYMBOL_GPL(usb_kill_urb); | ||
| 556 | 563 | ||
| 557 | /** | 564 | /** |
| 558 | * usb_kill_anchored_urbs - cancel transfer requests en masse | 565 | * usb_kill_anchored_urbs - cancel transfer requests en masse |
| @@ -595,11 +602,3 @@ int usb_wait_anchor_empty_timeout(struct usb_anchor *anchor, | |||
| 595 | msecs_to_jiffies(timeout)); | 602 | msecs_to_jiffies(timeout)); |
| 596 | } | 603 | } |
| 597 | EXPORT_SYMBOL_GPL(usb_wait_anchor_empty_timeout); | 604 | EXPORT_SYMBOL_GPL(usb_wait_anchor_empty_timeout); |
| 598 | |||
| 599 | EXPORT_SYMBOL(usb_init_urb); | ||
| 600 | EXPORT_SYMBOL(usb_alloc_urb); | ||
| 601 | EXPORT_SYMBOL(usb_free_urb); | ||
| 602 | EXPORT_SYMBOL(usb_get_urb); | ||
| 603 | EXPORT_SYMBOL(usb_submit_urb); | ||
| 604 | EXPORT_SYMBOL(usb_unlink_urb); | ||
| 605 | EXPORT_SYMBOL(usb_kill_urb); | ||
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index fdb444d81271..8c6319afa757 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c | |||
| @@ -96,6 +96,7 @@ struct usb_interface *usb_ifnum_to_if(const struct usb_device *dev, | |||
| 96 | 96 | ||
| 97 | return NULL; | 97 | return NULL; |
| 98 | } | 98 | } |
| 99 | EXPORT_SYMBOL_GPL(usb_ifnum_to_if); | ||
| 99 | 100 | ||
| 100 | /** | 101 | /** |
| 101 | * usb_altnum_to_altsetting - get the altsetting structure with a given | 102 | * usb_altnum_to_altsetting - get the altsetting structure with a given |
| @@ -126,6 +127,7 @@ struct usb_host_interface *usb_altnum_to_altsetting(const struct usb_interface * | |||
| 126 | } | 127 | } |
| 127 | return NULL; | 128 | return NULL; |
| 128 | } | 129 | } |
| 130 | EXPORT_SYMBOL_GPL(usb_altnum_to_altsetting); | ||
| 129 | 131 | ||
| 130 | struct find_interface_arg { | 132 | struct find_interface_arg { |
| 131 | int minor; | 133 | int minor; |
| @@ -170,6 +172,7 @@ struct usb_interface *usb_find_interface(struct usb_driver *drv, int minor) | |||
| 170 | __find_interface); | 172 | __find_interface); |
| 171 | return argb.interface; | 173 | return argb.interface; |
| 172 | } | 174 | } |
| 175 | EXPORT_SYMBOL_GPL(usb_find_interface); | ||
| 173 | 176 | ||
| 174 | /** | 177 | /** |
| 175 | * usb_release_dev - free a usb device structure when all users of it are finished. | 178 | * usb_release_dev - free a usb device structure when all users of it are finished. |
| @@ -369,6 +372,7 @@ struct usb_device *usb_get_dev(struct usb_device *dev) | |||
| 369 | get_device(&dev->dev); | 372 | get_device(&dev->dev); |
| 370 | return dev; | 373 | return dev; |
| 371 | } | 374 | } |
| 375 | EXPORT_SYMBOL_GPL(usb_get_dev); | ||
| 372 | 376 | ||
| 373 | /** | 377 | /** |
| 374 | * usb_put_dev - release a use of the usb device structure | 378 | * usb_put_dev - release a use of the usb device structure |
| @@ -382,6 +386,7 @@ void usb_put_dev(struct usb_device *dev) | |||
| 382 | if (dev) | 386 | if (dev) |
| 383 | put_device(&dev->dev); | 387 | put_device(&dev->dev); |
| 384 | } | 388 | } |
| 389 | EXPORT_SYMBOL_GPL(usb_put_dev); | ||
| 385 | 390 | ||
| 386 | /** | 391 | /** |
| 387 | * usb_get_intf - increments the reference count of the usb interface structure | 392 | * usb_get_intf - increments the reference count of the usb interface structure |
| @@ -402,6 +407,7 @@ struct usb_interface *usb_get_intf(struct usb_interface *intf) | |||
| 402 | get_device(&intf->dev); | 407 | get_device(&intf->dev); |
| 403 | return intf; | 408 | return intf; |
| 404 | } | 409 | } |
| 410 | EXPORT_SYMBOL_GPL(usb_get_intf); | ||
| 405 | 411 | ||
| 406 | /** | 412 | /** |
| 407 | * usb_put_intf - release a use of the usb interface structure | 413 | * usb_put_intf - release a use of the usb interface structure |
| @@ -416,7 +422,7 @@ void usb_put_intf(struct usb_interface *intf) | |||
| 416 | if (intf) | 422 | if (intf) |
| 417 | put_device(&intf->dev); | 423 | put_device(&intf->dev); |
| 418 | } | 424 | } |
| 419 | 425 | EXPORT_SYMBOL_GPL(usb_put_intf); | |
| 420 | 426 | ||
| 421 | /* USB device locking | 427 | /* USB device locking |
| 422 | * | 428 | * |
| @@ -489,7 +495,7 @@ int usb_lock_device_for_reset(struct usb_device *udev, | |||
| 489 | } | 495 | } |
| 490 | return 1; | 496 | return 1; |
| 491 | } | 497 | } |
| 492 | 498 | EXPORT_SYMBOL_GPL(usb_lock_device_for_reset); | |
| 493 | 499 | ||
| 494 | static struct usb_device *match_device(struct usb_device *dev, | 500 | static struct usb_device *match_device(struct usb_device *dev, |
| 495 | u16 vendor_id, u16 product_id) | 501 | u16 vendor_id, u16 product_id) |
| @@ -578,6 +584,7 @@ int usb_get_current_frame_number(struct usb_device *dev) | |||
| 578 | { | 584 | { |
| 579 | return usb_hcd_get_frame_number(dev); | 585 | return usb_hcd_get_frame_number(dev); |
| 580 | } | 586 | } |
| 587 | EXPORT_SYMBOL_GPL(usb_get_current_frame_number); | ||
| 581 | 588 | ||
| 582 | /*-------------------------------------------------------------------*/ | 589 | /*-------------------------------------------------------------------*/ |
| 583 | /* | 590 | /* |
| @@ -612,6 +619,7 @@ int __usb_get_extra_descriptor(char *buffer, unsigned size, | |||
| 612 | } | 619 | } |
| 613 | return -1; | 620 | return -1; |
| 614 | } | 621 | } |
| 622 | EXPORT_SYMBOL_GPL(__usb_get_extra_descriptor); | ||
| 615 | 623 | ||
| 616 | /** | 624 | /** |
| 617 | * usb_buffer_alloc - allocate dma-consistent buffer for URB_NO_xxx_DMA_MAP | 625 | * usb_buffer_alloc - allocate dma-consistent buffer for URB_NO_xxx_DMA_MAP |
| @@ -646,6 +654,7 @@ void *usb_buffer_alloc( | |||
| 646 | return NULL; | 654 | return NULL; |
| 647 | return hcd_buffer_alloc(dev->bus, size, mem_flags, dma); | 655 | return hcd_buffer_alloc(dev->bus, size, mem_flags, dma); |
| 648 | } | 656 | } |
| 657 | EXPORT_SYMBOL_GPL(usb_buffer_alloc); | ||
| 649 | 658 | ||
| 650 | /** | 659 | /** |
| 651 | * usb_buffer_free - free memory allocated with usb_buffer_alloc() | 660 | * usb_buffer_free - free memory allocated with usb_buffer_alloc() |
| @@ -671,6 +680,7 @@ void usb_buffer_free( | |||
| 671 | return; | 680 | return; |
| 672 | hcd_buffer_free(dev->bus, size, addr, dma); | 681 | hcd_buffer_free(dev->bus, size, addr, dma); |
| 673 | } | 682 | } |
| 683 | EXPORT_SYMBOL_GPL(usb_buffer_free); | ||
| 674 | 684 | ||
| 675 | /** | 685 | /** |
| 676 | * usb_buffer_map - create DMA mapping(s) for an urb | 686 | * usb_buffer_map - create DMA mapping(s) for an urb |
| @@ -718,6 +728,7 @@ struct urb *usb_buffer_map(struct urb *urb) | |||
| 718 | | URB_NO_SETUP_DMA_MAP); | 728 | | URB_NO_SETUP_DMA_MAP); |
| 719 | return urb; | 729 | return urb; |
| 720 | } | 730 | } |
| 731 | EXPORT_SYMBOL_GPL(usb_buffer_map); | ||
| 721 | #endif /* 0 */ | 732 | #endif /* 0 */ |
| 722 | 733 | ||
| 723 | /* XXX DISABLED, no users currently. If you wish to re-enable this | 734 | /* XXX DISABLED, no users currently. If you wish to re-enable this |
| @@ -755,6 +766,7 @@ void usb_buffer_dmasync(struct urb *urb) | |||
| 755 | DMA_TO_DEVICE); | 766 | DMA_TO_DEVICE); |
| 756 | } | 767 | } |
| 757 | } | 768 | } |
| 769 | EXPORT_SYMBOL_GPL(usb_buffer_dmasync); | ||
| 758 | #endif | 770 | #endif |
| 759 | 771 | ||
| 760 | /** | 772 | /** |
| @@ -790,6 +802,7 @@ void usb_buffer_unmap(struct urb *urb) | |||
| 790 | urb->transfer_flags &= ~(URB_NO_TRANSFER_DMA_MAP | 802 | urb->transfer_flags &= ~(URB_NO_TRANSFER_DMA_MAP |
| 791 | | URB_NO_SETUP_DMA_MAP); | 803 | | URB_NO_SETUP_DMA_MAP); |
| 792 | } | 804 | } |
| 805 | EXPORT_SYMBOL_GPL(usb_buffer_unmap); | ||
| 793 | #endif /* 0 */ | 806 | #endif /* 0 */ |
| 794 | 807 | ||
| 795 | /** | 808 | /** |
| @@ -834,6 +847,7 @@ int usb_buffer_map_sg(const struct usb_device *dev, int is_in, | |||
| 834 | return dma_map_sg(controller, sg, nents, | 847 | return dma_map_sg(controller, sg, nents, |
| 835 | is_in ? DMA_FROM_DEVICE : DMA_TO_DEVICE); | 848 | is_in ? DMA_FROM_DEVICE : DMA_TO_DEVICE); |
| 836 | } | 849 | } |
| 850 | EXPORT_SYMBOL_GPL(usb_buffer_map_sg); | ||
| 837 | 851 | ||
| 838 | /* XXX DISABLED, no users currently. If you wish to re-enable this | 852 | /* XXX DISABLED, no users currently. If you wish to re-enable this |
| 839 | * XXX please determine whether the sync is to transfer ownership of | 853 | * XXX please determine whether the sync is to transfer ownership of |
| @@ -867,6 +881,7 @@ void usb_buffer_dmasync_sg(const struct usb_device *dev, int is_in, | |||
| 867 | dma_sync_sg(controller, sg, n_hw_ents, | 881 | dma_sync_sg(controller, sg, n_hw_ents, |
| 868 | is_in ? DMA_FROM_DEVICE : DMA_TO_DEVICE); | 882 | is_in ? DMA_FROM_DEVICE : DMA_TO_DEVICE); |
| 869 | } | 883 | } |
| 884 | EXPORT_SYMBOL_GPL(usb_buffer_dmasync_sg); | ||
| 870 | #endif | 885 | #endif |
| 871 | 886 | ||
| 872 | /** | 887 | /** |
| @@ -893,6 +908,7 @@ void usb_buffer_unmap_sg(const struct usb_device *dev, int is_in, | |||
| 893 | dma_unmap_sg(controller, sg, n_hw_ents, | 908 | dma_unmap_sg(controller, sg, n_hw_ents, |
| 894 | is_in ? DMA_FROM_DEVICE : DMA_TO_DEVICE); | 909 | is_in ? DMA_FROM_DEVICE : DMA_TO_DEVICE); |
| 895 | } | 910 | } |
| 911 | EXPORT_SYMBOL_GPL(usb_buffer_unmap_sg); | ||
| 896 | 912 | ||
| 897 | /* format to disable USB on kernel command line is: nousb */ | 913 | /* format to disable USB on kernel command line is: nousb */ |
| 898 | __module_param_call("", nousb, param_set_bool, param_get_bool, &nousb, 0444); | 914 | __module_param_call("", nousb, param_set_bool, param_get_bool, &nousb, 0444); |
| @@ -904,6 +920,7 @@ int usb_disabled(void) | |||
| 904 | { | 920 | { |
| 905 | return nousb; | 921 | return nousb; |
| 906 | } | 922 | } |
| 923 | EXPORT_SYMBOL_GPL(usb_disabled); | ||
| 907 | 924 | ||
| 908 | /* | 925 | /* |
| 909 | * Init | 926 | * Init |
| @@ -985,45 +1002,4 @@ static void __exit usb_exit(void) | |||
| 985 | 1002 | ||
| 986 | subsys_initcall(usb_init); | 1003 | subsys_initcall(usb_init); |
| 987 | module_exit(usb_exit); | 1004 | module_exit(usb_exit); |
| 988 | |||
| 989 | /* | ||
| 990 | * USB may be built into the kernel or be built as modules. | ||
| 991 | * These symbols are exported for device (or host controller) | ||
| 992 | * driver modules to use. | ||
| 993 | */ | ||
| 994 | |||
| 995 | EXPORT_SYMBOL(usb_disabled); | ||
| 996 | |||
| 997 | EXPORT_SYMBOL_GPL(usb_get_intf); | ||
| 998 | EXPORT_SYMBOL_GPL(usb_put_intf); | ||
| 999 | |||
| 1000 | EXPORT_SYMBOL(usb_put_dev); | ||
| 1001 | EXPORT_SYMBOL(usb_get_dev); | ||
| 1002 | EXPORT_SYMBOL(usb_hub_tt_clear_buffer); | ||
| 1003 | |||
| 1004 | EXPORT_SYMBOL(usb_lock_device_for_reset); | ||
| 1005 | |||
| 1006 | EXPORT_SYMBOL(usb_find_interface); | ||
| 1007 | EXPORT_SYMBOL(usb_ifnum_to_if); | ||
| 1008 | EXPORT_SYMBOL(usb_altnum_to_altsetting); | ||
| 1009 | |||
| 1010 | EXPORT_SYMBOL(__usb_get_extra_descriptor); | ||
| 1011 | |||
| 1012 | EXPORT_SYMBOL(usb_get_current_frame_number); | ||
| 1013 | |||
| 1014 | EXPORT_SYMBOL(usb_buffer_alloc); | ||
| 1015 | EXPORT_SYMBOL(usb_buffer_free); | ||
| 1016 | |||
| 1017 | #if 0 | ||
| 1018 | EXPORT_SYMBOL(usb_buffer_map); | ||
| 1019 | EXPORT_SYMBOL(usb_buffer_dmasync); | ||
| 1020 | EXPORT_SYMBOL(usb_buffer_unmap); | ||
| 1021 | #endif | ||
| 1022 | |||
| 1023 | EXPORT_SYMBOL(usb_buffer_map_sg); | ||
| 1024 | #if 0 | ||
| 1025 | EXPORT_SYMBOL(usb_buffer_dmasync_sg); | ||
| 1026 | #endif | ||
| 1027 | EXPORT_SYMBOL(usb_buffer_unmap_sg); | ||
| 1028 | |||
| 1029 | MODULE_LICENSE("GPL"); | 1005 | MODULE_LICENSE("GPL"); |
