usb: gadget: push VID/PID/USB BCD module option into gadgets

This patch moves the module options idVendor, idProduct and bcdDevice
from composite.c into each gadgets. This ensures compatibility with
current gadgets and removes the global variable which brings me step
closer towards composite.c in libcomposite

Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Sebastian Andrzej Siewior
2012-09-10 15:01:53 +02:00
committed by Felipe Balbi
parent 3b4a3fc0ba
commit 7d16e8d3eb
18 changed files with 103 additions and 28 deletions

View File

@@ -381,6 +381,30 @@ extern int usb_string_ids_tab(struct usb_composite_dev *c,
struct usb_string *str);
extern int usb_string_ids_n(struct usb_composite_dev *c, unsigned n);
/*
* Some systems will need runtime overrides for the product identifiers
* published in the device descriptor, either numbers or strings or both.
* String parameters are in UTF-8 (superset of ASCII's 7 bit characters).
*/
struct usb_composite_overwrite {
u16 idVendor;
u16 idProduct;
u16 bcdDevice;
};
#define USB_GADGET_COMPOSITE_OPTIONS() \
static struct usb_composite_overwrite coverwrite; \
\
module_param_named(idVendor, coverwrite.idVendor, ushort, S_IRUGO); \
MODULE_PARM_DESC(idVendor, "USB Vendor ID"); \
\
module_param_named(idProduct, coverwrite.idProduct, ushort, S_IRUGO); \
MODULE_PARM_DESC(idProduct, "USB Product ID"); \
\
module_param_named(bcdDevice, coverwrite.bcdDevice, ushort, S_IRUGO); \
MODULE_PARM_DESC(bcdDevice, "USB Device version (BCD)")
void usb_composite_overwrite_options(struct usb_composite_dev *cdev,
struct usb_composite_overwrite *covr);
/* messaging utils */
#define DBG(d, fmt, args...) \