linux-brain/drivers/gpu/drm/exynos
Nathan Chancellor 3710cff57d drm/exynos: Always initialize mapping in exynos_drm_register_dma()
[ Upstream commit c626f3864bbbb28bbe06476b0b497c1330aa4463 ]

In certain randconfigs, clang warns:

drivers/gpu/drm/exynos/exynos_drm_dma.c:121:19: warning: variable
'mapping' is uninitialized when used here [-Wuninitialized]
                priv->mapping = mapping;
                                ^~~~~~~
drivers/gpu/drm/exynos/exynos_drm_dma.c:111:16: note: initialize the
variable 'mapping' to silence this warning
                void *mapping;
                             ^
                              = NULL
1 warning generated.

This occurs when CONFIG_EXYNOS_IOMMU is enabled and both
CONFIG_ARM_DMA_USE_IOMMU and CONFIG_IOMMU_DMA are disabled, which makes
the code look like

  void *mapping;

  if (0)
    mapping = arm_iommu_create_mapping()
  else if (0)
    mapping = iommu_get_domain_for_dev()

  ...
  priv->mapping = mapping;

Add an else branch that initializes mapping to the -ENODEV error pointer
so that there is no more warning and the driver does not change during
runtime.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-22 12:26:34 +02:00
..
Kconfig drm/exynos: add CONFIG_MMU dependency 2019-08-02 15:28:47 +09:00
Makefile drm/exynos/iommu: merge IOMMU and DMA code 2018-12-04 13:23:17 +09:00
exynos7_drm_decon.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos5433_drm_decon.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_dp.c drm/bridge: analogix_dp: Split bind() into probe() and real bind() 2020-05-10 10:31:22 +02:00
exynos_drm_crtc.c drm/exynos: drop drmP.h usage 2019-06-27 19:56:09 +09:00
exynos_drm_crtc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exynos_drm_dma.c drm/exynos: Always initialize mapping in exynos_drm_register_dma() 2021-09-22 12:26:34 +02:00
exynos_drm_dpi.c drm main pull request for v5.3-rc1 (sans mm changes) 2019-07-15 19:04:27 -07:00
exynos_drm_drv.c drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
exynos_drm_drv.h drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_drm_dsi.c drm/exynos: dsi: Remove bridge node reference in error handling path in probe function 2020-10-01 13:18:01 +02:00
exynos_drm_fb.c drm/exynos: drop drmP.h usage 2019-06-27 19:56:09 +09:00
exynos_drm_fb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exynos_drm_fbdev.c drm/exynos: trigger build of all modules 2019-06-27 22:30:56 +09:00
exynos_drm_fbdev.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exynos_drm_fimc.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_drm_fimd.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_drm_g2d.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_drm_g2d.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 423 2019-06-05 17:37:15 +02:00
exynos_drm_gem.c Revert "drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()" 2019-08-07 11:56:48 -04:00
exynos_drm_gem.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exynos_drm_gsc.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_drm_ipp.c drm/exynos: drop use of drmP.h 2019-09-01 20:55:12 +09:00
exynos_drm_ipp.h drm/exynos: drop use of drmP.h 2019-09-01 20:55:12 +09:00
exynos_drm_mic.c drm/exynos: fix ref count leak in mic_pre_enable 2020-07-22 09:32:51 +02:00
exynos_drm_plane.c drm/exynos: drop drmP.h usage 2019-06-27 19:56:09 +09:00
exynos_drm_plane.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exynos_drm_rotator.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_drm_scaler.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
exynos_drm_vidi.c drm/exynos: drop drmP.h usage 2019-06-27 19:56:09 +09:00
exynos_drm_vidi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
exynos_hdmi.c drm/exynos: hdmi: don't leak enable HDMI_EN regulator if probe fails 2020-03-25 08:25:46 +01:00
exynos_mixer.c drm/exynos: Fix cleanup of IOMMU related objects 2020-04-01 11:01:53 +02:00
regs-decon7.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
regs-decon5433.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 423 2019-06-05 17:37:15 +02:00
regs-fimc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-gsc.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-hdmi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-mixer.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-rotator.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-scaler.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
regs-vp.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00