[PATCH v5 0/3] soc: qcom: ubwc: Fix link error when QCOM_SMEM=n
Daniel Baluta <[email protected]>
| Newsgroups | org.kernel.vger.linux-arm-msm,dev.linux.lists.imx,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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/[email protected]/
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