From f7ca906885630b7df60f3ffb493bfa348574f188 Mon Sep 17 00:00:00 2001 From: Andrzej Pietrasiewicz Date: Thu, 10 May 2012 10:08:00 +0200 Subject: [PATCH] --- yaml --- r: 303886 b: refs/heads/master c: cad4cd8fbde6b2f45b51711260343b3195615c79 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/gadget/composite.c | 5 +++-- trunk/include/linux/usb/composite.h | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 09f4d852ea1b..21a55b02ff02 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4fffd6e5a24c4df3341d404446e3672bef8cffb7 +refs/heads/master: cad4cd8fbde6b2f45b51711260343b3195615c79 diff --git a/trunk/drivers/usb/gadget/composite.c b/trunk/drivers/usb/gadget/composite.c index df2749052e2c..390749bbb0c3 100644 --- a/trunk/drivers/usb/gadget/composite.c +++ b/trunk/drivers/usb/gadget/composite.c @@ -938,7 +938,7 @@ static int get_string(struct usb_composite_dev *cdev, else if (cdev->product_override == id) str = iProduct ?: composite->iProduct; else if (cdev->serial_override == id) - str = iSerialNumber; + str = iSerialNumber ?: composite->iSerialNumber; else str = NULL; if (str) { @@ -1503,7 +1503,8 @@ static int composite_bind(struct usb_gadget *gadget) cdev->product_override = override_id(cdev, &cdev->desc.iProduct); - if (iSerialNumber) + if (iSerialNumber || + (!cdev->desc.iSerialNumber && composite->iSerialNumber)) cdev->serial_override = override_id(cdev, &cdev->desc.iSerialNumber); diff --git a/trunk/include/linux/usb/composite.h b/trunk/include/linux/usb/composite.h index 5d27a1fe5ce9..9d8c3b634493 100644 --- a/trunk/include/linux/usb/composite.h +++ b/trunk/include/linux/usb/composite.h @@ -253,6 +253,8 @@ void usb_remove_config(struct usb_composite_dev *, * @iManufacturer: Used as iManufacturer override if @dev->iManufacturer is * not set. If NULL a default " with " value * will be used. + * @iSerialNumber: Used as iSerialNumber override if @dev->iSerialNumber is + * not set. * @dev: Template descriptor for the device, including default device * identifiers. * @strings: tables of strings, keyed by identifiers assigned during bind() @@ -283,6 +285,7 @@ struct usb_composite_driver { const char *name; const char *iProduct; const char *iManufacturer; + const char *iSerialNumber; const struct usb_device_descriptor *dev; struct usb_gadget_strings **strings; enum usb_device_speed max_speed;