Commit b9370332 authored by David Brownell's avatar David Brownell Committed by Greg Kroah-Hartman

USB: serial gadget: descriptor cleanup

Bugfix some serial gadget descriptors:

 - Stop mangling the low bits (controller type ID) of bcdDevice;
   just use the high bits for a driver revision code.

 - Serial numbers that aren't specific to individual devices
   are useless; stop reporting "0" for this.

 - Since it's not part of a CDC-conformant function, the "bulk only"
   configuration shouldn't be using "CDC Data" as its interface class.
   Switch over to using CLASS_VENDOR_SPEC (different value, 0xff).
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Cc: Al Borchers <alborchers@steinerpoint.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 734d37c6
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
/* Defines */ /* Defines */
#define GS_VERSION_STR "v2.2" #define GS_VERSION_STR "v2.2"
#define GS_VERSION_NUM 0x0202 #define GS_VERSION_NUM 0x2200
#define GS_LONG_NAME "Gadget Serial" #define GS_LONG_NAME "Gadget Serial"
#define GS_SHORT_NAME "g_serial" #define GS_SHORT_NAME "g_serial"
...@@ -218,7 +218,6 @@ static char manufacturer[50]; ...@@ -218,7 +218,6 @@ static char manufacturer[50];
static struct usb_string gs_strings[] = { static struct usb_string gs_strings[] = {
{ GS_MANUFACTURER_STR_ID, manufacturer }, { GS_MANUFACTURER_STR_ID, manufacturer },
{ GS_PRODUCT_STR_ID, GS_LONG_NAME }, { GS_PRODUCT_STR_ID, GS_LONG_NAME },
{ GS_SERIAL_STR_ID, "0" },
{ GS_BULK_CONFIG_STR_ID, "Gadget Serial Bulk" }, { GS_BULK_CONFIG_STR_ID, "Gadget Serial Bulk" },
{ GS_ACM_CONFIG_STR_ID, "Gadget Serial CDC ACM" }, { GS_ACM_CONFIG_STR_ID, "Gadget Serial CDC ACM" },
{ GS_CONTROL_STR_ID, "Gadget Serial Control" }, { GS_CONTROL_STR_ID, "Gadget Serial Control" },
...@@ -241,7 +240,6 @@ static struct usb_device_descriptor gs_device_desc = { ...@@ -241,7 +240,6 @@ static struct usb_device_descriptor gs_device_desc = {
.idProduct = __constant_cpu_to_le16(GS_PRODUCT_ID), .idProduct = __constant_cpu_to_le16(GS_PRODUCT_ID),
.iManufacturer = GS_MANUFACTURER_STR_ID, .iManufacturer = GS_MANUFACTURER_STR_ID,
.iProduct = GS_PRODUCT_STR_ID, .iProduct = GS_PRODUCT_STR_ID,
.iSerialNumber = GS_SERIAL_STR_ID,
.bNumConfigurations = GS_NUM_CONFIGS, .bNumConfigurations = GS_NUM_CONFIGS,
}; };
...@@ -278,7 +276,7 @@ static const struct usb_interface_descriptor gs_bulk_interface_desc = { ...@@ -278,7 +276,7 @@ static const struct usb_interface_descriptor gs_bulk_interface_desc = {
.bDescriptorType = USB_DT_INTERFACE, .bDescriptorType = USB_DT_INTERFACE,
.bInterfaceNumber = GS_BULK_INTERFACE_ID, .bInterfaceNumber = GS_BULK_INTERFACE_ID,
.bNumEndpoints = 2, .bNumEndpoints = 2,
.bInterfaceClass = USB_CLASS_CDC_DATA, .bInterfaceClass = USB_CLASS_VENDOR_SPEC,
.bInterfaceSubClass = 0, .bInterfaceSubClass = 0,
.bInterfaceProtocol = 0, .bInterfaceProtocol = 0,
.iInterface = GS_DATA_STR_ID, .iInterface = GS_DATA_STR_ID,
......
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