Re: [PATCH] i2c-core: i2c bitbang gpio structure

From: Jean Delvare
Date: Fri Mar 09 2007 - 11:57:28 EST


Hi Bryan,

On Fri, 09 Mar 2007 18:13:21 +0800, Wu, Bryan wrote:
> Hi folks,
>
> A new structure is added to i2c-core for GPIO-based I2C interface
> adapter. My latest GPIO based I2C adapter driver for Blackfin system
> will use this stuff. And also IXP4XX GPIO based I2C driver can also be
> moved to this.
>
> Signed-off-by: Bryan Wu <bryan.wu@xxxxxxxxxx>
> ---
> include/linux/i2c.h | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> Index: include/linux/i2c.h
> ===================================================================
> --- include/linux/i2c.h (revision 2813)
> +++ include/linux/i2c.h (working copy)
> @@ -201,6 +201,26 @@ struct i2c_algorithm {
> };
>
> /*
> + * Some chips do not have an I2C unit, so GPIO lines are just used to
> + * Used as platform_data to provide GPIO pin information to this kind GPIO
> + * based I2C driver.
> + */
> +struct i2c_bitbang_gpio {
> + int sda;
> + int scl;
> +};

Why would this be included in the generic i2c.h header file? As far as
I can see this structure only makes sense for bit-banged I2C busses, so
this structure should be declared in i2c-algo-bit.h.

Also, this structure alone isn't very useful. I'm waiting to see
drivers actually making use of it before I will consider merging this
patch at all.

> +
> +static inline int i2c_bitbang_gpio_sda(struct i2c_bitbang_gpio *gpio)
> +{
> + return (gpio->sda);
> +}
> +
> +static inline int i2c_bitbang_gpio_scl(struct i2c_bitbang_gpio *gpio)
> +{
> + return (gpio->scl);
> +}

What's the point of these?

--
Jean Delvare
-
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/