summaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-designware-platdrv.c
diff options
context:
space:
mode:
authorMika Westerberg <mika.westerberg@linux.intel.com>2013-01-17 12:31:05 +0200
committerWolfram Sang <w.sang@pengutronix.de>2013-01-28 05:26:42 +0100
commit17a76b4b32aca7c19df6988213dfe2eb4b631431 (patch)
tree06a41fa292a7af4e8001ee1157bcb9574fd0d932 /drivers/i2c/busses/i2c-designware-platdrv.c
parent5c38dc8911b86b7c49305e2f2b631cd1241f2d87 (diff)
i2c-designware: always set the STOP bit after last byte
If IC_EMPTYFIFO_HOLD_MASTER_EN is set to one, the DesignWare I2C controller doesn't generate STOP on the bus when the FIFO is empty. This violates the rules of Linux I2C stack as it requires that the STOP is issued once the i2c_transfer() is finished. However, there is no way to detect this from the hardware registers, so we must make sure that the STOP bit is always set once the last byte of the last message is transferred. This patch is based on the work of Dirk Brandewie. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Diffstat (limited to 'drivers/i2c/busses/i2c-designware-platdrv.c')
0 files changed, 0 insertions, 0 deletions