usb: typec: stusb160x: Make use of i2c_get_match_data()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 26 Sep 2024 12:29:15 +0000 (15:29 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 4 Oct 2024 13:12:15 +0000 (15:12 +0200)
Get matching data in one step by switching to use i2c_get_match_data().
As a positive side effect the matching data is qualified as a constant.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240926122944.1251923-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/stusb160x.c

index f3140fc04c12e1e6e7baeb6fe59c5101e241613a..6d85b25b40bc0c184faeb7d7d111688460e92aad 100644 (file)
@@ -633,9 +633,8 @@ MODULE_DEVICE_TABLE(of, stusb160x_of_match);
 
 static int stusb160x_probe(struct i2c_client *client)
 {
+       const struct regmap_config *regmap_config;
        struct stusb160x *chip;
-       const struct of_device_id *match;
-       struct regmap_config *regmap_config;
        struct fwnode_handle *fwnode;
        int ret;
 
@@ -645,8 +644,8 @@ static int stusb160x_probe(struct i2c_client *client)
 
        i2c_set_clientdata(client, chip);
 
-       match = i2c_of_match_device(stusb160x_of_match, client);
-       regmap_config = (struct regmap_config *)match->data;
+       regmap_config = i2c_get_match_data(client);
+
        chip->regmap = devm_regmap_init_i2c(client, regmap_config);
        if (IS_ERR(chip->regmap)) {
                ret = PTR_ERR(chip->regmap);