Subject: linux-next: build failure after merge of the mfd tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 31 Mar 2023 12:15:25 +1100

Hi all,

After merging the mfd tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

drivers/mfd/rsmu_i2c.c:282:18: error: initialization of 'int (*)(struct i2c_client *)' from incompatible pointer type 'int (*)(struct i2c_client *, const struct i2c_device_id *)' [-Werror=incompatible-pointer-types]
  282 |         .probe = rsmu_i2c_probe,
      |                  ^~~~~~~~~~~~~~
drivers/mfd/rsmu_i2c.c:282:18: note: (near initialization for 'rsmu_i2c_driver.<anonymous>.probe')

Caused by commit

  1b3b1d6c27cc ("mfd: rsmu: Support 32-bit address space")

interacting with commit

  03c835f498b5 ("i2c: Switch .probe() to not take an id parameter")

from Linus' tree (v6.3-rc2).

I applied the following merge fix patch (which may not be right :-():

From: Stephen Rothwell <[email-masked]>
Date: Fri, 31 Mar 2023 12:05:44 +1100
Subject: [PATCH] fixup for "mfd: rsmu: Support 32-bit address space"

interacting with "i2c: Switch .probe() to not take an id parameter"

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/mfd/rsmu_i2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/rsmu_i2c.c b/drivers/mfd/rsmu_i2c.c
index 221023faaadf..26972a5aff45 100644
--- a/drivers/mfd/rsmu_i2c.c
+++ b/drivers/mfd/rsmu_i2c.c
@@ -201,9 +201,9 @@ static const struct regmap_config rsmu_sl_regmap_config = {
 	.can_multi_write = true,
 };
 
-static int rsmu_i2c_probe(struct i2c_client *client,
-			  const struct i2c_device_id *id)
+static int rsmu_i2c_probe(struct i2c_client *client)
 {
+	const struct i2c_device_id *id = i2c_client_get_device_id(client);
 	const struct regmap_config *cfg;
 	struct rsmu_ddata *rsmu;
 	int ret;
-- 
2.39.2

-- 
Cheers,
Stephen Rothwell