regulator: Use device_get_match_data()
authorRob Herring <robh@kernel.org>
Tue, 17 Oct 2023 20:34:41 +0000 (15:34 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 17 Oct 2023 20:38:48 +0000 (21:38 +0100)
Use preferred device_get_match_data() instead of of_match_device() to
get the driver match data. With this, adjust the includes to explicitly
include the correct headers.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20231017203442.2699322-1-robh@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/lochnagar-regulator.c
drivers/regulator/palmas-regulator.c
drivers/regulator/qcom-labibb-regulator.c
drivers/regulator/qcom_rpm-regulator.c
drivers/regulator/qcom_spmi-regulator.c
drivers/regulator/stm32-booster.c
drivers/regulator/ti-abb-regulator.c

index 11b358efbc92a20eaa3f9287a32c81668d651f60..e53911c807195bb7472544a7035a5d7f390e2b94 100644 (file)
@@ -13,7 +13,6 @@
 #include <linux/module.h>
 #include <linux/mutex.h>
 #include <linux/of.h>
-#include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 #include <linux/regulator/driver.h>
@@ -243,7 +242,6 @@ static int lochnagar_regulator_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct lochnagar *lochnagar = dev_get_drvdata(dev->parent);
        struct regulator_config config = { };
-       const struct of_device_id *of_id;
        const struct regulator_desc *desc;
        struct regulator_dev *rdev;
        int ret;
@@ -252,12 +250,10 @@ static int lochnagar_regulator_probe(struct platform_device *pdev)
        config.regmap = lochnagar->regmap;
        config.driver_data = lochnagar;
 
-       of_id = of_match_device(lochnagar_of_match, dev);
-       if (!of_id)
+       desc = device_get_match_data(dev);
+       if (!desc)
                return -EINVAL;
 
-       desc = of_id->data;
-
        rdev = devm_regulator_register(dev, desc, &config);
        if (IS_ERR(rdev)) {
                ret = PTR_ERR(rdev);
index 076966366b60ba48d07a2cc142b391f7b7051887..e0dc033aae0f34269c2d1484ee33a9f7f23e18bd 100644 (file)
@@ -19,7 +19,6 @@
 #include <linux/regmap.h>
 #include <linux/mfd/palmas.h>
 #include <linux/of.h>
-#include <linux/of_platform.h>
 #include <linux/regulator/of_regulator.h>
 
 static const struct linear_range smps_low_ranges[] = {
@@ -1601,16 +1600,13 @@ static int palmas_regulators_probe(struct platform_device *pdev)
        struct regulator_config config = { };
        struct palmas_pmic *pmic;
        const char *pdev_name;
-       const struct of_device_id *match;
        int ret = 0;
        unsigned int reg;
 
-       match = of_match_device(of_match_ptr(of_palmas_match_tbl), &pdev->dev);
-
-       if (!match)
+       driver_data = (struct palmas_pmic_driver_data *)device_get_match_data(&pdev->dev);
+       if (!driver_data)
                return -ENODATA;
 
-       driver_data = (struct palmas_pmic_driver_data *)match->data;
        pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
        if (!pdata)
                return -ENOMEM;
index a8698ca61143ff9da6d112bb910471fff508eb7f..ba3f9391565f5b77f475af758eb491366797088a 100644 (file)
@@ -764,7 +764,6 @@ static int qcom_labibb_regulator_probe(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct regulator_config cfg = {};
        struct device_node *reg_node;
-       const struct of_device_id *match;
        const struct labibb_regulator_data *reg_data;
        struct regmap *reg_regmap;
        unsigned int type;
@@ -776,11 +775,11 @@ static int qcom_labibb_regulator_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       match = of_match_device(qcom_labibb_match, &pdev->dev);
-       if (!match)
+       reg_data = device_get_match_data(&pdev->dev);
+       if (!reg_data)
                return -ENODEV;
 
-       for (reg_data = match->data; reg_data->name; reg_data++) {
+       for (; reg_data->name; reg_data++) {
                char *sc_irq_name;
                int irq = 0;
 
index 9366488f038350edfc7d99ab3e212c3c5a55e6af..2d5fec1457d15fc02ef0b28ce47168279c3fa862 100644 (file)
@@ -937,7 +937,6 @@ MODULE_DEVICE_TABLE(of, rpm_of_match);
 static int rpm_reg_probe(struct platform_device *pdev)
 {
        const struct rpm_regulator_data *reg;
-       const struct of_device_id *match;
        struct regulator_config config = { };
        struct regulator_dev *rdev;
        struct qcom_rpm_reg *vreg;
@@ -949,13 +948,13 @@ static int rpm_reg_probe(struct platform_device *pdev)
                return -ENODEV;
        }
 
-       match = of_match_device(rpm_of_match, &pdev->dev);
-       if (!match) {
+       reg = device_get_match_data(&pdev->dev);
+       if (!reg) {
                dev_err(&pdev->dev, "failed to match device\n");
                return -ENODEV;
        }
 
-       for (reg = match->data; reg->name; reg++) {
+       for (; reg->name; reg++) {
                vreg = devm_kmemdup(&pdev->dev, reg->template, sizeof(*vreg), GFP_KERNEL);
                if (!vreg)
                        return -ENOMEM;
index fe32fd53f683bddc35770f86b07add7f157f5a2b..94f9092b29ef037d1338afb953a86becbf0d23d2 100644 (file)
@@ -2468,7 +2468,6 @@ static int qcom_spmi_regulator_probe(struct platform_device *pdev)
 {
        const struct spmi_regulator_data *reg;
        const struct spmi_voltage_range *range;
-       const struct of_device_id *match;
        struct regulator_config config = { };
        struct regulator_dev *rdev;
        struct spmi_regulator *vreg;
@@ -2491,8 +2490,8 @@ static int qcom_spmi_regulator_probe(struct platform_device *pdev)
        if (!regmap)
                return -ENODEV;
 
-       match = of_match_device(qcom_spmi_regulator_match, &pdev->dev);
-       if (!match)
+       reg = device_get_match_data(&pdev->dev);
+       if (!reg)
                return -ENODEV;
 
        if (of_find_property(node, "qcom,saw-reg", &lenp)) {
@@ -2503,7 +2502,7 @@ static int qcom_spmi_regulator_probe(struct platform_device *pdev)
                        dev_err(dev, "ERROR reading SAW regmap\n");
        }
 
-       for (reg = match->data; reg->name; reg++) {
+       for (; reg->name; reg++) {
 
                if (saw_regmap) {
                        reg_node = of_get_child_by_name(node, reg->name);
index b64dc5a497fa6e9e5141363dba9232fbf09a9972..2cdc7f0474f8a0b25b6807fd7c52a4690b9d4627 100644 (file)
@@ -4,7 +4,7 @@
 
 #include <linux/mfd/syscon.h>
 #include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/regmap.h>
 #include <linux/regulator/driver.h>
@@ -83,8 +83,7 @@ static int stm32_booster_probe(struct platform_device *pdev)
        if (IS_ERR(regmap))
                return PTR_ERR(regmap);
 
-       desc = (const struct regulator_desc *)
-               of_match_device(dev->driver->of_match_table, dev)->data;
+       desc = device_get_match_data(dev);
 
        config.regmap = regmap;
        config.dev = dev;
index 86d2d80b4b41bc05fa719a03d353ada0a75fe368..f48214e2c3b46000eb2e833b422be4474a08f920 100644 (file)
@@ -14,7 +14,6 @@
 #include <linux/err.h>
 #include <linux/io.h>
 #include <linux/module.h>
-#include <linux/of_device.h>
 #include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/regulator/driver.h>
@@ -688,7 +687,6 @@ MODULE_DEVICE_TABLE(of, ti_abb_of_match);
 static int ti_abb_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
-       const struct of_device_id *match;
        struct resource *res;
        struct ti_abb *abb;
        struct regulator_init_data *initdata = NULL;
@@ -699,21 +697,15 @@ static int ti_abb_probe(struct platform_device *pdev)
        char *pname;
        int ret = 0;
 
-       match = of_match_device(ti_abb_of_match, dev);
-       if (!match) {
-               /* We do not expect this to happen */
-               dev_err(dev, "%s: Unable to match device\n", __func__);
-               return -ENODEV;
-       }
-       if (!match->data) {
-               dev_err(dev, "%s: Bad data in match\n", __func__);
-               return -EINVAL;
-       }
-
        abb = devm_kzalloc(dev, sizeof(struct ti_abb), GFP_KERNEL);
        if (!abb)
                return -ENOMEM;
-       abb->regs = match->data;
+
+       abb->regs = device_get_match_data(dev);
+       if (!abb->regs) {
+               dev_err(dev, "%s: Bad data in match\n", __func__);
+               return -EINVAL;
+       }
 
        /* Map ABB resources */
        if (abb->regs->setup_off || abb->regs->control_off) {
@@ -866,7 +858,7 @@ static struct platform_driver ti_abb_driver = {
        .driver = {
                   .name = "ti_abb",
                   .probe_type = PROBE_PREFER_ASYNCHRONOUS,
-                  .of_match_table = of_match_ptr(ti_abb_of_match),
+                  .of_match_table = ti_abb_of_match,
                   },
 };
 module_platform_driver(ti_abb_driver);