* [PATCH] isdn: make USB device id constant
@ 2010-01-12 7:52 Németh Márton
2010-01-12 14:35 ` Tilman Schmidt
0 siblings, 1 reply; 2+ messages in thread
From: Németh Márton @ 2010-01-12 7:52 UTC (permalink / raw)
To: Karsten Keil; +Cc: isdn4linux, LKML, Julia Lawall, cocci
From: Márton Németh <nm127@freemail.hu>
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 <nm127@freemail.hu>
Cc: Julia Lawall <julia@diku.dk>
Cc: cocci@diku.dk
---
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) },
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] isdn: make USB device id constant
2010-01-12 7:52 [PATCH] isdn: make USB device id constant Németh Márton
@ 2010-01-12 14:35 ` Tilman Schmidt
0 siblings, 0 replies; 2+ messages in thread
From: Tilman Schmidt @ 2010-01-12 14:35 UTC (permalink / raw)
To: Németh Márton
Cc: Karsten Keil, isdn4linux, LKML, Julia Lawall, cocci
-----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:
> From: Márton Németh <nm127@freemail.hu>
>
> 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 <nm127@freemail.hu>
> Cc: Julia Lawall <julia@diku.dk>
> Cc: cocci@diku.dk
> ---
> 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) },
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> 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: tilman@imap.cc
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-----
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-01-12 14:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-12 7:52 [PATCH] isdn: make USB device id constant Németh Márton
2010-01-12 14:35 ` Tilman Schmidt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox