On Tue, Jun 20, 2017 at 10:16:51PM +0200, Arnd Bergmann wrote: > When compile-testing for something other than ARCH_QCOM, > we run into a link error: > > drivers/gpu/drm/msm/adreno/a5xx_gpu.o: In function `a5xx_hw_init': > a5xx_gpu.c:(.text.a5xx_hw_init+0x600): undefined reference to `qcom_mdt_get_size' > a5xx_gpu.c:(.text.a5xx_hw_init+0x93c): undefined reference to `qcom_mdt_load' > > There is already an #ifdef that tries to check for CONFIG_QCOM_MDT_LOADER, > but that symbol is only meaningful when building for ARCH_QCOM. > > This adds a compile-time check for ARCH_QCOM, and clarifies the > Kconfig select statement so we don't even try it for other targets. > > The check for CONFIG_QCOM_MDT_LOADER can then go away, which also > improves compile-time coverage and makes the code a little nicer > to read. > > Fixes: 7c65817e6d38 ("drm/msm: gpu: Enable zap shader for A5XX") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> (ARM && COMPILE_TEST) really gives the dependency checks a run for their money. I assume Bjorn is cool with this. Acked-by: Jordan Crouse <jcrouse@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/msm/Kconfig | 2 +- > drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 11 +++-------- > 2 files changed, 4 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig > index b638d192ce5e..99d39b2aefa6 100644 > --- a/drivers/gpu/drm/msm/Kconfig > +++ b/drivers/gpu/drm/msm/Kconfig > @@ -5,7 +5,7 @@ config DRM_MSM > depends on ARCH_QCOM || (ARM && COMPILE_TEST) > depends on OF && COMMON_CLK > depends on MMU > - select QCOM_MDT_LOADER > + select QCOM_MDT_LOADER if ARCH_QCOM > select REGULATOR > select DRM_KMS_HELPER > select DRM_PANEL > diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c > index eee9ac81aaa1..b719a5b5b88a 100644 > --- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c > +++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c > @@ -26,8 +26,6 @@ static void a5xx_dump(struct msm_gpu *gpu); > > #define GPU_PAS_ID 13 > > -#if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) > - > static int zap_shader_load_mdt(struct device *dev, const char *fwname) > { > const struct firmware *fw; > @@ -36,6 +34,9 @@ static int zap_shader_load_mdt(struct device *dev, const char *fwname) > void *mem_region = NULL; > int ret; > > + if (!IS_ENABLED(CONFIG_ARCH_QCOM)) > + return -EINVAL; > + > /* Request the MDT file for the firmware */ > ret = request_firmware(&fw, fwname, dev); > if (ret) { > @@ -75,12 +76,6 @@ static int zap_shader_load_mdt(struct device *dev, const char *fwname) > > return ret; > } > -#else > -static int zap_shader_load_mdt(struct device *dev, const char *fwname) > -{ > - return -ENODEV; > -} > -#endif > > static void a5xx_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, > struct msm_file_private *ctx) > -- > 2.9.0 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html