diff mbox series

regulator: Kconfig: Fix REGULATOR_QCOM_RPMH dependencies to avoid build error

Message ID 20201121063302.84090-1-john.stultz@linaro.org (mailing list archive)
State Superseded
Headers show
Series regulator: Kconfig: Fix REGULATOR_QCOM_RPMH dependencies to avoid build error | expand

Commit Message

John Stultz Nov. 21, 2020, 6:33 a.m. UTC
The kernel test robot reported the following build error:

All errors (new ones prefixed by >>):

   xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_vrm_get_voltage_sel':
   qcom-rpmh-regulator.c:(.text+0x270): undefined reference to `rpmh_write'
   xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_send_request':
   qcom-rpmh-regulator.c:(.text+0x2f2): undefined reference to `rpmh_write'
   xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_vrm_get_voltage_sel':
>> qcom-rpmh-regulator.c:(.text+0x274): undefined reference to `rpmh_write_async'
   xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_send_request':
   qcom-rpmh-regulator.c:(.text+0x2fc): undefined reference to `rpmh_write_async'

Which is due to REGULATOR_QCOM_RPMH depending on
QCOM_RPMH || COMPILE_TEST. The problem is that QOM_RPMH can now
be a module, which in that case requires REGULATOR_QCOM_RPMH=m
to build.

However, if COMPILE_TEST is enabled, REGULATOR_QCOM_RPMH can be
set to =y while REGULATOR_QCOM_RPMH=m which will cause build
failures.

The easy fix here is to remove COMPILE_TEST.

Feedback would be appreciated!

Cc: Todd Kjos <tkjos@google.com>
Cc: Saravana Kannan <saravanak@google.com>
Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Rajendra Nayak <rnayak@codeaurora.org>
Cc: Maulik Shah <mkshah@codeaurora.org>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
 drivers/regulator/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Maulik Shah Nov. 23, 2020, 4:55 p.m. UTC | #1
Hi John,

Thanks for the patch.

On 11/21/2020 12:03 PM, John Stultz wrote:
> The kernel test robot reported the following build error:
>
> All errors (new ones prefixed by >>):
>
>     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_vrm_get_voltage_sel':
>     qcom-rpmh-regulator.c:(.text+0x270): undefined reference to `rpmh_write'
>     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_send_request':
>     qcom-rpmh-regulator.c:(.text+0x2f2): undefined reference to `rpmh_write'
>     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_vrm_get_voltage_sel':
>>> qcom-rpmh-regulator.c:(.text+0x274): undefined reference to `rpmh_write_async'
>     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_send_request':
>     qcom-rpmh-regulator.c:(.text+0x2fc): undefined reference to `rpmh_write_async'
>
> Which is due to REGULATOR_QCOM_RPMH depending on
> QCOM_RPMH || COMPILE_TEST. The problem is that QOM_RPMH can now
> be a module, which in that case requires REGULATOR_QCOM_RPMH=m
> to build.
>
> However, if COMPILE_TEST is enabled, REGULATOR_QCOM_RPMH can be
> set to =y while REGULATOR_QCOM_RPMH=m which will cause build
> failures.
Seems typo here, you mean to say, REGULATOR_QCOM_RPMH can be set to =y 
while QCOM_RPMH=m....
>
> The easy fix here is to remove COMPILE_TEST.

As config QCOM_RPMH also has COMPILE_TEST, i don't see why it should be 
removed from REGULATOR_QCOM_RPMH.

Can REGULATOR_QCOM_RPMH have depends on ARCH_QCOM set similar to 
QCOM_RPMH? As test bot reported build errors on other ARCH with 
regulatore driver of QCOM arch.

Thanks,
Maulik

>
> Feedback would be appreciated!
>
> Cc: Todd Kjos <tkjos@google.com>
> Cc: Saravana Kannan <saravanak@google.com>
> Cc: Andy Gross <agross@kernel.org>
> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
> Cc: Rajendra Nayak <rnayak@codeaurora.org>
> Cc: Maulik Shah <mkshah@codeaurora.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> ---
>   drivers/regulator/Kconfig | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
> index 020a00d6696b..9e4fc73ed5a1 100644
> --- a/drivers/regulator/Kconfig
> +++ b/drivers/regulator/Kconfig
> @@ -843,7 +843,7 @@ config REGULATOR_QCOM_RPM
>   
>   config REGULATOR_QCOM_RPMH
>   	tristate "Qualcomm Technologies, Inc. RPMh regulator driver"
> -	depends on QCOM_RPMH || COMPILE_TEST
> +	depends on QCOM_RPMH
>   	help
>   	  This driver supports control of PMIC regulators via the RPMh hardware
>   	  block found on Qualcomm Technologies Inc. SoCs.  RPMh regulator
Mark Brown Nov. 23, 2020, 6:36 p.m. UTC | #2
On Sat, Nov 21, 2020 at 06:33:02AM +0000, John Stultz wrote:

