Re: [PATCH 3/7] rtc: Convert struct i2c_msg initialization to C99format

From: Julia Lawall
Date: Tue Sep 18 2012 - 01:53:16 EST


On Tue, 18 Sep 2012, Ryan Mallon wrote:

On 18/09/12 15:40, Shubhrajyoti wrote:
On Tuesday 18 September 2012 07:21 AM, Ryan Mallon wrote:
Actually, I wonder if it is useful to have something like:.
Read and write differ only in the flag also it will be a deviation from
what $SUBJECT
would warrant. So could be a separate patch.

Sure, but I think it would help make the code even more readable than
just converting to C99 initialisers (especially since putting the C99
initialiser all on one line is hard to read),

The one line thing is the fault of Coccinelle :)

julia

and there is little sense
in doing one clean up and then replacing it later with a different clean up.

If you are worried about the duplication of code for a single flag
difference you could always do:

#define I2C_OP(_addr, _buf, _len, _flags) \
...

#define I2C_WRITE(addr, buf, len) I2C_OP(addr, buf, len, 0)
#define I2C_READ(addr, buf, len) I2C_OP(addr, buf, len, I2C_M_RD)

~Ryan


#define I2C_WRITE(_addr, _buf, _len) { \
.addr = _addr, \
.buf = _buf, \
.len = _len, \
}

#define I2C_READ(_addr, _buf, _len) { \
.addr = _addr, \
.buf = _buf, \
.len = _len, \
.flags = I2C_M_RD, \
}

and then write this as:

struct i2c_msg msgs[2] = {
I2C_WRITE(client->addr, reg_addr, sizeof(reg_addr)),
I2C_READ(client->addr, buf, len),
};



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/