Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 Nov 2018 16:31:19 +0000 (09:31 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 1 Nov 2018 16:31:19 +0000 (09:31 -0700)
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

Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt
MAINTAINERS
drivers/i2c/i2c-core-base.c

index 091c8dfd322910e14712d4a818e9879538abf3d9..b245363d6d60a0b6a42a6a4d675e1219faedc03d 100644 (file)
@@ -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
index 245ba32f53649a6897816da12439cd1cc4a5b737..690c2f68a401fd9e7eab286be7f733b25b551965 100644 (file)
@@ -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
index dc78aa7369def416898f0a4c514fd017c147f0c0..28460f6a60cc15220c9a8748b3bd688e81244c37 100644 (file)
@@ -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;
 }