>  config REGULATOR_QCOM_RPMH
>  	tristate "Qualcomm Technologies, Inc. RPMh regulator driver"
> -	depends on QCOM_RPMH || COMPILE_TEST
> +	depends on QCOM_RPMH

QCOM_RPMH || (QCOM_RPMH=n && COMPILE_TEST)
should do the trick IIRC.
John Stultz Nov. 23, 2020, 9:32 p.m. UTC | #3
On Mon, Nov 23, 2020 at 8:55 AM Maulik Shah <mkshah@codeaurora.org> wrote:
> On 11/21/2020 12:03 PM, John Stultz wrote:
> > The kernel test robot reported the following build error:
> >
> > All errors (new ones prefixed by >>):
> >
> >     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_vrm_get_voltage_sel':
> >     qcom-rpmh-regulator.c:(.text+0x270): undefined reference to `rpmh_write'
> >     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_send_request':
> >     qcom-rpmh-regulator.c:(.text+0x2f2): undefined reference to `rpmh_write'
> >     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_vrm_get_voltage_sel':
> >>> qcom-rpmh-regulator.c:(.text+0x274): undefined reference to `rpmh_write_async'
> >     xtensa-linux-ld: drivers/regulator/qcom-rpmh-regulator.o: in function `rpmh_regulator_send_request':
> >     qcom-rpmh-regulator.c:(.text+0x2fc): undefined reference to `rpmh_write_async'
> >
> > Which is due to REGULATOR_QCOM_RPMH depending on
> > QCOM_RPMH || COMPILE_TEST. The problem is that QOM_RPMH can now
> > be a module, which in that case requires REGULATOR_QCOM_RPMH=m
> > to build.
> >
> > However, if COMPILE_TEST is enabled, REGULATOR_QCOM_RPMH can be
> > set to =y while REGULATOR_QCOM_RPMH=m which will cause build
> > failures.
> Seems typo here, you mean to say, REGULATOR_QCOM_RPMH can be set to =y
> while QCOM_RPMH=m....

Ah, yes, thanks for catching that. I'll fix it up.

> > The easy fix here is to remove COMPILE_TEST.
>
> As config QCOM_RPMH also has COMPILE_TEST, i don't see why it should be
> removed from REGULATOR_QCOM_RPMH.
>
> Can REGULATOR_QCOM_RPMH have depends on ARCH_QCOM set similar to
> QCOM_RPMH? As test bot reported build errors on other ARCH with
> regulatore driver of QCOM arch.

I think Mark's suggestion of "|| (QCOM_RPMH=n && COMPILE_TEST)" is
probably better, as you could still trigger the build issue with a
ARCH_QCOM and compile test.  But I appreciate the suggestion!

Thanks so much for the review!
-john
John Stultz Nov. 23, 2020, 9:35 p.m. UTC | #4
On Mon, Nov 23, 2020 at 10:37 AM Mark Brown <broonie@kernel.org> wrote:
>
> On Sat, Nov 21, 2020 at 06:33:02AM +0000, John Stultz wrote:
>
> >  config REGULATOR_QCOM_RPMH
> >       tristate "Qualcomm Technologies, Inc. RPMh regulator driver"
> > -     depends on QCOM_RPMH || COMPILE_TEST
> > +     depends on QCOM_RPMH
>
> QCOM_RPMH || (QCOM_RPMH=n && COMPILE_TEST)
> should do the trick IIRC.

Sounds good. I'll resend shortly.

thanks
-john
diff mbox series

Patch

diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
index 020a00d6696b..9e4fc73ed5a1 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -843,7 +843,7 @@  config REGULATOR_QCOM_RPM
 
 config REGULATOR_QCOM_RPMH
 	tristate "Qualcomm Technologies, Inc. RPMh regulator driver"
-	depends on QCOM_RPMH || COMPILE_TEST
+	depends on QCOM_RPMH
 	help
 	  This driver supports control of PMIC regulators via the RPMh hardware
 	  block found on Qualcomm Technologies Inc. SoCs.  RPMh regulator