usb, g_dnl: make possibility to fixup the device_desc board specific

add a weak dummy function g_dnl_fixup to add the possibility to update
the device_desc board specific. Used on the upcoming siemens board
support, where idVendor and idProduct is stored in an eeprom.

Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Marek Vasut <marek.vasut@gmail.com>
Cc: Lukasz Majewski <l.majewski@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Reviewed-by: Lukasz Majewski <l.majewski@samsung.com>
This commit is contained in:
Heiko Schocher 2013-06-04 11:19:50 +02:00 committed by Marek Vasut
parent ad5f977889
commit c5398cc968
2 changed files with 8 additions and 1 deletions

View file

@ -125,6 +125,12 @@ static int g_dnl_config_register(struct usb_composite_dev *cdev)
return usb_add_config(cdev, &config); return usb_add_config(cdev, &config);
} }
__weak
int g_dnl_bind_fixup(struct usb_device_descriptor *dev)
{
return 0;
}
static int g_dnl_bind(struct usb_composite_dev *cdev) static int g_dnl_bind(struct usb_composite_dev *cdev)
{ {
struct usb_gadget *gadget = cdev->gadget; struct usb_gadget *gadget = cdev->gadget;
@ -147,6 +153,7 @@ static int g_dnl_bind(struct usb_composite_dev *cdev)
g_dnl_string_defs[1].id = id; g_dnl_string_defs[1].id = id;
device_desc.iProduct = id; device_desc.iProduct = id;
g_dnl_bind_fixup(&device_desc);
ret = g_dnl_config_register(cdev); ret = g_dnl_config_register(cdev);
if (ret) if (ret)
goto error; goto error;

View file

@ -23,7 +23,7 @@
#include <linux/usb/ch9.h> #include <linux/usb/ch9.h>
#include <linux/usb/gadget.h> #include <linux/usb/gadget.h>
int g_dnl_bind_fixup(struct usb_device_descriptor *);
int g_dnl_register(const char *s); int g_dnl_register(const char *s);
void g_dnl_unregister(void); void g_dnl_unregister(void);