linux/drivers/gpu/drm/exynos
Christophe JAILLET 547a734863 drm/exynos: dsi: Remove bridge node reference in error handling path in probe function
'exynos_dsi_parse_dt()' takes a reference to 'dsi->in_bridge_node'.
This must be released in the error handling path.

In order to do that, add an error handling path and move the
'exynos_dsi_parse_dt()' call from the beginning to the end of the probe
function to ease the error handling path.
This function only sets some variables which are used only in the
'transfer' function.

The call chain is:
   .transfer
    --> exynos_dsi_host_transfer
      --> exynos_dsi_init
        --> exynos_dsi_enable_clock  (use burst_clk_rate and esc_clk_rate)
          --> exynos_dsi_set_pll     (use pll_clk_rate)

While at it, also handle cases where 'component_add()' fails.

This patch is similar to commit 70505c2ef9 ("drm/exynos: dsi: Remove bridge node reference in removal")
which fixed the issue in the remove function.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
2020-05-18 13:16:27 +09:00
..
exynos7_drm_decon.c Linux 5.6 2020-03-31 15:15:47 +10:00
exynos5433_drm_decon.c drm/exynos: Fix cleanup of IOMMU related objects 2020-03-10 13:25:18 +09:00
exynos_dp.c drm-misc-next for 5.8: 2020-04-22 10:41:35 +10:00
exynos_drm_crtc.c drm/exynos: change callback names 2020-01-21 09:09:42 +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: Fix cleanup of IOMMU related objects 2020-03-10 13:25:18 +09:00
exynos_drm_dpi.c drm/exynos: Use simple encoder 2020-04-02 14:16:44 +02:00
exynos_drm_drv.c drm/exynos: gem: Remove dead-code 2020-05-18 11:36:00 +09:00
exynos_drm_drv.h drm/exynos: Fix cleanup of IOMMU related objects 2020-03-10 13:25:18 +09:00
exynos_drm_dsi.c drm/exynos: dsi: Remove bridge node reference in error handling path in probe function 2020-05-18 13:16:27 +09: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: gem: Get rid of the internal 'pages' array 2020-05-18 11:36:00 +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-03-10 13:25:18 +09:00
exynos_drm_fimd.c drm/exynos: Fix cleanup of IOMMU related objects 2020-03-10 13:25:18 +09:00
exynos_drm_g2d.c drm/exynos: Fix cleanup of IOMMU related objects 2020-03-10 13:25:18 +09: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 drm/exynos: gem: Get rid of the internal 'pages' array 2020-05-18 11:36:00 +09:00
exynos_drm_gem.h drm/exynos: gem: Get rid of the internal 'pages' array 2020-05-18 11:36:00 +09:00
exynos_drm_gsc.c drm/exynos: Fix cleanup of IOMMU related objects 2020-03-10 13:25:18 +09: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: make pointer to const data const type 2020-05-18 11:36:00 +09: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: Delete an error message in three functions 2020-05-18 11:36:00 +09:00
exynos_drm_scaler.c drm/exynos: Delete an error message in three functions 2020-05-18 11:36:00 +09:00
exynos_drm_vidi.c drm/exynos: Use simple encoder 2020-04-02 14:16:44 +02: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: Use simple encoder 2020-04-02 14:16:44 +02:00
exynos_mixer.c drm/exynos: mixer: Fix enabling of the runtime power management 2020-05-18 11:37:26 +09:00
Kconfig drm/exynos: Rename Exynos to lowercase 2020-01-21 09:09:42 +09:00
Makefile drm/exynos/iommu: merge IOMMU and DMA code 2018-12-04 13:23:17 +09: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