From: Márton Németh <[email protected]> The id_table field of the struct usb_device_id is constant in <linux/usb.h> so it is worth to make the initialization data also constant.
The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r@ disable decl_init,const_decl_init; identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // </smpl> Signed-off-by: Márton Németh <[email protected]> Cc: Julia Lawall <[email protected]> Cc: [email protected] --- diff -u -p a/drivers/isdn/hardware/mISDN/hfcsusb.h b/drivers/isdn/hardware/mISDN/hfcsusb.h --- a/drivers/isdn/hardware/mISDN/hfcsusb.h 2010-01-07 19:08:40.000000000 +0100 +++ b/drivers/isdn/hardware/mISDN/hfcsusb.h 2010-01-08 13:36:54.000000000 +0100 @@ -337,7 +337,7 @@ static const char *HFC_NT_LAYER1_STATES[ }; /* supported devices */ -static struct usb_device_id hfcsusb_idtab[] = { +static const struct usb_device_id hfcsusb_idtab[] = { { USB_DEVICE(0x0959, 0x2bd0), .driver_info = (unsigned long) &((struct hfcsusb_vdata) diff -u -p a/drivers/isdn/hisax/hfc_usb.c b/drivers/isdn/hisax/hfc_usb.c --- a/drivers/isdn/hisax/hfc_usb.c 2010-01-07 19:08:40.000000000 +0100 +++ b/drivers/isdn/hisax/hfc_usb.c 2010-01-08 13:49:53.000000000 +0100 @@ -64,7 +64,7 @@ typedef struct { } hfcsusb_vdata; /* VID/PID device list */ -static struct usb_device_id hfcusb_idtab[] = { +static const struct usb_device_id hfcusb_idtab[] = { { USB_DEVICE(0x0959, 0x2bd0), .driver_info = (unsigned long) &((hfcsusb_vdata) diff -u -p a/drivers/isdn/hisax/st5481_init.c b/drivers/isdn/hisax/st5481_init.c --- a/drivers/isdn/hisax/st5481_init.c 2009-12-03 04:51:21.000000000 +0100 +++ b/drivers/isdn/hisax/st5481_init.c 2010-01-08 13:50:45.000000000 +0100 @@ -160,7 +160,7 @@ static void disconnect_st5481(struct usb /* * The last 4 bits in the Product Id is set with 4 pins on the chip. */ -static struct usb_device_id st5481_ids[] = { +static const struct usb_device_id st5481_ids[] = { { USB_DEVICE(ST_VENDOR_ID, ST5481_PRODUCT_ID+0x0) }, { USB_DEVICE(ST_VENDOR_ID, ST5481_PRODUCT_ID+0x1) }, { USB_DEVICE(ST_VENDOR_ID, ST5481_PRODUCT_ID+0x2) }, _______________________________________________ Cocci mailing list [email protected] http://lists.diku.dk/mailman/listinfo/cocci (Web access from inside DIKUs LAN only)
