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

media: zd1301_demod: constify i2c_algorithm structure

Check for i2c_algorithm structures that are only stored in
the algo field of an i2c_adapter structure. This field is
declared const, so i2c_algorithm structures that have this
property can be declared as const also.

This issue was identified using Coccinelle and the following
semantic patch:

@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.algo = &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 = { ... };

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>

authored by

Gustavo A. R. Silva and committed by
Mauro Carvalho Chehab
c51df136 28e83542

+1 -1
+1 -1
drivers/media/dvb-frontends/zd1301_demod.c
··· 445 445 return I2C_FUNC_I2C; 446 446 } 447 447 448 - static struct i2c_algorithm zd1301_demod_i2c_algorithm = { 448 + static const struct i2c_algorithm zd1301_demod_i2c_algorithm = { 449 449 .master_xfer = zd1301_demod_i2c_master_xfer, 450 450 .functionality = zd1301_demod_i2c_functionality, 451 451 };