regulator: core: remove machine init callback from config
authorJerome Brunet <jbrunet@baylibre.com>
Tue, 8 Oct 2024 16:07:03 +0000 (18:07 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 22 Oct 2024 19:49:15 +0000 (20:49 +0100)
The machine specific regulator_init() appears to be unused.
It does not allow a lot of interaction with the regulator framework,
since nothing from the framework is passed along (desc, config,
etc ...)

Machine specific init may also be done with the added init_cb() in
the regulator description, so remove regulator_init().

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://patch.msgid.link/20241008-regulator-ignored-data-v2-3-d1251e0ee507@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/core.c
include/linux/regulator/machine.h

index eecb05a..f8e36c9 100644 (file)
@@ -5775,13 +5775,6 @@ regulator_register(struct device *dev,
                resolved_early = true;
        }
 
-       /* perform any regulator specific init */
-       if (init_data && init_data->regulator_init) {
-               ret = init_data->regulator_init(rdev->reg_data);
-               if (ret < 0)
-                       goto wash;
-       }
-
        if (config->ena_gpiod) {
                ret = regulator_ena_gpio_request(rdev, config);
                if (ret != 0) {
index 0cd76d2..d0d700f 100644 (file)
@@ -285,8 +285,7 @@ struct regulator_init_data {
        int num_consumer_supplies;
        struct regulator_consumer_supply *consumer_supplies;
 
-       /* optional regulator machine specific init */
-       int (*regulator_init)(void *driver_data);
+       /* optional regulator machine specific data */
        void *driver_data;      /* core does not touch this */
 };