Declare usb_gadget_ops structures as const as they are only stored in
the ops field of a usb_gadget structure. This field is of type const, so
usb_gadget_ops structures having this property can be declared const
too.
Done using Coccinelle:

@r1 disable optional_qualifier@
identifier i;
position p;
@@
static struct usb_gadget_ops i@p={...};

@ok1@
identifier r1.i;
position p;
struct isp1760_udc udc;
@@
udc.gadget.ops=&i@p

@bad@
position p!={r1.p,ok1.p};
identifier r1.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r1.i;
@@
+const
struct usb_gadget_ops i;

File size before: drivers/usb/isp1760/isp1760-udc.o
   text    data     bss     dec     hex filename
  12434    4136      16   16586    40ca usb/isp1760/isp1760-udc.o

File size after: drivers/usb/isp1760/isp1760-udc.o
   text    data     bss     dec     hex filename
  12530    4048      16   16594    40d2 usb/isp1760/isp1760-udc.o

Signed-off-by: Bhumika Goyal <[email protected]>
---
 drivers/usb/isp1760/isp1760-udc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/isp1760/isp1760-udc.c 
b/drivers/usb/isp1760/isp1760-udc.c
index 1c3d0fd..69400f3 100644
--- a/drivers/usb/isp1760/isp1760-udc.c
+++ b/drivers/usb/isp1760/isp1760-udc.c
@@ -1250,7 +1250,7 @@ static int isp1760_udc_stop(struct usb_gadget *gadget)
        return 0;
 }
 
-static struct usb_gadget_ops isp1760_udc_ops = {
+static const struct usb_gadget_ops isp1760_udc_ops = {
        .get_frame = isp1760_udc_get_frame,
        .wakeup = isp1760_udc_wakeup,
        .set_selfpowered = isp1760_udc_set_selfpowered,
-- 
1.9.1

Reply via email to