Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

USB: wusb: annotate association types withe proper endianness

Also a trivial annotation in rh.c for:
drivers/usb/wusbcore/rh.c:366:9: warning: incorrect type in assignment (different base types)
drivers/usb/wusbcore/rh.c:366:9: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/usb/wusbcore/rh.c:366:9: got restricted __le16 [usertype] <noident>
drivers/usb/wusbcore/rh.c:367:9: warning: incorrect type in assignment (different base types)
drivers/usb/wusbcore/rh.c:367:9: expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/usb/wusbcore/rh.c:367:9: got restricted __le16 [usertype] <noident>

Association types annotation fixes piles of warnings similar to:
drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types)
drivers/usb/wusbcore/cbaf.c:238:30: expected restricted __le16 [usertype] id
drivers/usb/wusbcore/cbaf.c:238:30: got int
drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types)
drivers/usb/wusbcore/cbaf.c:238:30: expected restricted __le16 [usertype] len
drivers/usb/wusbcore/cbaf.c:238:30: got int

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Cc: David Vrabel <david.vrabel@csr.com>
Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

authored by

Harvey Harrison and committed by
Greg Kroah-Hartman
d767d888 d859bffc

+12 -12
+1 -1
drivers/usb/wusbcore/rh.c
··· 326 326 static int wusbhc_rh_get_port_status(struct wusbhc *wusbhc, u16 port_idx, 327 327 u32 *_buf, u16 wLength) 328 328 { 329 - u16 *buf = (u16 *) _buf; 329 + __le16 *buf = (__le16 *)_buf; 330 330 331 331 if (port_idx > wusbhc->ports_max) 332 332 return -EINVAL;
+11 -11
include/linux/usb/association.h
··· 28 28 }; 29 29 30 30 /* Different fields defined by the spec */ 31 - #define WUSB_AR_AssociationTypeId { .id = 0x0000, .len = 2 } 32 - #define WUSB_AR_AssociationSubTypeId { .id = 0x0001, .len = 2 } 33 - #define WUSB_AR_Length { .id = 0x0002, .len = 4 } 34 - #define WUSB_AR_AssociationStatus { .id = 0x0004, .len = 4 } 35 - #define WUSB_AR_LangID { .id = 0x0008, .len = 2 } 36 - #define WUSB_AR_DeviceFriendlyName { .id = 0x000b, .len = 64 } /* max */ 37 - #define WUSB_AR_HostFriendlyName { .id = 0x000c, .len = 64 } /* max */ 38 - #define WUSB_AR_CHID { .id = 0x1000, .len = 16 } 39 - #define WUSB_AR_CDID { .id = 0x1001, .len = 16 } 40 - #define WUSB_AR_ConnectionContext { .id = 0x1002, .len = 48 } 41 - #define WUSB_AR_BandGroups { .id = 0x1004, .len = 2 } 31 + #define WUSB_AR_AssociationTypeId { .id = cpu_to_le16(0x0000), .len = cpu_to_le16(2) } 32 + #define WUSB_AR_AssociationSubTypeId { .id = cpu_to_le16(0x0001), .len = cpu_to_le16(2) } 33 + #define WUSB_AR_Length { .id = cpu_to_le16(0x0002), .len = cpu_to_le16(4) } 34 + #define WUSB_AR_AssociationStatus { .id = cpu_to_le16(0x0004), .len = cpu_to_le16(4) } 35 + #define WUSB_AR_LangID { .id = cpu_to_le16(0x0008), .len = cpu_to_le16(2) } 36 + #define WUSB_AR_DeviceFriendlyName { .id = cpu_to_le16(0x000b), .len = cpu_to_le16(64) } /* max */ 37 + #define WUSB_AR_HostFriendlyName { .id = cpu_to_le16(0x000c), .len = cpu_to_le16(64) } /* max */ 38 + #define WUSB_AR_CHID { .id = cpu_to_le16(0x1000), .len = cpu_to_le16(16) } 39 + #define WUSB_AR_CDID { .id = cpu_to_le16(0x1001), .len = cpu_to_le16(16) } 40 + #define WUSB_AR_ConnectionContext { .id = cpu_to_le16(0x1002), .len = cpu_to_le16(48) } 41 + #define WUSB_AR_BandGroups { .id = cpu_to_le16(0x1004), .len = cpu_to_le16(2) } 42 42 43 43 /* CBAF Control Requests (AMS1.0[T4-1] */ 44 44 enum {