From: Peng Fan <peng.fan@oss.nxp.com>
To: Julien Stephan <jstephan@baylibre.com>
Cc: u-boot@lists.denx.de, Jaehoon Chung <jh80.chung@samsung.com>,
Peng Fan <peng.fan@nxp.com>, Tom Rini <trini@konsulko.com>,
Tanmay Kathpalia <tanmay.kathpalia@altera.com>,
Ye Li <ye.li@nxp.com>, Dragan Simic <dsimic@manjaro.org>,
Jonas Karlman <jonas@kwiboo.se>,
David Lechner <dlechner@baylibre.com>,
GSS_MTK_Uboot_upstream <GSS_MTK_Uboot_upstream@mediatek.com>
Subject: Re: [PATCH 3/3] power: regulator: common: fix compilation issue
Date: Thu, 11 Dec 2025 16:33:31 +0800 [thread overview]
Message-ID: <aTqB2w9VSK/V7wbd@shlinux89> (raw)
In-Reply-To: <20251210-power-regulator-fix-compilation-v1-3-c58f01e0a5c3@baylibre.com>
On Wed, Dec 10, 2025 at 10:24:24PM +0100, Julien Stephan wrote:
>If CONFIG_DM_GPIO is not enabled, compilation fails with the following
>errors:
>
>aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_of_to_plat':
><...>/u-boot/drivers/power/regulator/regulator_common.c:30: undefined reference to `gpio_request_by_name'
>aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_get_enable':
><...>/u-boot/drivers/power/regulator/regulator_common.c:57: undefined reference to `dm_gpio_get_value'
>aarch64-none-linux-gnu-ld: drivers/power/regulator/regulator_common.o: in function `regulator_common_set_enable':
><...>/u-boot/drivers/power/regulator/regulator_common.c:92: undefined reference to `dm_gpio_set_value'
>make: *** [Makefile:2029: u-boot] Error 139
>
>Since the enable gpio is optional we can conditionally skip these calls.
>
>Signed-off-by: Julien Stephan <jstephan@baylibre.com>
>---
> drivers/power/regulator/regulator_common.c | 88 +++++++++++++++---------------
> 1 file changed, 45 insertions(+), 43 deletions(-)
>
>diff --git a/drivers/power/regulator/regulator_common.c b/drivers/power/regulator/regulator_common.c
>index cf98998579aa8a3cb7f09dccd2124207a58d8b00..fcf19253e048995fdcd952a48a6976cf86991ca8 100644
>--- a/drivers/power/regulator/regulator_common.c
>+++ b/drivers/power/regulator/regulator_common.c
>@@ -27,12 +27,14 @@ int regulator_common_of_to_plat(struct udevice *dev,
>
> /* Get optional enable GPIO desc */
> gpio = &plat->gpio;
>- ret = gpio_request_by_name(dev, enable_gpio_name, 0, gpio, flags);
>- if (ret) {
>- debug("Regulator '%s' optional enable GPIO - not found! Error: %d\n",
>- dev->name, ret);
>- if (ret != -ENOENT)
>- return ret;
>+ if (IS_ENABLED(CONFIG_DM_GPIO)) {
This should be CONFIG_IS_ENABLED(DM_GPIO)
>- if (!dm_gpio_is_valid(&plat->gpio))
>- return true;
>+ if (IS_ENABLED(CONFIG_DM_GPIO) && dm_gpio_is_valid(&plat->gpio))
Ditto.
>+ return dm_gpio_get_value(&plat->gpio);
>
>- return dm_gpio_get_value(&plat->gpio);
>+ return true;
> }
>
> int regulator_common_set_enable(const struct udevice *dev,
>@@ -65,47 +67,47 @@ int regulator_common_set_enable(const struct udevice *dev,
> debug("%s: dev='%s', enable=%d, delay=%d, has_gpio=%d\n", __func__,
> dev->name, enable, plat->startup_delay_us,
> dm_gpio_is_valid(&plat->gpio));
>+
> /* Enable GPIO is optional */
>- if (!dm_gpio_is_valid(&plat->gpio)) {
>- if (!enable)
>- return -ENOSYS;
>- return 0;
>- }
>+ if (IS_ENABLED(CONFIG_DM_GPIO) && dm_gpio_is_valid(&plat->gpio)) {
Ditto.
Regards
Peng
next prev parent reply other threads:[~2025-12-11 10:08 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-10 21:24 [PATCH 0/3] Fix compilation issue on regulator_common file Julien Stephan
2025-12-10 21:24 ` [PATCH 1/3] power: regulator: common: remove unnecessary debug trace Julien Stephan
2025-12-11 8:27 ` Peng Fan
2025-12-10 21:24 ` [PATCH 2/3] power: regulator: common: use dm_gpio_is_valid helper Julien Stephan
2025-12-11 8:29 ` Peng Fan
2025-12-10 21:24 ` [PATCH 3/3] power: regulator: common: fix compilation issue Julien Stephan
2025-12-11 8:33 ` Peng Fan [this message]
2025-12-10 21:38 ` [PATCH 0/3] Fix compilation issue on regulator_common file Tom Rini
2025-12-11 8:39 ` Peng Fan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aTqB2w9VSK/V7wbd@shlinux89 \
--to=peng.fan@oss.nxp.com \
--cc=GSS_MTK_Uboot_upstream@mediatek.com \
--cc=dlechner@baylibre.com \
--cc=dsimic@manjaro.org \
--cc=jh80.chung@samsung.com \
--cc=jonas@kwiboo.se \
--cc=jstephan@baylibre.com \
--cc=peng.fan@nxp.com \
--cc=tanmay.kathpalia@altera.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=ye.li@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox