diff options
author | David Brownell <david-b@pacbell.net> | 2006-02-18 15:31:05 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-03-20 17:49:58 -0500 |
commit | 329af28b141ab4ae847aff1362864c4cc332641f (patch) | |
tree | c4871a6065ed635998204efef0a63fda8c3dbfcc /include/linux/usb_gadget.h | |
parent | 43c5d5aaafef56618a6efbcab7f91615da1a8659 (diff) |
[PATCH] USB: gadget driver section fixups
This adds __init section annotations to gadget driver bind() routines to
remove calls from .text into .init sections (for endpoint autoconfig).
Likewise it adds __exit section annotations to their unbind() routines.
The specification of the gadget driver register/unregister functions is
updated to explicitly allow use of those sections.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/usb_gadget.h')
-rw-r--r-- | include/linux/usb_gadget.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/usb_gadget.h b/include/linux/usb_gadget.h index ff81117eb733..1d78870ed8af 100644 --- a/include/linux/usb_gadget.h +++ b/include/linux/usb_gadget.h | |||
@@ -801,7 +801,9 @@ struct usb_gadget_driver { | |||
801 | * Call this in your gadget driver's module initialization function, | 801 | * Call this in your gadget driver's module initialization function, |
802 | * to tell the underlying usb controller driver about your driver. | 802 | * to tell the underlying usb controller driver about your driver. |
803 | * The driver's bind() function will be called to bind it to a | 803 | * The driver's bind() function will be called to bind it to a |
804 | * gadget. This function must be called in a context that can sleep. | 804 | * gadget before this registration call returns. It's expected that |
805 | * the bind() functions will be in init sections. | ||
806 | * This function must be called in a context that can sleep. | ||
805 | */ | 807 | */ |
806 | int usb_gadget_register_driver (struct usb_gadget_driver *driver); | 808 | int usb_gadget_register_driver (struct usb_gadget_driver *driver); |
807 | 809 | ||
@@ -814,7 +816,8 @@ int usb_gadget_register_driver (struct usb_gadget_driver *driver); | |||
814 | * going away. If the controller is connected to a USB host, | 816 | * going away. If the controller is connected to a USB host, |
815 | * it will first disconnect(). The driver is also requested | 817 | * it will first disconnect(). The driver is also requested |
816 | * to unbind() and clean up any device state, before this procedure | 818 | * to unbind() and clean up any device state, before this procedure |
817 | * finally returns. | 819 | * finally returns. It's expected that the unbind() functions |
820 | * will in in exit sections, so may not be linked in some kernels. | ||
818 | * This function must be called in a context that can sleep. | 821 | * This function must be called in a context that can sleep. |
819 | */ | 822 | */ |
820 | int usb_gadget_unregister_driver (struct usb_gadget_driver *driver); | 823 | int usb_gadget_unregister_driver (struct usb_gadget_driver *driver); |