clk: si570: use i2c_match_id and simple i2c probe
authorStephen Kitt <steve@sk2.org>
Thu, 7 Apr 2022 15:18:30 +0000 (17:18 +0200)
committerStephen Boyd <sboyd@kernel.org>
Sat, 23 Apr 2022 02:28:08 +0000 (19:28 -0700)
As part of the ongoing i2c transition to the simple probe
("probe_new"), this patch uses i2c_match_id to retrieve the
driver_data for the probed device. The id parameter is thus no longer
necessary and the simple probe can be used instead.

Signed-off-by: Stephen Kitt <steve@sk2.org>
Link: https://lore.kernel.org/r/20220407151831.2371706-10-steve@sk2.org
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-si570.c

index eea50121718a69996287483ea37f62476a99ba7b..1ff8f32f734dcd959d534dc6f79cdd2cb050058f 100644 (file)
@@ -398,11 +398,20 @@ static const struct regmap_config si570_regmap_config = {
        .volatile_reg = si570_regmap_is_volatile,
 };
 
-static int si570_probe(struct i2c_client *client,
-               const struct i2c_device_id *id)
+static const struct i2c_device_id si570_id[] = {
+       { "si570", si57x },
+       { "si571", si57x },
+       { "si598", si59x },
+       { "si599", si59x },
+       { }
+};
+MODULE_DEVICE_TABLE(i2c, si570_id);
+
+static int si570_probe(struct i2c_client *client)
 {
        struct clk_si570 *data;
        struct clk_init_data init;
+       const struct i2c_device_id *id = i2c_match_id(si570_id, client);
        u32 initial_fout, factory_fout, stability;
        bool skip_recall;
        int err;
@@ -495,15 +504,6 @@ static int si570_remove(struct i2c_client *client)
        return 0;
 }
 
-static const struct i2c_device_id si570_id[] = {
-       { "si570", si57x },
-       { "si571", si57x },
-       { "si598", si59x },
-       { "si599", si59x },
-       { }
-};
-MODULE_DEVICE_TABLE(i2c, si570_id);
-
 static const struct of_device_id clk_si570_of_match[] = {
        { .compatible = "silabs,si570" },
        { .compatible = "silabs,si571" },
@@ -518,7 +518,7 @@ static struct i2c_driver si570_driver = {
                .name = "si570",
                .of_match_table = clk_si570_of_match,
        },
-       .probe          = si570_probe,
+       .probe_new      = si570_probe,
        .remove         = si570_remove,
        .id_table       = si570_id,
 };