linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: walter harms <wharms@bfs.de>
To: Julia Lawall <julia.lawall@lip6.fr>
Cc: Antti Palosaari <crope@iki.fi>,
	kernel-janitors@vger.kernel.org, rmallon@gmail.com,
	shubhrajyoti@ti.com,
	Mauro Carvalho Chehab <mchehab@infradead.org>,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 13/13] drivers/media/tuners/e4000.c: use macros for i2c_msg initialization
Date: Sun, 07 Oct 2012 19:13:24 +0200	[thread overview]
Message-ID: <5071B834.1010200@bfs.de> (raw)
In-Reply-To: <alpine.DEB.2.02.1210071839040.2745@localhost6.localdomain6>



Am 07.10.2012 18:44, schrieb Julia Lawall:
> On Sun, 7 Oct 2012, walter harms wrote:
> 
>>
>>
>> Am 07.10.2012 17:38, schrieb Julia Lawall:
>>> From: Julia Lawall <Julia.Lawall@lip6.fr>
>>>
>>> Introduce use of I2c_MSG_READ/WRITE/OP, for readability.
>>>
>>> In the second i2c_msg structure, a length expressed as an explicit
>>> constant
>>> is also re-expressed as the size of the buffer, reg.
>>>
>>> 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/e4000.c |   20 +++-----------------
>>>  1 file changed, 3 insertions(+), 17 deletions(-)
>>>
>>> diff --git a/drivers/media/tuners/e4000.c b/drivers/media/tuners/e4000.c
>>> index 1b33ed3..8f182fc 100644
>>> --- a/drivers/media/tuners/e4000.c
>>> +++ b/drivers/media/tuners/e4000.c
>>> @@ -26,12 +26,7 @@ static int e4000_wr_regs(struct e4000_priv *priv,
>>> u8 reg, u8 *val, int len)
>>>      int ret;
>>>      u8 buf[1 + len];
>>>      struct i2c_msg msg[1] = {
>>> -        {
>>> -            .addr = priv->cfg->i2c_addr,
>>> -            .flags = 0,
>>> -            .len = sizeof(buf),
>>> -            .buf = buf,
>>> -        }
>>> +        I2C_MSG_WRITE(priv->cfg->i2c_addr, buf, sizeof(buf))
>>>      };
>>>
>>
>> Any reason why struct i2c_msg is an array ?
> 
> I assumed that it looked more harmonious with the other uses of
> i2c_transfer, which takes as arguments an array and the number of elements.
> 
> But there are some files that instead use i2c_transfer(priv->i2c, &msg, 1).
> I can change them all to do that if that is preferred.  But maybe I will
> wait a little bit to see if there are other issues to address at the
> same time.
> 
> thanks,
> julia
> 

Hi Julia,
please be aware i am not the maintainer only a distant watcher :)

do you really thing that a macro is appropriate here ? I feel uneasy about it
but i can not offer an other solution.

nothing to worry about,
just my 2 cents.

re,
 wh


>>
>> re,
>> wh
>>
>>>      buf[0] = reg;
>>> @@ -54,17 +49,8 @@ static int e4000_rd_regs(struct e4000_priv *priv,
>>> u8 reg, u8 *val, int len)
>>>      int ret;
>>>      u8 buf[len];
>>>      struct i2c_msg msg[2] = {
>>> -        {
>>> -            .addr = priv->cfg->i2c_addr,
>>> -            .flags = 0,
>>> -            .len = 1,
>>> -            .buf = &reg,
>>> -        }, {
>>> -            .addr = priv->cfg->i2c_addr,
>>> -            .flags = I2C_M_RD,
>>> -            .len = sizeof(buf),
>>> -            .buf = buf,
>>> -        }
>>> +        I2C_MSG_WRITE(priv->cfg->i2c_addr, &reg, sizeof(reg)),
>>> +        I2C_MSG_READ(priv->cfg->i2c_addr, buf, sizeof(buf))
>>>      };
>>>
>>>      ret = i2c_transfer(priv->i2c, msg, 2);
>>>
>>> -- 
>>> To unsubscribe from this list: send the line "unsubscribe
>>> kernel-janitors" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>> -- 
>> To unsubscribe from this list: send the line "unsubscribe
>> kernel-janitors" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
> 
> 

  reply	other threads:[~2012-10-07 17:13 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-07 15:38 [PATCH 0/11] introduce macros for i2c_msg initialization Julia Lawall
2012-10-07 15:38 ` [PATCH 13/13] drivers/media/tuners/e4000.c: use " Julia Lawall
2012-10-07 16:33   ` walter harms
2012-10-07 16:44     ` Julia Lawall
2012-10-07 17:13       ` walter harms [this message]
2012-10-07 17:18         ` Julia Lawall
2012-10-07 18:16           ` Joe Perches
2012-10-07 18:56             ` Julia Lawall
2012-10-07 21:39               ` Joe Perches
2012-10-07 21:43                 ` Julia Lawall
2012-10-07 21:51                   ` Joe Perches
2012-10-08  1:56                     ` Mauro Carvalho Chehab
2012-10-08  2:11                       ` Ryan Mallon
2012-10-08  7:54                         ` Antti Palosaari
2012-10-08  8:31                         ` Julia Lawall
2012-10-09 23:32                           ` Mauro Carvalho Chehab
2012-10-11  6:45                             ` Julia Lawall
2012-12-18 11:46                               ` Jean Delvare
2012-12-18 12:36                                 ` Julia Lawall
2012-12-18 13:13                                   ` Wolfram Sang
2012-10-09 23:50                           ` Mauro Carvalho Chehab
2012-10-08  5:04                     ` Julia Lawall
2012-10-07 21:49                 ` Ryan Mallon
2012-10-07 21:52       ` Ryan Mallon
2012-10-07 15:38 ` [PATCH 2/13] drivers/media/tuners/mxl5007t.c: " Julia Lawall
2012-10-09 12:30   ` Jean Delvare
2012-10-09 12:50     ` Julia Lawall
2012-10-07 15:38 ` [PATCH 3/13] drivers/media/tuners/qt1010.c: " Julia Lawall
2012-10-07 21:55   ` Ryan Mallon
2012-10-08  5:05     ` Julia Lawall
2012-10-08  5:13       ` Ryan Mallon
2012-10-08  5:24         ` Julia Lawall
2012-10-09 12:12           ` Jean Delvare
2012-10-09 12:51             ` Julia Lawall
2012-10-07 15:38 ` [PATCH 4/13] drivers/media/tuners/tda18212.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 5/13] drivers/media/tuners: " Julia Lawall
2012-10-07 22:05   ` Ryan Mallon
2012-10-08  5:12     ` Julia Lawall
2012-10-07 15:38 ` [PATCH 6/13] drivers/media/tuners/tda18271-common.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 7/13] drivers/media/tuners/tua9001.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 8/13] drivers/media/tuners/fc2580.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 9/13] drivers/media/tuners/fc0011.c: " Julia Lawall
2012-10-07 16:43   ` walter harms
2012-10-07 16:50     ` Julia Lawall
2012-10-07 16:54       ` walter harms
2012-10-07 18:05       ` Michael Büsch
2012-10-09 12:06       ` Jean Delvare
2012-10-07 15:38 ` [PATCH 10/13] drivers/media/tuners/tda8290.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 11/13] drivers/media/tuners/tda18218.c: " Julia Lawall
2012-10-07 15:38 ` [PATCH 12/13] drivers/media/tuners/max2165.c: " Julia Lawall
2012-10-07 22:14   ` Ryan Mallon
2012-10-08  5:13     ` Julia Lawall
2012-10-09 15:32 ` [PATCH 0/11] introduce " Jean Delvare
2012-10-09 15:43   ` Julia Lawall
2012-10-22  9:18   ` Julia Lawall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5071B834.1010200@bfs.de \
    --to=wharms@bfs.de \
    --cc=crope@iki.fi \
    --cc=julia.lawall@lip6.fr \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@infradead.org \
    --cc=rmallon@gmail.com \
    --cc=shubhrajyoti@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).