Message ID | 200906091504.37330.hverkuil@xs4all.nl (mailing list archive) |
---|---|
State | RFC |
Headers | show |
On Tue, 9 Jun 2009 15:04:36 +0200, Hans Verkuil wrote: > Here it is: > > --- linux-git/include/linux/i2c.h.orig 2009-06-09 14:53:32.000000000 +0200 > +++ linux-git/include/linux/i2c.h 2009-06-09 15:03:24.000000000 +0200 > @@ -412,6 +412,10 @@ > /* The numbers to use to set I2C bus address */ > #define ANY_I2C_BUS 0xffff > > +/* Construct an I2C_CLIENT_END-terminated array of i2c addresses */ > +#define I2C_ADDRS(addr, addrs...) \ > + ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) > + > > /* ----- functions exported by i2c.o */ > > > Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> > > Note that this can also be used to initialize an array: > > static const unsigned short addrs[] = I2C_ADDRS(0x2a, 0x2c); > > Whether you want to is another matter, but it works. This functionality is > also available in the oldest supported gcc (3.2). Applied, thanks.
--- linux-git/include/linux/i2c.h.orig 2009-06-09 14:53:32.000000000 +0200 +++ linux-git/include/linux/i2c.h 2009-06-09 15:03:24.000000000 +0200 @@ -412,6 +412,10 @@ /* The numbers to use to set I2C bus address */ #define ANY_I2C_BUS 0xffff +/* Construct an I2C_CLIENT_END-terminated array of i2c addresses */ +#define I2C_ADDRS(addr, addrs...) \ + ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) + /* ----- functions exported by i2c.o */