2010-01-10 12:14:35

by Németh Márton

[permalink] [raw]
Subject: [PATCH] firewire: make PCI device id constant

From: Márton Németh <[email protected]>

The id_table field of the struct pci_driver is constant in <linux/pci.h>
so it is worth to make pci_table 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/firewire/ohci.c b/drivers/firewire/ohci.c
--- a/drivers/firewire/ohci.c 2010-01-07 19:08:39.000000000 +0100
+++ b/drivers/firewire/ohci.c 2010-01-08 09:51:11.000000000 +0100
@@ -2657,7 +2657,7 @@ static int pci_resume(struct pci_dev *de
}
#endif

-static struct pci_device_id pci_table[] = {
+static const struct pci_device_id pci_table[] = {
{ PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_FIREWIRE_OHCI, ~0) },
{ }
};


2010-01-10 16:08:29

by Stefan Richter

[permalink] [raw]
Subject: Re: [PATCH] firewire: make PCI device id constant

N?meth M?rton wrote:
> The id_table field of the struct pci_driver is constant in <linux/pci.h>
> so it is worth to make pci_table also constant.
[...]
> --- a/drivers/firewire/ohci.c 2010-01-07 19:08:39.000000000 +0100
> +++ b/drivers/firewire/ohci.c 2010-01-08 09:51:11.000000000 +0100
> @@ -2657,7 +2657,7 @@ static int pci_resume(struct pci_dev *de
> }
> #endif
>
> -static struct pci_device_id pci_table[] = {
> +static const struct pci_device_id pci_table[] = {
> { PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_FIREWIRE_OHCI, ~0) },
> { }
> };

Committed to linux1394-2.6.git with an adequately shortened changelog.
--
Stefan Richter
-=====-==-=- ---= -=-=-
http://arcgraph.de/sr/