From c79597ae140a1f26801b04cf1df7a8f94fdbded6 Mon Sep 17 00:00:00 2001 From: Olli Salonen Date: Sat, 6 Jun 2015 04:44:58 -0300 Subject: [PATCH] [media] saa7164: Improvements for I2C handling" This reverts commit 528716409938705cef1e075a576faf46110f08f6. This patch breaks I2C communication towards Si2168. After reverting and applying the other patch in this series the I2C communication is correct. Signed-off-by: Olli Salonen Reviewed-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- drivers/media/pci/saa7164/saa7164-api.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/media/pci/saa7164/saa7164-api.c b/drivers/media/pci/saa7164/saa7164-api.c index e8077037fb5c7..e7e586c1ba535 100644 --- a/drivers/media/pci/saa7164/saa7164-api.c +++ b/drivers/media/pci/saa7164/saa7164-api.c @@ -1385,8 +1385,7 @@ int saa7164_api_i2c_read(struct saa7164_i2c *bus, u8 addr, u32 reglen, u8 *reg, * 08... register address */ memset(buf, 0, sizeof(buf)); - if (reg) - memcpy((buf + 2 * sizeof(u32) + 0), reg, reglen); + memcpy((buf + 2 * sizeof(u32) + 0), reg, reglen); *((u32 *)(buf + 0 * sizeof(u32))) = reglen; *((u32 *)(buf + 1 * sizeof(u32))) = datalen; @@ -1475,14 +1474,6 @@ int saa7164_api_i2c_write(struct saa7164_i2c *bus, u8 addr, u32 datalen, * 04-07 dest bytes to write * 08... register address */ - if (datalen == 1) { - /* Workaround for issues with i2c components - * that issue writes with no data. IE: SI2168/2157 - * Increase reglen by 1, strobe out an additional byte, - * ignored by SI2168/2157. - */ - datalen++; - } *((u32 *)(buf + 0 * sizeof(u32))) = reglen; *((u32 *)(buf + 1 * sizeof(u32))) = datalen - reglen; memcpy((buf + 2 * sizeof(u32)), data, datalen); -- 2.39.5