diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-01 19:31:19 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-01 19:31:19 +0300 |
commit | 7c6c54b505b8aea1782ce6a6e8f3b8297d179937 (patch) | |
tree | 4563548b15a6a236c12ee2580678a1f18b30b302 | |
parent | 6444ccfd699cda8db5edaac7fa469d6a29aa9a47 (diff) | |
parent | 012ebc3b7801fcf424d0ebb4689c98f90a8593e0 (diff) | |
download | linux-7c6c54b505b8aea1782ce6a6e8f3b8297d179937.tar.xz |
Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang:
"I2C has a core bugfix & cleanup as well as an ID addition and
MAINTAINERS update for you"
* 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
MAINTAINERS: add maintainer for IMX LPI2C driver
dt-bindings: i2c: i2c-imx-lpi2c: add imx8qxp compatible string
i2c: Clear client->irq in i2c_device_remove
i2c: Remove unnecessary call to irq_find_mapping
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt | 1 | ||||
-rw-r--r-- | MAINTAINERS | 8 | ||||
-rw-r--r-- | drivers/i2c/i2c-core-base.c | 7 |
3 files changed, 12 insertions, 4 deletions
diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt index 091c8dfd3229..b245363d6d60 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt @@ -3,6 +3,7 @@ Required properties: - compatible : - "fsl,imx7ulp-lpi2c" for LPI2C compatible with the one integrated on i.MX7ULP soc + - "fsl,imx8qxp-lpi2c" for LPI2C compatible with the one integrated on i.MX8QXP soc - reg : address and length of the lpi2c master registers - interrupts : lpi2c interrupt - clocks : lpi2c clock specifier diff --git a/MAINTAINERS b/MAINTAINERS index 245ba32f5364..690c2f68a401 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -5878,6 +5878,14 @@ L: linux-i2c@vger.kernel.org S: Maintained F: drivers/i2c/busses/i2c-cpm.c +FREESCALE IMX LPI2C DRIVER +M: Dong Aisheng <aisheng.dong@nxp.com> +L: linux-i2c@vger.kernel.org +L: linux-imx@nxp.com +S: Maintained +F: drivers/i2c/busses/i2c-imx-lpi2c.c +F: Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt + FREESCALE IMX / MXC FEC DRIVER M: Fugang Duan <fugang.duan@nxp.com> L: netdev@vger.kernel.org diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index dc78aa7369de..28460f6a60cc 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -306,10 +306,7 @@ static int i2c_smbus_host_notify_to_irq(const struct i2c_client *client) if (client->flags & I2C_CLIENT_TEN) return -EINVAL; - irq = irq_find_mapping(adap->host_notify_domain, client->addr); - if (!irq) - irq = irq_create_mapping(adap->host_notify_domain, - client->addr); + irq = irq_create_mapping(adap->host_notify_domain, client->addr); return irq > 0 ? irq : -ENXIO; } @@ -433,6 +430,8 @@ static int i2c_device_remove(struct device *dev) dev_pm_clear_wake_irq(&client->dev); device_init_wakeup(&client->dev, false); + client->irq = 0; + return status; } |