diff mbox series

regulator: Kconfig: Fix REGULATOR_QCOM_RPMH dependencies to avoid build error

Message ID 20201121063302.84090-1-john.stultz@linaro.org
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


-- 
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
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