i2c: revert "i2c: core: Allow drivers to disable i2c-core irq mapping"
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 30 Jun 2020 16:24:40 +0000 (18:24 +0200)
committerWolfram Sang <wsa@kernel.org>
Fri, 24 Jul 2020 19:48:27 +0000 (21:48 +0200)
This manually reverts commit d1d84bb95364ed604015c2b788caaf3dbca0262f.
The only user has gone two years ago with commit 589edb56b424 ("ACPI /
scan: Create platform device for INT33FE ACPI nodes") and no new user
has showed up. Remove and hope we will never need it again.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/i2c-core-base.c
include/linux/i2c.h

index 26f03a1..dc43242 100644 (file)
@@ -319,11 +319,9 @@ static int i2c_device_probe(struct device *dev)
        if (!client)
                return 0;
 
-       driver = to_i2c_driver(dev->driver);
-
        client->irq = client->init_irq;
 
-       if (!client->irq && !driver->disable_i2c_core_irq_mapping) {
+       if (!client->irq) {
                int irq = -ENOENT;
 
                if (client->flags & I2C_CLIENT_HOST_NOTIFY) {
@@ -349,6 +347,8 @@ static int i2c_device_probe(struct device *dev)
                client->irq = irq;
        }
 
+       driver = to_i2c_driver(dev->driver);
+
        /*
         * An I2C ID table is not mandatory, if and only if, a suitable OF
         * or ACPI ID table is supplied for the probing device.
index b8b8963..098405d 100644 (file)
@@ -231,7 +231,6 @@ enum i2c_alert_protocol {
  * @detect: Callback for device detection
  * @address_list: The I2C addresses to probe (for detect)
  * @clients: List of detected clients we created (for i2c-core use only)
- * @disable_i2c_core_irq_mapping: Tell the i2c-core to not do irq-mapping
  *
  * The driver.owner field should be set to the module owner of this driver.
  * The driver.name field should be set to the name of this driver.
@@ -290,8 +289,6 @@ struct i2c_driver {
        int (*detect)(struct i2c_client *client, struct i2c_board_info *info);
        const unsigned short *address_list;
        struct list_head clients;
-
-       bool disable_i2c_core_irq_mapping;
 };
 #define to_i2c_driver(d) container_of(d, struct i2c_driver, driver)