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 |
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
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.
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
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 --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