• Márton Németh's avatar
    i2c: Make PCI device ids constant · 4111ecd2
    Márton Németh authored
    The id_table field of the struct pci_driver is constant in <linux/pci.h>
    so it is worth to make 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: default avatarMárton Németh <nm127@freemail.hu>
    Cc: Julia Lawall <julia@diku.dk>
    Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
    4111ecd2
i2c-amd8111.c 11.1 KB