i2c-designware: i2c_dw_handle_tx_abort: Use dev_dbg() for NOACK cases
authorShinya Kuribayashi <shinya.kuribayashi@necel.com>
Mon, 16 Nov 2009 11:40:14 +0000 (20:40 +0900)
committerBen Dooks <ben-linux@fluff.org>
Wed, 9 Dec 2009 00:19:13 +0000 (00:19 +0000)
In the case of no-ACKs, we don't want to see dev_err() messages in the
console, because some utilities like i2c-tools are capable of printing
decorated console output.  This patch will ease such situations.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
drivers/i2c/busses/i2c-designware.c

index 4534d45..9e18ef9 100644 (file)
@@ -496,13 +496,18 @@ static int i2c_dw_handle_tx_abort(struct dw_i2c_dev *dev)
        unsigned long abort_source = dev->abort_source;
        int i;
 
+       if (abort_source & DW_IC_TX_ABRT_NOACK) {
+               for_each_bit(i, &abort_source, ARRAY_SIZE(abort_sources))
+                       dev_dbg(dev->dev,
+                               "%s: %s\n", __func__, abort_sources[i]);
+               return -EREMOTEIO;
+       }
+
        for_each_bit(i, &abort_source, ARRAY_SIZE(abort_sources))
                dev_err(dev->dev, "%s: %s\n", __func__, abort_sources[i]);
 
        if (abort_source & DW_IC_TX_ARB_LOST)
                return -EAGAIN;
-       else if (abort_source & DW_IC_TX_ABRT_NOACK)
-               return -EREMOTEIO;
        else if (abort_source & DW_IC_TX_ABRT_GCALL_READ)
                return -EINVAL; /* wrong msgs[] data */
        else