* [PATCH 3/3] drivers/media/tuners/fc0011.c: introduce macros for i2c_msg initialization
@ 2012-09-30 7:33 Julia Lawall
2012-10-01 22:36 ` Ryan Mallon
2012-10-02 5:31 ` Julia Lawall
0 siblings, 2 replies; 3+ messages in thread
From: Julia Lawall @ 2012-09-30 7:33 UTC (permalink / raw)
To: kernel-janitors
From: Julia Lawall <Julia.Lawall@lip6.fr>
Introduce use of I2c_MSG_READ/WRITE/OP, for readability.
A simplified version of the semantic patch that makes this change is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
expression a,b,c;
identifier x;
@@
struct i2c_msg x - {.addr = a, .buf = b, .len = c, .flags = I2C_M_RD}
+ I2C_MSG_READ(a,b,c)
;
@@
expression a,b,c;
identifier x;
@@
struct i2c_msg x - {.addr = a, .buf = b, .len = c, .flags = 0}
+ I2C_MSG_WRITE(a,b,c)
;
@@
expression a,b,c,d;
identifier x;
@@
struct i2c_msg x =
- {.addr = a, .buf = b, .len = c, .flags = d}
+ I2C_MSG_OP(a,b,c,d)
;
// </smpl>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
---
drivers/media/tuners/fc0011.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/drivers/media/tuners/fc0011.c b/drivers/media/tuners/fc0011.c
index e488254..b0036d6 100644
--- a/drivers/media/tuners/fc0011.c
+++ b/drivers/media/tuners/fc0011.c
@@ -80,8 +80,7 @@ struct fc0011_priv {
static int fc0011_writereg(struct fc0011_priv *priv, u8 reg, u8 val)
{
u8 buf[2] = { reg, val };
- struct i2c_msg msg = { .addr = priv->addr,
- .flags = 0, .buf = buf, .len = 2 };
+ struct i2c_msg msg = I2C_MSG_WRITE(priv->addr, buf, 2);
if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
dev_err(&priv->i2c->dev,
@@ -97,10 +96,8 @@ static int fc0011_readreg(struct fc0011_priv *priv, u8 reg, u8 *val)
{
u8 dummy;
struct i2c_msg msg[2] = {
- { .addr = priv->addr,
- .flags = 0, .buf = ®, .len = 1 },
- { .addr = priv->addr,
- .flags = I2C_M_RD, .buf = val ? : &dummy, .len = 1 },
+ I2C_MSG_WRITE(priv->addr, ®, 1),
+ I2C_MSG_READ(priv->addr, val ? : &dummy, 1),
};
if (i2c_transfer(priv->i2c, msg, 2) != 2) {
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH 3/3] drivers/media/tuners/fc0011.c: introduce macros for i2c_msg initialization
2012-09-30 7:33 [PATCH 3/3] drivers/media/tuners/fc0011.c: introduce macros for i2c_msg initialization Julia Lawall
@ 2012-10-01 22:36 ` Ryan Mallon
2012-10-02 5:31 ` Julia Lawall
1 sibling, 0 replies; 3+ messages in thread
From: Ryan Mallon @ 2012-10-01 22:36 UTC (permalink / raw)
To: kernel-janitors
On 30/09/12 17:33, Julia Lawall wrote:
> From: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Introduce use of I2c_MSG_READ/WRITE/OP, for readability.
>
> A simplified version of the semantic patch that makes this change is as
> follows: (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @@
> expression a,b,c;
> identifier x;
> @@
>
> struct i2c_msg x > - {.addr = a, .buf = b, .len = c, .flags = I2C_M_RD}
> + I2C_MSG_READ(a,b,c)
> ;
>
> @@
> expression a,b,c;
> identifier x;
> @@
>
> struct i2c_msg x > - {.addr = a, .buf = b, .len = c, .flags = 0}
> + I2C_MSG_WRITE(a,b,c)
> ;
>
> @@
> expression a,b,c,d;
> identifier x;
> @@
>
> struct i2c_msg x =
> - {.addr = a, .buf = b, .len = c, .flags = d}
> + I2C_MSG_OP(a,b,c,d)
> ;
> // </smpl>
>
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Looks okay. One minor comment, which could be done as a separate patch
to keep this one as just the straight conversion.
~Ryan
> ---
> drivers/media/tuners/fc0011.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/media/tuners/fc0011.c b/drivers/media/tuners/fc0011.c
> index e488254..b0036d6 100644
> --- a/drivers/media/tuners/fc0011.c
> +++ b/drivers/media/tuners/fc0011.c
> @@ -80,8 +80,7 @@ struct fc0011_priv {
> static int fc0011_writereg(struct fc0011_priv *priv, u8 reg, u8 val)
> {
> u8 buf[2] = { reg, val };
> - struct i2c_msg msg = { .addr = priv->addr,
> - .flags = 0, .buf = buf, .len = 2 };
> + struct i2c_msg msg = I2C_MSG_WRITE(priv->addr, buf, 2);
sizeof(buf)
>
> if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
> dev_err(&priv->i2c->dev,
> @@ -97,10 +96,8 @@ static int fc0011_readreg(struct fc0011_priv *priv, u8 reg, u8 *val)
> {
> u8 dummy;
> struct i2c_msg msg[2] = {
> - { .addr = priv->addr,
> - .flags = 0, .buf = ®, .len = 1 },
> - { .addr = priv->addr,
> - .flags = I2C_M_RD, .buf = val ? : &dummy, .len = 1 },
> + I2C_MSG_WRITE(priv->addr, ®, 1),
> + I2C_MSG_READ(priv->addr, val ? : &dummy, 1),
> };
>
> if (i2c_transfer(priv->i2c, msg, 2) != 2) {
>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH 3/3] drivers/media/tuners/fc0011.c: introduce macros for i2c_msg initialization
2012-09-30 7:33 [PATCH 3/3] drivers/media/tuners/fc0011.c: introduce macros for i2c_msg initialization Julia Lawall
2012-10-01 22:36 ` Ryan Mallon
@ 2012-10-02 5:31 ` Julia Lawall
1 sibling, 0 replies; 3+ messages in thread
From: Julia Lawall @ 2012-10-02 5:31 UTC (permalink / raw)
To: kernel-janitors
Thanks. I'll integrate the sizeof(buf) issue and resend everything in the
proper manner. The one case where the name of the buffer could change
seems like a separate patch.
julia
On Tue, 2 Oct 2012, Ryan Mallon wrote:
> On 30/09/12 17:33, Julia Lawall wrote:
>> From: Julia Lawall <Julia.Lawall@lip6.fr>
>>
>> Introduce use of I2c_MSG_READ/WRITE/OP, for readability.
>>
>> A simplified version of the semantic patch that makes this change is as
>> follows: (http://coccinelle.lip6.fr/)
>>
>> // <smpl>
>> @@
>> expression a,b,c;
>> identifier x;
>> @@
>>
>> struct i2c_msg x >> - {.addr = a, .buf = b, .len = c, .flags = I2C_M_RD}
>> + I2C_MSG_READ(a,b,c)
>> ;
>>
>> @@
>> expression a,b,c;
>> identifier x;
>> @@
>>
>> struct i2c_msg x >> - {.addr = a, .buf = b, .len = c, .flags = 0}
>> + I2C_MSG_WRITE(a,b,c)
>> ;
>>
>> @@
>> expression a,b,c,d;
>> identifier x;
>> @@
>>
>> struct i2c_msg x >> - {.addr = a, .buf = b, .len = c, .flags = d}
>> + I2C_MSG_OP(a,b,c,d)
>> ;
>> // </smpl>
>>
>> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
>
> Looks okay. One minor comment, which could be done as a separate patch
> to keep this one as just the straight conversion.
>
> ~Ryan
>
>> ---
>> drivers/media/tuners/fc0011.c | 9 +++------
>> 1 file changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/media/tuners/fc0011.c b/drivers/media/tuners/fc0011.c
>> index e488254..b0036d6 100644
>> --- a/drivers/media/tuners/fc0011.c
>> +++ b/drivers/media/tuners/fc0011.c
>> @@ -80,8 +80,7 @@ struct fc0011_priv {
>> static int fc0011_writereg(struct fc0011_priv *priv, u8 reg, u8 val)
>> {
>> u8 buf[2] = { reg, val };
>> - struct i2c_msg msg = { .addr = priv->addr,
>> - .flags = 0, .buf = buf, .len = 2 };
>> + struct i2c_msg msg = I2C_MSG_WRITE(priv->addr, buf, 2);
>
> sizeof(buf)
>
>>
>> if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
>> dev_err(&priv->i2c->dev,
>> @@ -97,10 +96,8 @@ static int fc0011_readreg(struct fc0011_priv *priv, u8 reg, u8 *val)
>> {
>> u8 dummy;
>> struct i2c_msg msg[2] = {
>> - { .addr = priv->addr,
>> - .flags = 0, .buf = ®, .len = 1 },
>> - { .addr = priv->addr,
>> - .flags = I2C_M_RD, .buf = val ? : &dummy, .len = 1 },
>> + I2C_MSG_WRITE(priv->addr, ®, 1),
>> + I2C_MSG_READ(priv->addr, val ? : &dummy, 1),
>> };
>>
>> if (i2c_transfer(priv->i2c, msg, 2) != 2) {
>>
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-10-02 5:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-30 7:33 [PATCH 3/3] drivers/media/tuners/fc0011.c: introduce macros for i2c_msg initialization Julia Lawall
2012-10-01 22:36 ` Ryan Mallon
2012-10-02 5:31 ` Julia Lawall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox