[PATCH v5 0/3] soc: qcom: ubwc: Fix link error when QCOM_SMEM=n

Daniel Baluta posted 3 patches 1 month, 2 weeks ago
There is a newer version of this series
drivers/gpu/drm/msm/Kconfig              | 3 ++-
drivers/media/platform/qcom/iris/Kconfig | 3 ++-
drivers/soc/qcom/Kconfig                 | 1 +
3 files changed, 5 insertions(+), 2 deletions(-)
[PATCH v5 0/3] soc: qcom: ubwc: Fix link error when QCOM_SMEM=n
Posted by Daniel Baluta 1 month, 2 weeks ago
DRM_MSM and VIDEO_QCOM_IRIS select QCOM_UBWC_CONFIG, whose
ubwc_config.c calls QCOM_SMEM APIs unconditionally. On configs without
QCOM_SMEM this fails to link, e.g. on SOC_IMX5:

  arm-linux-gnueabihf-ld: ubwc_config.c:(.text+0x2c): undefined
      reference to 'qcom_smem_is_available'

Fix it by making the QCOM_SMEM requirement explicit in Kconfig.

Changes since v4: (fixed coments from sashiko bot)
- Dropped the IS_REACHABLE() patch. As pointed out in review, it did not
  fix the case where DRM_MSM=y and QCOM_SMEM=m. it only masked the mismatch
  at build time and turned it into a guaranteed runtime probe failure,
  since all callers abort when qcom_ubwc_config_get_data() returns an
  error. Instead the mismatch is now made unconfigurable with
  'depends on QCOM_SMEM || QCOM_SMEM=n' on both drivers, so the header
  keeps the plain IS_ENABLED() test.
- Reordered so the selects are guarded first and the QCOM_SMEM
  dependency is added to QCOM_UBWC_CONFIG last so that we dont break
  bisection as pointed by Nathan

Link to v4:
  - https://lore.kernel.org/imx/20260812151934.709198-1-daniel.baluta@nxp.com/

Daniel Baluta (3):
  drm/msm: Guard the QCOM_UBWC_CONFIG select with QCOM_SMEM
  media: iris: Guard the QCOM_UBWC_CONFIG select with QCOM_SMEM
  soc: qcom: ubwc: Fix link error when QCOM_SMEM=n

 drivers/gpu/drm/msm/Kconfig              | 3 ++-
 drivers/media/platform/qcom/iris/Kconfig | 3 ++-
 drivers/soc/qcom/Kconfig                 | 1 +
 3 files changed, 5 insertions(+), 2 deletions(-)

-- 
2.45.2