aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-hcd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci-hcd.c')
-rw-r--r--drivers/usb/host/xhci-hcd.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-hcd.c b/drivers/usb/host/xhci-hcd.c
index c6b921994b28..59ee61d2a198 100644
--- a/drivers/usb/host/xhci-hcd.c
+++ b/drivers/usb/host/xhci-hcd.c
@@ -1243,6 +1243,25 @@ static int __init xhci_hcd_init(void)
1243 return retval; 1243 return retval;
1244 } 1244 }
1245#endif 1245#endif
1246 /*
1247 * Check the compiler generated sizes of structures that must be laid
1248 * out in specific ways for hardware access.
1249 */
1250 BUILD_BUG_ON(sizeof(struct xhci_doorbell_array) != 256*32/8);
1251 BUILD_BUG_ON(sizeof(struct xhci_slot_ctx) != 8*32/8);
1252 BUILD_BUG_ON(sizeof(struct xhci_ep_ctx) != 8*32/8);
1253 /* xhci_device_control has eight fields, and also
1254 * embeds one xhci_slot_ctx and 31 xhci_ep_ctx
1255 */
1256 BUILD_BUG_ON(sizeof(struct xhci_device_control) != (8+8+8*31)*32/8);
1257 BUILD_BUG_ON(sizeof(struct xhci_stream_ctx) != 4*32/8);
1258 BUILD_BUG_ON(sizeof(union xhci_trb) != 4*32/8);
1259 BUILD_BUG_ON(sizeof(struct xhci_erst_entry) != 4*32/8);
1260 BUILD_BUG_ON(sizeof(struct xhci_cap_regs) != 7*32/8);
1261 BUILD_BUG_ON(sizeof(struct xhci_intr_reg) != 8*32/8);
1262 /* xhci_run_regs has eight fields and embeds 128 xhci_intr_regs */
1263 BUILD_BUG_ON(sizeof(struct xhci_run_regs) != (8+8*128)*32/8);
1264 BUILD_BUG_ON(sizeof(struct xhci_doorbell_array) != 256*32/8);
1246 return 0; 1265 return 0;
1247} 1266}
1248module_init(xhci_hcd_init); 1267module_init(xhci_hcd_init);