Em Sat, 6 Jun 2009 15:00:48 +0200 Hans Verkuil <hverkuil@xxxxxxxxx> escreveu: > Hi all, > > For video4linux we sometimes need to probe for a single i2c address. > Normally you would do it like this: > > static const unsigned short addrs[] = { > addr, I2C_CLIENT_END > }; > > client = i2c_new_probed_device(adapter, &info, addrs); > > This is a bit awkward and I came up with this macro: > > #define V4L2_I2C_ADDRS(addr, addrs...) \ > ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) > > This can construct a list of one or more i2c addresses on the fly. But this > is something that really belongs in i2c.h, renamed to I2C_ADDRS. > > With this macro we can just do: > > client = i2c_new_probed_device(adapter, &info, I2C_ADDRS(addr)); > > Comments? Seems fine for me, but Your define has V4L2_foo. Since this has nothing to do with V4L2, IMO, it is better to declare it as: #define I2C_ADDRS(addr, addrs...) \ ((const unsigned short []){ addr, ## addrs, I2C_CLIENT_END }) Cheers, Mauro -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html