diff options
author | Mike Lockwood <lockwood@android.com> | 2011-03-14 18:28:55 -0400 |
---|---|---|
committer | Rohan Somvanshi <rsomvanshi@nvidia.com> | 2011-05-31 05:58:17 -0700 |
commit | 84e582ad82a1eb610419e700d27c0799837cac0e (patch) | |
tree | 7d9b65bc712bcf34f2f5805662fd8be76e484c48 | |
parent | 6cd10de16b93369d02f22c92b52d6a8303f73a37 (diff) |
USB: gadget: f_accessory: Add string for accessory's unique serial number
Signed-off-by: Mike Lockwood <lockwood@android.com>
(cherry picked from commit 99b7fdff26bdaa2dbdecd45db18834f9d7447632)
Change-Id: Ic4e663abf1a3c6d0ea21983f5e2171a34c0e6641
Reviewed-on: http://git-master/r/32891
Reviewed-by: Suresh Mangipudi <smangipudi@nvidia.com>
Tested-by: Suresh Mangipudi <smangipudi@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r-- | drivers/usb/gadget/f_accessory.c | 8 | ||||
-rw-r--r-- | include/linux/usb/f_accessory.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/usb/gadget/f_accessory.c b/drivers/usb/gadget/f_accessory.c index baeae5976b66..38918cdf6c5b 100644 --- a/drivers/usb/gadget/f_accessory.c +++ b/drivers/usb/gadget/f_accessory.c @@ -71,6 +71,7 @@ struct acc_dev { char description[ACC_STRING_SIZE]; char version[ACC_STRING_SIZE]; char uri[ACC_STRING_SIZE]; + char serial[ACC_STRING_SIZE]; /* for acc_complete_set_string */ int string_index; @@ -273,6 +274,9 @@ static void acc_complete_set_string(struct usb_ep *ep, struct usb_request *req) case ACCESSORY_STRING_URI: string_dest = dev->uri; break; + case ACCESSORY_STRING_SERIAL: + string_dest = dev->serial; + break; } if (string_dest) { unsigned long flags; @@ -505,6 +509,9 @@ static long acc_ioctl(struct file *fp, unsigned code, unsigned long value) case ACCESSORY_GET_STRING_URI: src = dev->uri; break; + case ACCESSORY_GET_STRING_SERIAL: + src = dev->serial; + break; } if (!src) return -EINVAL; @@ -658,6 +665,7 @@ static int acc_function_setup(struct usb_function *f, memset(dev->description, 0, sizeof(dev->description)); memset(dev->version, 0, sizeof(dev->version)); memset(dev->uri, 0, sizeof(dev->uri)); + memset(dev->serial, 0, sizeof(dev->serial)); } } } diff --git a/include/linux/usb/f_accessory.h b/include/linux/usb/f_accessory.h index 977ad0a69c7e..ebcc5f34f554 100644 --- a/include/linux/usb/f_accessory.h +++ b/include/linux/usb/f_accessory.h @@ -34,6 +34,7 @@ #define ACCESSORY_STRING_DESCRIPTION 2 #define ACCESSORY_STRING_VERSION 3 #define ACCESSORY_STRING_URI 4 +#define ACCESSORY_STRING_SERIAL 5 /* Control request for retrieving device's protocol version (currently 1) * @@ -75,5 +76,6 @@ #define ACCESSORY_GET_STRING_DESCRIPTION _IOW('M', 3, char[256]) #define ACCESSORY_GET_STRING_VERSION _IOW('M', 4, char[256]) #define ACCESSORY_GET_STRING_URI _IOW('M', 5, char[256]) +#define ACCESSORY_GET_STRING_SERIAL _IOW('M', 6, char[256]) #endif /* __LINUX_USB_F_ACCESSORY_H */ |