Merge tag 'i2c-for-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 Oct 2022 01:54:33 +0000 (18:54 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 Oct 2022 01:54:33 +0000 (18:54 -0700)
Pull i2c updates from Wolfram Sang:

 - 'remove' callback converted to return void. Big change with trivial
   fixes all over the tree. Other subsystems depending on this change
   have been asked to pull an immutable topic branch for this.

 - new driver for Microchip PCI1xxxx switch

 - heavy refactoring of the Mellanox BlueField driver

 - we prefer async probe in the i801 driver now

 - the rest is usual driver updates (support for more SoCs, some
   refactoring, some feature additions)

* tag 'i2c-for-6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (37 commits)
  i2c: pci1xxxx: prevent signed integer overflow
  i2c: acpi: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
  i2c: i801: Prefer async probe
  i2c: designware-pci: Use standard pattern for memory allocation
  i2c: designware-pci: Group AMD NAVI quirk parts together
  i2c: microchip: pci1xxxx: Add driver for I2C host controller in multifunction endpoint of pci1xxxx switch
  docs: i2c: slave-interface: return errno when handle I2C_SLAVE_WRITE_REQUESTED
  i2c: mlxbf: remove device tree support
  i2c: mlxbf: support BlueField-3 SoC
  i2c: cadence: Add standard bus recovery support
  i2c: mlxbf: add multi slave functionality
  i2c: mlxbf: support lock mechanism
  macintosh/ams: Adapt declaration of ams_i2c_remove() to earlier change
  i2c: riic: Use devm_platform_ioremap_resource()
  i2c: mlxbf: remove IRQF_ONESHOT
  dt-bindings: i2c: rockchip: add rockchip,rk3128-i2c
  dt-bindings: i2c: renesas,rcar-i2c: Add r8a779g0 support
  i2c: tegra: Add GPCDMA support
  i2c: scmi: Convert to be a platform driver
  i2c: rk3x: Add rv1126 support
  ...

1  2 
MAINTAINERS
drivers/gpu/drm/bridge/lontium-lt8912b.c
drivers/i2c/busses/i2c-mlxbf.c
drivers/net/dsa/lan9303_i2c.c
drivers/net/dsa/microchip/ksz9477_i2c.c
drivers/net/dsa/xrs700x/xrs700x_i2c.c
drivers/net/ethernet/mellanox/mlxsw/i2c.c
drivers/platform/x86/intel/int3472/tps68470.c

diff --cc MAINTAINERS
Simple merge
Simple merge
index 79be5fc044bd48a7690b4753fba904544cd554c1,b25e91b26d99170007caa5cebc58b0e1a911d23a..7d746cd9ca1bc6b72b253792c8878d97e48ecd9b
@@@ -70,11 -70,11 +70,9 @@@ static void lan9303_i2c_remove(struct i
        struct lan9303_i2c *sw_dev = i2c_get_clientdata(client);
  
        if (!sw_dev)
-               return 0;
+               return;
  
        lan9303_remove(&sw_dev->chip);
--
-       return 0;
 -      i2c_set_clientdata(client, NULL);
  }
  
  static void lan9303_i2c_shutdown(struct i2c_client *client)
index e111756f6473543e670c1ffe84f3f5d5f49cd409,4a719ab8aa89cdb715427dfb945cc6094c915050..3763930dc6fc4765d08e7c3e6cf1ebe4acc3b24a
@@@ -58,8 -58,8 +58,6 @@@ static void ksz9477_i2c_remove(struct i
  
        if (dev)
                ksz_switch_remove(dev);
--
-       return 0;
 -      i2c_set_clientdata(i2c, NULL);
  }
  
  static void ksz9477_i2c_shutdown(struct i2c_client *i2c)
index cd533b9e17eca444bbca4e3017f5fa1eacb9355c,bbaf5a3fbf000d7b69e49bc9de99bfae9fed6dd3..54065cdedd3572b1040acd9e450ae20523855d43
@@@ -110,11 -110,11 +110,9 @@@ static void xrs700x_i2c_remove(struct i
        struct xrs700x *priv = i2c_get_clientdata(i2c);
  
        if (!priv)
-               return 0;
+               return;
  
        xrs700x_switch_remove(priv);
--
-       return 0;
 -      i2c_set_clientdata(i2c, NULL);
  }
  
  static void xrs700x_i2c_shutdown(struct i2c_client *i2c)
index 716c73e4fd594bd8358242274157c03d76b664fb,50b7121a5e3cd54e758ab8ab7718528e5aceb036..f5f5f8dc3d190c5298ce8b3c9272a8155062d4b3
@@@ -745,10 -661,7 +745,8 @@@ static void mlxsw_i2c_remove(struct i2c
        struct mlxsw_i2c *mlxsw_i2c = i2c_get_clientdata(client);
  
        mlxsw_core_bus_device_unregister(mlxsw_i2c->core, false);
 +      mlxsw_i2c_irq_fini(mlxsw_i2c);
        mutex_destroy(&mlxsw_i2c->cmd.lock);
-       return 0;
  }
  
  int mlxsw_i2c_driver_register(struct i2c_driver *i2c_driver)
index 49fc379fe680abbac986f384759bb0004610fd9b,5dd81bb05255babe407f406eb05427856ffef3a8..f83e9c393f31b3a356f9465803975b0bc293a09f
@@@ -227,18 -178,13 +227,16 @@@ static int skl_int3472_tps68470_probe(s
        return ret;
  }
  
- static int skl_int3472_tps68470_remove(struct i2c_client *client)
+ static void skl_int3472_tps68470_remove(struct i2c_client *client)
  {
        const struct int3472_tps68470_board_data *board_data;
 +      int i;
  
        board_data = int3472_tps68470_get_board_data(dev_name(&client->dev));
 -      if (board_data)
 -              gpiod_remove_lookup_table(board_data->tps68470_gpio_lookup_table);
 +      if (board_data) {
 +              for (i = 0; i < board_data->n_gpiod_lookups; i++)
 +                      gpiod_remove_lookup_table(board_data->tps68470_gpio_lookup_tables[i]);
 +      }
-       return 0;
  }
  
  static const struct acpi_device_id int3472_device_id[] = {