diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/export/usb_drv.h | 7 | ||||
-rw-r--r-- | firmware/usbstack/usb_core.c | 29 |
2 files changed, 11 insertions, 25 deletions
diff --git a/firmware/export/usb_drv.h b/firmware/export/usb_drv.h index b5b5a7f065..7ef7c8b7ee 100644 --- a/firmware/export/usb_drv.h +++ b/firmware/export/usb_drv.h @@ -80,4 +80,11 @@ bool usb_drv_connected(void); int usb_drv_request_endpoint(int type, int dir); void usb_drv_release_endpoint(int ep); +/* USB_STRING_INITIALIZER(u"Example String") */ +#define USB_STRING_INITIALIZER(S) { \ + sizeof(struct usb_string_descriptor) + sizeof(S) - sizeof(*S), \ + USB_DT_STRING, \ + S \ +} + #endif /* _USB_DRV_H */ diff --git a/firmware/usbstack/usb_core.c b/firmware/usbstack/usb_core.c index 038aef241f..3d187c8cab 100644 --- a/firmware/usbstack/usb_core.c +++ b/firmware/usbstack/usb_core.c @@ -120,43 +120,22 @@ static const struct usb_qualifier_descriptor __attribute__((aligned(2))) static const struct usb_string_descriptor __attribute__((aligned(2))) usb_string_iManufacturer = -{ - 24, - USB_DT_STRING, - {'R', 'o', 'c', 'k', 'b', 'o', 'x', '.', 'o', 'r', 'g'} -}; +USB_STRING_INITIALIZER(u"Rockbox.org"); static const struct usb_string_descriptor __attribute__((aligned(2))) usb_string_iProduct = -{ - 42, - USB_DT_STRING, - {'R', 'o', 'c', 'k', 'b', 'o', 'x', ' ', - 'm', 'e', 'd', 'i', 'a', ' ', - 'p', 'l', 'a', 'y', 'e', 'r'} -}; +USB_STRING_INITIALIZER(u"Rockbox media player"); static struct usb_string_descriptor __attribute__((aligned(2))) usb_string_iSerial = -{ - 84, - USB_DT_STRING, - {'0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', - '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', - '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', - '0', '0', '0', '0', '0', '0', '0', '0'} -}; +USB_STRING_INITIALIZER(u"00000000000000000000000000000000000000000"); /* Generic for all targets */ /* this is stringid #0: languages supported */ static const struct usb_string_descriptor __attribute__((aligned(2))) lang_descriptor = -{ - 4, - USB_DT_STRING, - {0x0409} /* LANGID US English */ -}; +USB_STRING_INITIALIZER(u"\x0409"); /* LANGID US English */ static const struct usb_string_descriptor* const usb_strings[] = { |