summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-07-17 18:54:24 +0530
committerSimone Willett <swillett@nvidia.com>2012-07-19 15:38:44 -0700
commit62b2257899a98ac458f4cd0a71f78934b4ae229f (patch)
tree5994d28d9a757d0a041ad76cba956519e7ef9db3 /drivers/i2c
parent5642461e69a5a051a4f748c0330270982ada3d20 (diff)
Revert "i2c: tegra: Fix i2c unknown interrupt issue"
This reverts commit 021d8866c80fab07cb4cd2753ed67d0c1b49c174. The reason for revert the change: The readback is done at the time of i2c_writel() and hence it is not require to have this in scattered manner. This is towards the aligning driver with mainline. Change-Id: I74184683301d7a3c26550d97fb1ce3596273a0bb Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/116470 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Tested-by: Bandi Krishna Chaitanya <bandik@nvidia.com>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-tegra.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 5961aa0f5fcb..429576d60527 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -599,12 +599,9 @@ static irqreturn_t tegra_i2c_isr(int irq, void *dev_id)
}
i2c_writel(i2c_dev, status, I2C_INT_STATUS);
- i2c_readl(i2c_dev, I2C_INT_STATUS);
- if (i2c_dev->is_dvc) {
+ if (i2c_dev->is_dvc)
dvc_writel(i2c_dev, DVC_STATUS_I2C_DONE_INTR, DVC_STATUS);
- dvc_readl(i2c_dev, DVC_STATUS);
- }
if (status & I2C_INT_PACKET_XFER_COMPLETE) {
BUG_ON(i2c_dev->msg_buf_remaining);
@@ -640,16 +637,13 @@ err:
I2C_INT_RX_FIFO_DATA_REQ | I2C_INT_TX_FIFO_OVERFLOW);
i2c_writel(i2c_dev, status, I2C_INT_STATUS);
- i2c_readl(i2c_dev, I2C_INT_STATUS);
/* An error occured, mask dvc interrupt */
if (i2c_dev->is_dvc)
dvc_i2c_mask_irq(i2c_dev, DVC_CTRL_REG3_I2C_DONE_INTR_EN);
- if (i2c_dev->is_dvc) {
+ if (i2c_dev->is_dvc)
dvc_writel(i2c_dev, DVC_STATUS_I2C_DONE_INTR, DVC_STATUS);
- dvc_readl(i2c_dev, DVC_STATUS);
- }
complete(&i2c_dev->msg_complete);
return IRQ_HANDLED;