Message ID | 20170710011536.GA24235@embeddedgus (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Am Sun, 9 Jul 2017 20:15:36 -0500 schrieb "Gustavo A. R. Silva" <garsilva@embeddedor.com>: > 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> > --- > drivers/media/pci/ddbridge/ddbridge-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c > b/drivers/media/pci/ddbridge/ddbridge-core.c index cd1723e..9663a4c > 100644 --- a/drivers/media/pci/ddbridge/ddbridge-core.c > +++ b/drivers/media/pci/ddbridge/ddbridge-core.c > @@ -200,7 +200,7 @@ static u32 ddb_i2c_functionality(struct > i2c_adapter *adap) return I2C_FUNC_SMBUS_EMUL; > } > > -static struct i2c_algorithm ddb_i2c_algo = { > +static const struct i2c_algorithm ddb_i2c_algo = { > .master_xfer = ddb_i2c_master_xfer, > .functionality = ddb_i2c_functionality, > }; Hi Gustavo, Hi all, please hold this single one patch from the constify patches back for now, since we're in the process of bumping the whole driver to a newer version which involves lots of code shuffling. With this, quite some GIT rebasing work needs to be done, and adding this one liner at a later time (thus rebasing it) is way easier. To be sure this will not be forgotten afterwards, I've already posted a patch applying the exact change at [1]. Thank you very much! [1] https://patchwork.linuxtv.org/patch/42393/ Best regards, Daniel Scheller
Hi Daniel, On 07/10/2017 10:16 AM, Daniel Scheller wrote: > Am Sun, 9 Jul 2017 20:15:36 -0500 > schrieb "Gustavo A. R. Silva" <garsilva@embeddedor.com>: > >> 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> >> --- >> drivers/media/pci/ddbridge/ddbridge-core.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c >> b/drivers/media/pci/ddbridge/ddbridge-core.c index cd1723e..9663a4c >> 100644 --- a/drivers/media/pci/ddbridge/ddbridge-core.c >> +++ b/drivers/media/pci/ddbridge/ddbridge-core.c >> @@ -200,7 +200,7 @@ static u32 ddb_i2c_functionality(struct >> i2c_adapter *adap) return I2C_FUNC_SMBUS_EMUL; >> } >> >> -static struct i2c_algorithm ddb_i2c_algo = { >> +static const struct i2c_algorithm ddb_i2c_algo = { >> .master_xfer = ddb_i2c_master_xfer, >> .functionality = ddb_i2c_functionality, >> }; > Hi Gustavo, > Hi all, > > please hold this single one patch from the constify patches back for > now, since we're in the process of bumping the whole driver to a newer > version which involves lots of code shuffling. With this, quite some > GIT rebasing work needs to be done, and adding this one liner at a > later time (thus rebasing it) is way easier. > > To be sure this will not be forgotten afterwards, I've already posted a > patch applying the exact change at [1]. > > Thank you very much! > > [1] https://patchwork.linuxtv.org/patch/42393/ Thank you!
diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c index cd1723e..9663a4c 100644 --- a/drivers/media/pci/ddbridge/ddbridge-core.c +++ b/drivers/media/pci/ddbridge/ddbridge-core.c @@ -200,7 +200,7 @@ static u32 ddb_i2c_functionality(struct i2c_adapter *adap) return I2C_FUNC_SMBUS_EMUL; } -static struct i2c_algorithm ddb_i2c_algo = { +static const struct i2c_algorithm ddb_i2c_algo = { .master_xfer = ddb_i2c_master_xfer, .functionality = ddb_i2c_functionality, };
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> --- drivers/media/pci/ddbridge/ddbridge-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)