From: Tony Lindgren Date: Thu, 25 Sep 2008 13:58:44 +0000 (+0300) Subject: I2C: Remove old zero byte hack X-Git-Tag: v2.6.27-omap1~128 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=4e87836b87298c34a62878b6feaf0b1ce783568c;p=linux-2.6-omap-h63xx.git I2C: Remove old zero byte hack This should not be needed with new style I2C drivers. Signed-off-by: Tony Lindgren --- diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index a8c8831313d..1e6c3fd9879 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -38,10 +38,6 @@ #include #include -/* Hack to enable zero length transfers and smbus quick until clean fix - is available */ -#define OMAP_HACK - /* timeout waiting for the controller to respond */ #define OMAP_I2C_TIMEOUT (msecs_to_jiffies(1000)) @@ -373,16 +369,12 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap, struct i2c_msg *msg, int stop) { struct omap_i2c_dev *dev = i2c_get_adapdata(adap); -#ifdef OMAP_HACK - u8 zero_byte = 0; -#endif int r; u16 w; dev_dbg(dev->dev, "addr: 0x%04x, len: %d, flags: 0x%x, stop: %d\n", msg->addr, msg->len, msg->flags, stop); -#ifndef OMAP_HACK if (msg->len == 0) return -EINVAL; @@ -392,27 +384,6 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap, dev->buf = msg->buf; dev->buf_len = msg->len; -#else - - omap_i2c_write_reg(dev, OMAP_I2C_SA_REG, msg->addr); - /* REVISIT: Remove this hack when we can get I2C chips from board-*.c - * files - * Sigh, seems we can't do zero length transactions. Thus, we - * can't probe for devices w/o actually sending/receiving at least - * a single byte. So we'll set count to 1 for the zero length - * transaction case and hope we don't cause grief for some - * arbitrary device due to random byte write/read during - * probes. - */ - if (msg->len == 0) { - dev->buf = &zero_byte; - dev->buf_len = 1; - } else { - dev->buf = msg->buf; - dev->buf_len = msg->len; - } -#endif - omap_i2c_write_reg(dev, OMAP_I2C_CNT_REG, dev->buf_len); /* Clear the FIFO Buffers */ @@ -529,11 +500,7 @@ out: static u32 omap_i2c_func(struct i2c_adapter *adap) { -#ifndef OMAP_HACK return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK); -#else - return I2C_FUNC_I2C | I2C_FUNC_SMBUS_EMUL; -#endif } static inline void