Re: [PATCH] ddbridge: constify i2c_algorithm structure
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" : 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 --- 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! -- Gustavo A. R. Silva
Re: [PATCH] ddbridge: constify i2c_algorithm structure
Am Sun, 9 Jul 2017 20:15:36 -0500 schrieb "Gustavo A. R. Silva" : > 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 > --- > 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 -- https://github.com/herrnst
[PATCH] ddbridge: 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 --- 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, }; -- 2.5.0