diff options
author | Jean Delvare <khali@linux-fr.org> | 2008-07-14 16:38:25 -0400 |
---|---|---|
committer | Jean Delvare <khali@mahadeva.delvare> | 2008-07-14 16:38:25 -0400 |
commit | ac7fc4fb2b6a126af8d07f46500440c9641976cf (patch) | |
tree | 1ba7a6b229699f6d69cfe3f1bd74c020e952e16b /drivers/i2c/busses/i2c-ali1563.c | |
parent | fa63cd56d2f09806169307d761e8f430e23bc09b (diff) |
i2c: Consistently reject unsupported transactions
Many PC SMBus host controller drivers don't properly handle the case
where they are requested to achieve a transaction they do not support.
Update them so that the consistently print a warning message and
return a single error value in this case.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-ali1563.c')
-rw-r--r-- | drivers/i2c/busses/i2c-ali1563.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/i2c/busses/i2c-ali1563.c b/drivers/i2c/busses/i2c-ali1563.c index 30bd3ee70386..da5a382eee93 100644 --- a/drivers/i2c/busses/i2c-ali1563.c +++ b/drivers/i2c/busses/i2c-ali1563.c | |||
@@ -246,10 +246,6 @@ static s32 ali1563_access(struct i2c_adapter * a, u16 addr, | |||
246 | 246 | ||
247 | /* Map the size to what the chip understands */ | 247 | /* Map the size to what the chip understands */ |
248 | switch (size) { | 248 | switch (size) { |
249 | case I2C_SMBUS_PROC_CALL: | ||
250 | dev_err(&a->dev, "I2C_SMBUS_PROC_CALL not supported!\n"); | ||
251 | error = -EINVAL; | ||
252 | break; | ||
253 | case I2C_SMBUS_QUICK: | 249 | case I2C_SMBUS_QUICK: |
254 | size = HST_CNTL2_QUICK; | 250 | size = HST_CNTL2_QUICK; |
255 | break; | 251 | break; |
@@ -265,6 +261,10 @@ static s32 ali1563_access(struct i2c_adapter * a, u16 addr, | |||
265 | case I2C_SMBUS_BLOCK_DATA: | 261 | case I2C_SMBUS_BLOCK_DATA: |
266 | size = HST_CNTL2_BLOCK; | 262 | size = HST_CNTL2_BLOCK; |
267 | break; | 263 | break; |
264 | default: | ||
265 | dev_warn(&a->dev, "Unsupported transaction %d\n", size); | ||
266 | error = -EOPNOTSUPP; | ||
267 | goto Done; | ||
268 | } | 268 | } |
269 | 269 | ||
270 | outb_p(((addr & 0x7f) << 1) | (rw & 0x01), SMB_HST_ADD); | 270 | outb_p(((addr & 0x7f) << 1) | (rw & 0x01), SMB_HST_ADD); |