[BUG, bisect] i2c: designware: Move common probe code into i2c_dw_probe()

From: Jeremiah Mahler
Date: Mon Nov 02 2015 - 23:02:23 EST


Jarkko, all,

Commit d80d134182ba5 introduced a bug which causes a cyapa based touch
pad on an Acer C720 Chromebook to become inoperative. This is present
in the latest linux-next (20151101). The patch description is repeated
below.

From d80d134182ba536ececab8d5fca50d779befc9a6 Mon Sep 17 00:00:00 2001
From: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Date: Mon, 12 Oct 2015 16:55:35 +0300
Subject: [PATCH] i2c: designware: Move common probe code into i2c_dw_probe()

There is some code duplication in i2c-designware-platdrv and
i2c-designware-pcidrv probe functions. What is even worse that duplication
requires i2c_dw_xfer(), i2c_dw_func() and i2c_dw_isr() i2c-designware-core
functions to be exported.

Therefore move common code into new i2c_dw_probe() and make functions above
local to i2c-designware-core.

While merging the code patch does following functional changes:

- I2C Adapter name will be "Synopsys DesignWare I2C adapter". Previously it
was used for platform and ACPI devices but PCI device used
"i2c-designware-pci".
- Using device name for interrupt name. Previous it was platform device name,
ACPI device name or "i2c-designware-pci".
- Error code from devm_request_irq() and i2c_add_numbered_adapter() will be
printed in case of error.

Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
---
drivers/i2c/busses/i2c-designware-core.c | 49 +++++++++++++++++++++++++----
drivers/i2c/busses/i2c-designware-core.h | 5 +--
drivers/i2c/busses/i2c-designware-pcidrv.c | 30 ++----------------
drivers/i2c/busses/i2c-designware-platdrv.c | 28 ++---------------
4 files changed, 49 insertions(+), 63 deletions(-)

--
- Jeremiah Mahler
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/