aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-ali1563.c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2008-07-14 16:38:25 -0400
committerJean Delvare <khali@mahadeva.delvare>2008-07-14 16:38:25 -0400
commitac7fc4fb2b6a126af8d07f46500440c9641976cf (patch)
tree1ba7a6b229699f6d69cfe3f1bd74c020e952e16b /drivers/i2c/busses/i2c-ali1563.c
parentfa63cd56d2f09806169307d761e8f430e23bc09b (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.c8
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);