rtc: pcf2127: Convert to .probe_new()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 21 Oct 2022 13:07:03 +0000 (15:07 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 15 Nov 2022 20:01:33 +0000 (21:01 +0100)
.probe_new() doesn't get the i2c_device_id * parameter, so determine
that explicitly in .probe(). The device_id array has to move up for that
to work.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20221021130706.178687-7-u.kleine-koenig@pengutronix.de
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-pcf2127.c

index 63b275b014bd613a95b42dea4940f4d3c3035dfb..87f4fc9df68b4a66de70c8768611511828780bb4 100644 (file)
@@ -885,9 +885,17 @@ static const struct regmap_bus pcf2127_i2c_regmap = {
 
 static struct i2c_driver pcf2127_i2c_driver;
 
-static int pcf2127_i2c_probe(struct i2c_client *client,
-                               const struct i2c_device_id *id)
+static const struct i2c_device_id pcf2127_i2c_id[] = {
+       { "pcf2127", 1 },
+       { "pcf2129", 0 },
+       { "pca2129", 0 },
+       { }
+};
+MODULE_DEVICE_TABLE(i2c, pcf2127_i2c_id);
+
+static int pcf2127_i2c_probe(struct i2c_client *client)
 {
+       const struct i2c_device_id *id = i2c_match_id(pcf2127_i2c_id, client);
        struct regmap *regmap;
        static const struct regmap_config config = {
                .reg_bits = 8,
@@ -910,20 +918,12 @@ static int pcf2127_i2c_probe(struct i2c_client *client,
                             pcf2127_i2c_driver.driver.name, id->driver_data);
 }
 
-static const struct i2c_device_id pcf2127_i2c_id[] = {
-       { "pcf2127", 1 },
-       { "pcf2129", 0 },
-       { "pca2129", 0 },
-       { }
-};
-MODULE_DEVICE_TABLE(i2c, pcf2127_i2c_id);
-
 static struct i2c_driver pcf2127_i2c_driver = {
        .driver         = {
                .name   = "rtc-pcf2127-i2c",
                .of_match_table = of_match_ptr(pcf2127_of_match),
        },
-       .probe          = pcf2127_i2c_probe,
+       .probe_new      = pcf2127_i2c_probe,
        .id_table       = pcf2127_i2c_id,
 };