The hc_driver structure is only passed as the first argument to usb_create_hcd, which is declared as const. Thus the hc_driver structure itself can be const.
Done with the help of Coccinelle.
// <smpl> @r disable optional_qualifier@ identifier i; position p; @@
static struct hc_driver i@p = { ... };
@ok1@ identifier r.i; expression e1; position p; @@
usb_create_hcd(&i@p,...)
@bad@ position p != {r.p,ok1.p}; identifier r.i; struct hc_driver e; @@
e@i@p
@depends on !bad disable optional_qualifier@ identifier r.i; @@
static +const struct hc_driver i = { ... }; // </smpl>
---
drivers/staging/greybus/usb.c | 2 +- drivers/usb/c67x00/c67x00-hcd.c | 2 +- drivers/usb/host/hwa-hc.c | 2 +- drivers/usb/host/isp116x-hcd.c | 2 +- drivers/usb/host/isp1362-hcd.c | 2 +- drivers/usb/host/max3421-hcd.c | 2 +- drivers/usb/host/r8a66597-hcd.c | 2 +- drivers/usb/host/sl811-hcd.c | 2 +- drivers/usb/host/u132-hcd.c | 2 +- drivers/usb/host/whci/hcd.c | 2 +- drivers/usb/renesas_usbhs/mod_host.c | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-)