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!

Cc: Todd Kjos <tk...@google.com>
Cc: Saravana Kannan <sarava...@google.com>
Cc: Andy Gross <agr...@kernel.org>
Cc: Bjorn Andersson <bjorn.anders...@linaro.org>
Cc: Rajendra Nayak <rna...@codeaurora.org>
Cc: Maulik Shah <mks...@codeaurora.org>
Cc: Stephen Boyd <swb...@chromium.org>
Cc: Liam Girdwood <lgirdw...@gmail.com>
Cc: Mark Brown <broo...@kernel.org>
Cc: linux-arm-...@vger.kernel.org
Reported-by: kernel test robot <l...@intel.com>
Signed-off-by: John Stultz <john.stu...@linaro.org>
---
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

Reply via email to