Commit b87ba0a3 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

[PATCH] add EXPORT_SYMBOL_GPL_FUTURE() to USB subsystem

The USB core symbols will be converted to GPL-only in a few years.  Mark
this as such and update the documentation explaining why, and provide a
pointer for developers to receive help if they need it.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 01ca70dc
...@@ -196,3 +196,21 @@ Why: Board specific code doesn't build anymore since ~2.6.0 and no ...@@ -196,3 +196,21 @@ Why: Board specific code doesn't build anymore since ~2.6.0 and no
users have complained indicating there is no more need for these users have complained indicating there is no more need for these
boards. This should really be considered a last call. boards. This should really be considered a last call.
Who: Ralf Baechle <ralf@linux-mips.org> Who: Ralf Baechle <ralf@linux-mips.org>
---------------------------
What: USB driver API moves to EXPORT_SYMBOL_GPL
When: Febuary 2008
Files: include/linux/usb.h, drivers/usb/core/driver.c
Why: The USB subsystem has changed a lot over time, and it has been
possible to create userspace USB drivers using usbfs/libusb/gadgetfs
that operate as fast as the USB bus allows. Because of this, the USB
subsystem will not be allowing closed source kernel drivers to
register with it, after this grace period is over. If anyone needs
any help in converting their closed source drivers over to use the
userspace filesystems, please contact the
linux-usb-devel@lists.sourceforge.net mailing list, and the developers
there will be glad to help you out.
Who: Greg Kroah-Hartman <gregkh@suse.de>
---------------------------
...@@ -378,7 +378,7 @@ const struct usb_device_id *usb_match_id(struct usb_interface *interface, ...@@ -378,7 +378,7 @@ const struct usb_device_id *usb_match_id(struct usb_interface *interface,
return NULL; return NULL;
} }
EXPORT_SYMBOL(usb_match_id); EXPORT_SYMBOL_GPL_FUTURE(usb_match_id);
int usb_device_match(struct device *dev, struct device_driver *drv) int usb_device_match(struct device *dev, struct device_driver *drv)
{ {
...@@ -446,7 +446,7 @@ int usb_register_driver(struct usb_driver *new_driver, struct module *owner) ...@@ -446,7 +446,7 @@ int usb_register_driver(struct usb_driver *new_driver, struct module *owner)
return retval; return retval;
} }
EXPORT_SYMBOL(usb_register_driver); EXPORT_SYMBOL_GPL_FUTURE(usb_register_driver);
/** /**
* usb_deregister - unregister a USB driver * usb_deregister - unregister a USB driver
...@@ -469,4 +469,4 @@ void usb_deregister(struct usb_driver *driver) ...@@ -469,4 +469,4 @@ void usb_deregister(struct usb_driver *driver)
usbfs_update_special(); usbfs_update_special();
} }
EXPORT_SYMBOL(usb_deregister); EXPORT_SYMBOL_GPL_FUTURE(usb_deregister);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment