Re: [PATCH 13/13] drivers/media/tuners/e4000.c: use macros for i2c_msg initialization

Joe Perches
2012-10-07T18:16:22Z

On Sun, 2012-10-07 at 19:18 +0200, Julia Lawall wrote:
> On Sun, 7 Oct 2012, walter harms wrote:
> > 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:
> >>>> Introduce use of I2c_MSG_READ/WRITE/OP, for readability.
> >>>> struct i2c_msg x =
> >>>> - {.addr = a, .buf = b, .len = c, .flags = I2C_M_RD}
> >>>> + I2C_MSG_READ(a,b,c)
[]
> >>>> struct i2c_msg x =
> >>>> - {.addr = a, .buf = b, .len = c, .flags = 0}
> >>>> + I2C_MSG_WRITE(a,b,c)
[]
> > do you really thing that a macro is appropriate here ? I feel uneasy about it
> > but i can not offer an other solution.

I think the macros are fine.

> Some people thought that it would be nice to have the macros rather than
> the inlined field initializations, especially since there is no flag for
> write. A separate question is whether an array of one element is useful,
> or whether one should systematically use & on a simple variable of the
> structure type. I'm open to suggestions about either point.

I think the macro naming is not great.

Maybe add DEFINE_/DECLARE_/_INIT or something other than an action
name type to the macro names.

I think the consistency is better if all the references are done
as arrays, even for single entry arrays.

It's all quibbling in any case.