]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
regulator: Guard of_regulator_bulk_get_all() with CONFIG_OF
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Sat, 4 Jan 2025 11:50:57 +0000 (17:20 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 6 Jan 2025 13:04:33 +0000 (13:04 +0000)
Since the definition is in drivers/regulator/of_regulator.c and compiled
only if CONFIG_OF is enabled, building the consumer driver without
CONFIG_OF and with CONFIG_REGULATOR will result in below build error:

ERROR: modpost: "of_regulator_bulk_get_all" [drivers/pci/pwrctrl/pci-pwrctl-slot.ko] undefined!

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202412181640.12Iufkvd-lkp@intel.com/
Fixes: 27b9ecc7a9ba ("regulator: Add of_regulator_bulk_get_all")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://patch.msgid.link/20250104115058.19216-2-manivannan.sadhasivam@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
include/linux/regulator/consumer.h

index 8c3c372ad735e5e33bc0a02770d42a21dd67e37d..85be83c8fa177683cecf49c4d4dbe465bb3fe70c 100644 (file)
@@ -175,6 +175,8 @@ struct regulator *__must_check of_regulator_get_optional(struct device *dev,
 struct regulator *__must_check devm_of_regulator_get_optional(struct device *dev,
                                                              struct device_node *node,
                                                              const char *id);
+int __must_check of_regulator_bulk_get_all(struct device *dev, struct device_node *np,
+                                          struct regulator_bulk_data **consumers);
 #else
 static inline struct regulator *__must_check of_regulator_get_optional(struct device *dev,
                                                                       struct device_node *node,
@@ -189,6 +191,13 @@ static inline struct regulator *__must_check devm_of_regulator_get_optional(stru
 {
        return ERR_PTR(-ENODEV);
 }
+
+static inline int of_regulator_bulk_get_all(struct device *dev, struct device_node *np,
+                                           struct regulator_bulk_data **consumers)
+{
+       return 0;
+}
+
 #endif
 
 int regulator_register_supply_alias(struct device *dev, const char *id,
@@ -223,8 +232,6 @@ int regulator_disable_deferred(struct regulator *regulator, int ms);
 
 int __must_check regulator_bulk_get(struct device *dev, int num_consumers,
                                    struct regulator_bulk_data *consumers);
-int __must_check of_regulator_bulk_get_all(struct device *dev, struct device_node *np,
-                                          struct regulator_bulk_data **consumers);
 int __must_check devm_regulator_bulk_get(struct device *dev, int num_consumers,
                                         struct regulator_bulk_data *consumers);
 void devm_regulator_bulk_put(struct regulator_bulk_data *consumers);
@@ -483,12 +490,6 @@ static inline int devm_regulator_bulk_get(struct device *dev, int num_consumers,
        return 0;
 }
 
-static inline int of_regulator_bulk_get_all(struct device *dev, struct device_node *np,
-                                           struct regulator_bulk_data **consumers)
-{
-       return 0;
-}
-
 static inline int devm_regulator_bulk_get_const(
        struct device *dev, int num_consumers,
        const struct regulator_bulk_data *in_consumers,