[PATCH] i2c-powermac: Reject unsupported I2C transactions
Benjamin Herrenschmidt
benh at kernel.crashing.org
Wed Oct 14 16:39:48 EST 2009
On Wed, 2009-09-30 at 22:14 +0200, Jean Delvare wrote:
> The i2c-powermac driver doesn't support arbitrary multi-message I2C
> transactions, only SMBus ones. Make it clear by returning an error if
> a multi-message I2C transaction is attempted. This is better than only
> processing the first message, because most callers won't recover from
> the short transaction. Anyone wishing to issue multi-message
> transactions should use the SMBus API instead of the raw I2C API.
>
> Signed-off-by: Jean Delvare <khali at linux-fr.org>
Acked-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> Cc: Paul Mackerras <paulus at samba.org>
> ---
> drivers/i2c/busses/i2c-powermac.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> --- linux-2.6.32-rc1.orig/drivers/i2c/busses/i2c-powermac.c 2009-06-10 05:05:27.000000000 +0200
> +++ linux-2.6.32-rc1/drivers/i2c/busses/i2c-powermac.c 2009-09-30 20:29:42.000000000 +0200
> @@ -146,6 +146,12 @@ static int i2c_powermac_master_xfer( str
> int read;
> int addrdir;
>
> + if (num != 1) {
> + dev_err(&adap->dev,
> + "Multi-message I2C transactions not supported\n");
> + return -EOPNOTSUPP;
> + }
> +
> if (msgs->flags & I2C_M_TEN)
> return -EINVAL;
> read = (msgs->flags & I2C_M_RD) != 0;
>
>
More information about the Linuxppc-dev
mailing list