Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] constify i2c_algorithm structures

These i2c_algorithm structures are only stored in the alg field of an
i2c_adapter structure, which is declared as const. This declare the
structures as const as well.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r disable optional_qualifier@
identifier i;
position p;
@@
static struct i2c_algorithm i@p = { ... };

@ok@
identifier r.i;
struct i2c_adapter e;
position p;
@@
e.alg = &i@p;

@bad@
position p != {r.p,ok.p};
identifier r.i;
@@
i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
struct i2c_algorithm i = { ... };
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>

authored by

Julia Lawall and committed by
Mauro Carvalho Chehab
78f2c50b f3c4a8f8

+12 -12
+1 -1
drivers/media/pci/cx23885/cx23885-i2c.c
··· 258 258 return I2C_FUNC_SMBUS_EMUL | I2C_FUNC_I2C; 259 259 } 260 260 261 - static struct i2c_algorithm cx23885_i2c_algo_template = { 261 + static const struct i2c_algorithm cx23885_i2c_algo_template = { 262 262 .master_xfer = i2c_xfer, 263 263 .functionality = cx23885_functionality, 264 264 };
+1 -1
drivers/media/pci/cx25821/cx25821-i2c.c
··· 281 281 I2C_FUNC_SMBUS_READ_WORD_DATA | I2C_FUNC_SMBUS_WRITE_WORD_DATA; 282 282 } 283 283 284 - static struct i2c_algorithm cx25821_i2c_algo_template = { 284 + static const struct i2c_algorithm cx25821_i2c_algo_template = { 285 285 .master_xfer = i2c_xfer, 286 286 .functionality = cx25821_functionality, 287 287 #ifdef NEED_ALGO_CONTROL
+1 -1
drivers/media/pci/ivtv/ivtv-i2c.c
··· 625 625 return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; 626 626 } 627 627 628 - static struct i2c_algorithm ivtv_algo = { 628 + static const struct i2c_algorithm ivtv_algo = { 629 629 .master_xfer = ivtv_xfer, 630 630 .functionality = ivtv_functionality, 631 631 };
+1 -1
drivers/media/pci/saa7134/saa7134-i2c.c
··· 338 338 return I2C_FUNC_SMBUS_EMUL; 339 339 } 340 340 341 - static struct i2c_algorithm saa7134_algo = { 341 + static const struct i2c_algorithm saa7134_algo = { 342 342 .master_xfer = saa7134_i2c_xfer, 343 343 .functionality = functionality, 344 344 };
+1 -1
drivers/media/pci/saa7164/saa7164-i2c.c
··· 75 75 return I2C_FUNC_I2C; 76 76 } 77 77 78 - static struct i2c_algorithm saa7164_i2c_algo_template = { 78 + static const struct i2c_algorithm saa7164_i2c_algo_template = { 79 79 .master_xfer = i2c_xfer, 80 80 .functionality = saa7164_functionality, 81 81 };
+1 -1
drivers/media/radio/si4713/radio-usb-si4713.c
··· 402 402 return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; 403 403 } 404 404 405 - static struct i2c_algorithm si4713_algo = { 405 + static const struct i2c_algorithm si4713_algo = { 406 406 .master_xfer = si4713_transfer, 407 407 .functionality = si4713_functionality, 408 408 };
+1 -1
drivers/media/usb/cx231xx/cx231xx-i2c.c
··· 454 454 return I2C_FUNC_SMBUS_EMUL | I2C_FUNC_I2C; 455 455 } 456 456 457 - static struct i2c_algorithm cx231xx_algo = { 457 + static const struct i2c_algorithm cx231xx_algo = { 458 458 .master_xfer = cx231xx_i2c_xfer, 459 459 .functionality = functionality, 460 460 };
+1 -1
drivers/media/usb/em28xx/em28xx-i2c.c
··· 855 855 return 0; 856 856 } 857 857 858 - static struct i2c_algorithm em28xx_algo = { 858 + static const struct i2c_algorithm em28xx_algo = { 859 859 .master_xfer = em28xx_i2c_xfer, 860 860 .functionality = functionality, 861 861 };
+1 -1
drivers/media/usb/go7007/go7007-i2c.c
··· 191 191 return I2C_FUNC_SMBUS_BYTE_DATA; 192 192 } 193 193 194 - static struct i2c_algorithm go7007_algo = { 194 + static const struct i2c_algorithm go7007_algo = { 195 195 .smbus_xfer = go7007_smbus_xfer, 196 196 .master_xfer = go7007_i2c_master_xfer, 197 197 .functionality = go7007_functionality,
+1 -1
drivers/media/usb/go7007/go7007-usb.c
··· 1032 1032 return (I2C_FUNC_SMBUS_EMUL) & ~I2C_FUNC_SMBUS_QUICK; 1033 1033 } 1034 1034 1035 - static struct i2c_algorithm go7007_usb_algo = { 1035 + static const struct i2c_algorithm go7007_usb_algo = { 1036 1036 .master_xfer = go7007_usb_i2c_master_xfer, 1037 1037 .functionality = go7007_usb_functionality, 1038 1038 };
+1 -1
drivers/media/usb/hdpvr/hdpvr-i2c.c
··· 180 180 return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; 181 181 } 182 182 183 - static struct i2c_algorithm hdpvr_algo = { 183 + static const struct i2c_algorithm hdpvr_algo = { 184 184 .master_xfer = hdpvr_transfer, 185 185 .functionality = hdpvr_functionality, 186 186 };
+1 -1
drivers/media/usb/stk1160/stk1160-i2c.c
··· 235 235 return I2C_FUNC_SMBUS_EMUL; 236 236 } 237 237 238 - static struct i2c_algorithm algo = { 238 + static const struct i2c_algorithm algo = { 239 239 .master_xfer = stk1160_i2c_xfer, 240 240 .functionality = functionality, 241 241 };