mfd: ti-lmu: Use of_device_get_match_data() helper
authorPavel Machek <pavel@ucw.cz>
Tue, 11 Sep 2018 21:06:50 +0000 (23:06 +0200)
committerLee Jones <lee.jones@linaro.org>
Tue, 23 Oct 2018 07:58:34 +0000 (08:58 +0100)
Replace of_match_device() with of_device_get_match_data(), which
slightly decreases lines of code and allows to move the DT table
next to the I2C table.

Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/ti-lmu.c

index 2ee09d0..37d0bdb 100644 (file)
@@ -148,34 +148,21 @@ TI_LMU_DATA(lm3633, LM3633_MAX_REG);
 TI_LMU_DATA(lm3695, LM3695_MAX_REG);
 TI_LMU_DATA(lm3697, LM3697_MAX_REG);
 
-static const struct of_device_id ti_lmu_of_match[] = {
-       { .compatible = "ti,lm3532", .data = &lm3532_data },
-       { .compatible = "ti,lm3631", .data = &lm3631_data },
-       { .compatible = "ti,lm3632", .data = &lm3632_data },
-       { .compatible = "ti,lm3633", .data = &lm3633_data },
-       { .compatible = "ti,lm3695", .data = &lm3695_data },
-       { .compatible = "ti,lm3697", .data = &lm3697_data },
-       { }
-};
-MODULE_DEVICE_TABLE(of, ti_lmu_of_match);
-
 static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id)
 {
        struct device *dev = &cl->dev;
-       const struct of_device_id *match;
        const struct ti_lmu_data *data;
        struct regmap_config regmap_cfg;
        struct ti_lmu *lmu;
        int ret;
 
-       match = of_match_device(ti_lmu_of_match, dev);
-       if (!match)
-               return -ENODEV;
        /*
         * Get device specific data from of_match table.
         * This data is defined by using TI_LMU_DATA() macro.
         */
-       data = (struct ti_lmu_data *)match->data;
+       data = of_device_get_match_data(dev);
+       if (!data)
+               return -ENODEV;
 
        lmu = devm_kzalloc(dev, sizeof(*lmu), GFP_KERNEL);
        if (!lmu)
@@ -223,6 +210,17 @@ static int ti_lmu_probe(struct i2c_client *cl, const struct i2c_device_id *id)
                                    data->num_cells, NULL, 0, NULL);
 }
 
+static const struct of_device_id ti_lmu_of_match[] = {
+       { .compatible = "ti,lm3532", .data = &lm3532_data },
+       { .compatible = "ti,lm3631", .data = &lm3631_data },
+       { .compatible = "ti,lm3632", .data = &lm3632_data },
+       { .compatible = "ti,lm3633", .data = &lm3633_data },
+       { .compatible = "ti,lm3695", .data = &lm3695_data },
+       { .compatible = "ti,lm3697", .data = &lm3697_data },
+       { }
+};
+MODULE_DEVICE_TABLE(of, ti_lmu_of_match);
+
 static const struct i2c_device_id ti_lmu_ids[] = {
        { "lm3532", LM3532 },
        { "lm3631", LM3631 },