isdn: make USB device id constant
PATCH 1/1 isdn: make USB device id constant
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>
---
drivers/isdn/hardware/mISDN/hfcsusb.h 2010-01-08 13:36:54.000000000 +0100 renamed from drivers/isdn/hardware/mISDN/hfcsusb.h 2010-01-07 19:08:40.000000000 +0100 +1 -1
@@ -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)
drivers/isdn/hisax/hfc_usb.c 2010-01-08 13:49:53.000000000 +0100 renamed from drivers/isdn/hisax/hfc_usb.c 2010-01-07 19:08:40.000000000 +0100 +1 -1
@@ -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)
drivers/isdn/hisax/st5481_init.c 2010-01-08 13:50:45.000000000 +0100 renamed from drivers/isdn/hisax/st5481_init.c 2009-12-03 04:51:21.000000000 +0100 +1 -1
@@ -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) },
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Please provide a diffstat next time so that I don't have to scan the entire patch in order to see which source files it touches.
Thanks,
Tilman
Am 2010-01-12 08:52 schrieb Németh Márton:
Quoted 79 lines
From: Márton Németh <[email protected]>
The
id_tablefield of the structusb_device_idis 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;
@@(quoted diff) +1
-0+ conststruct I2 E[] = ...;// </smpl>
Signed-off-by Márton Németh <[email protected]>Cc Julia Lawall <[email protected]>---
diff -u -pa/drivers/isdn/hardware/mISDN/hfcsusb.hb/drivers/isdn/hardware/mISDN/hfcsusb.hdrivers/isdn/hardware/mISDN/hfcsusb.h 2010-01-08 13:36:54.000000000 +0100 renamed from drivers/isdn/hardware/mISDN/hfcsusb.h 2010-01-07 19:08:40.000000000 +0100 +1
-1@@ -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.cb/drivers/isdn/hisax/hfc_usb.cdrivers/isdn/hisax/hfc_usb.c 2010-01-08 13:49:53.000000000 +0100 renamed from drivers/isdn/hisax/hfc_usb.c 2010-01-07 19:08:40.000000000 +0100 +1
-1@@ -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.cb/drivers/isdn/hisax/st5481_init.cdrivers/isdn/hisax/st5481_init.c 2010-01-08 13:50:45.000000000 +0100 renamed from drivers/isdn/hisax/st5481_init.c 2009-12-03 04:51:21.000000000 +0100 +1
-2@@ -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) }, --
Quoted 4 lines
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- --
Tilman Schmidt E-Mail: [email protected]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeöffnet mindestens haltbar bis: (siehe Rückseite) -----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAktMiLYACgkQQ3+did9BuFuxHACeIOwmUG9hzbSN3LR6O5PESzv1 BaIAoJRH+u+megLsdwe++Bn8SwW6xl58
=iLF0
-----END PGP SIGNATURE-----