On Mon 23 Nov 16:23 CST 2020, 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 QCOM_RPMH=m which will cause build failures. > > The fix here is to add (QCOM_RPMH=n && COMPILE_TEST) to the > dependency. > > Feedback would be appreciated! Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Regards, Bjorn > > Cc: Todd Kjos <tkjos@xxxxxxxxxx> > Cc: Saravana Kannan <saravanak@xxxxxxxxxx> > Cc: Andy Gross <agross@xxxxxxxxxx> > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > Cc: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> > Cc: Maulik Shah <mkshah@xxxxxxxxxxxxxx> > Cc: Stephen Boyd <swboyd@xxxxxxxxxxxx> > Cc: Liam Girdwood <lgirdwood@xxxxxxxxx> > Cc: Mark Brown <broonie@xxxxxxxxxx> > Cc: linux-arm-msm@xxxxxxxxxxxxxxx > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> > --- > v2: Switch dependency logic as suggested by MarkB > --- > drivers/regulator/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig > index 020a00d6696b..481c7b10133b 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 || (QCOM_RPMH=n && COMPILE_TEST) > help > This driver supports control of PMIC regulators via the RPMh hardware > block found on Qualcomm Technologies Inc. SoCs. RPMh regulator > -- > 2.17.1 >