2010-01-10 00:11:18

by Németh Márton

[permalink] [raw]
Subject: [PATCH] leds: 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_device_id 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/leds/leds-ss4200.c b/drivers/leds/leds-ss4200.c
--- a/drivers/leds/leds-ss4200.c 2010-01-07 19:08:40.000000000 +0100
+++ b/drivers/leds/leds-ss4200.c 2010-01-08 11:25:42.000000000 +0100
@@ -63,7 +63,7 @@ MODULE_LICENSE("GPL");
/*
* PCI ID of the Intel ICH7 LPC Device within which the GPIO block lives.
*/
-static struct pci_device_id ich7_lpc_pci_id[] =
+static const struct pci_device_id ich7_lpc_pci_id[] =
{
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_0) },
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_ICH7_1) },


2010-01-18 13:58:54

by Richard Purdie

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

On Sun, 2010-01-10 at 01:11 +0100, Németh Márton wrote:
> 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_device_id also constant.
>
> The semantic match that finds this kind of pattern is as follows:
> (http://coccinelle.lip6.fr/)

Queued in the LED tree, thanks.

Richard

--
Richard Purdie
Intel Open Source Technology Centre