diff options
author | Jules Maselbas <jmaselbas@kalray.eu> | 2020-07-16 15:28:30 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-08-03 23:40:42 +0200 |
commit | a39362c2a2cd96e981c3f44931b661f5eba0d425 (patch) | |
tree | 619b42c7987e9dafc22bdd322a5522fea77cee12 | |
parent | 2ce08a22c2051f094a890a1fbb8fd46f2ff4ccb9 (diff) | |
download | barebox-a39362c2a2cd96e981c3f44931b661f5eba0d425.tar.gz barebox-a39362c2a2cd96e981c3f44931b661f5eba0d425.tar.xz |
USB: gadget: Add serialnumber device parameter
This add the device parameter usbgadget.serialnumber
Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/usb/gadget/multi.c | 2 | ||||
-rw-r--r-- | drivers/usb/gadget/udc-core.c | 3 | ||||
-rw-r--r-- | include/usb/gadget.h | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/gadget/multi.c b/drivers/usb/gadget/multi.c index 445cc32420..95f5b90c88 100644 --- a/drivers/usb/gadget/multi.c +++ b/drivers/usb/gadget/multi.c @@ -179,8 +179,10 @@ static int multi_bind(struct usb_composite_dev *cdev) strings_dev[USB_GADGET_MANUFACTURER_IDX].s = gadget->manufacturer; strings_dev[USB_GADGET_PRODUCT_IDX].s = gadget->productname; + strings_dev[USB_GADGET_SERIAL_IDX].s = gadget->serialnumber; device_desc.iProduct = strings_dev[USB_GADGET_PRODUCT_IDX].id; + device_desc.iSerialNumber = strings_dev[USB_GADGET_SERIAL_IDX].id; config.label = strings_dev[STRING_DESCRIPTION_IDX].s; config.iConfiguration = strings_dev[STRING_DESCRIPTION_IDX].id; diff --git a/drivers/usb/gadget/udc-core.c b/drivers/usb/gadget/udc-core.c index 126d76e8bb..2516676f86 100644 --- a/drivers/usb/gadget/udc-core.c +++ b/drivers/usb/gadget/udc-core.c @@ -212,6 +212,9 @@ int usb_add_gadget_udc_release(struct device_d *parent, struct usb_gadget *gadge gadget->productname = xstrdup(barebox_get_model()); dev_add_param_string(&gadget->dev, "productname", NULL, NULL, &gadget->productname, NULL); + gadget->serialnumber = xstrdup(""); + dev_add_param_string(&gadget->dev, "serialnumber", NULL, NULL, + &gadget->serialnumber, NULL); dev_set_name(&udc->dev, "udc"); udc->dev.id = DEVICE_ID_DYNAMIC; diff --git a/include/usb/gadget.h b/include/usb/gadget.h index afa11b2d9d..3e1d7153dc 100644 --- a/include/usb/gadget.h +++ b/include/usb/gadget.h @@ -561,6 +561,7 @@ struct usb_gadget { uint32_t product_id; char *manufacturer; char *productname; + char *serialnumber; }; #define work_to_gadget(w) (container_of((w), struct usb_gadget, work)) |