aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/805-display-0050-Revert-drm-imx-Revert-a-patch-which-merges-imx-drm-c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/805-display-0050-Revert-drm-imx-Revert-a-patch-which-merges-imx-drm-c.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/805-display-0050-Revert-drm-imx-Revert-a-patch-which-merges-imx-drm-c.patch107
1 files changed, 107 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/805-display-0050-Revert-drm-imx-Revert-a-patch-which-merges-imx-drm-c.patch b/target/linux/layerscape/patches-5.4/805-display-0050-Revert-drm-imx-Revert-a-patch-which-merges-imx-drm-c.patch
new file mode 100644
index 0000000000..c04aede833
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/805-display-0050-Revert-drm-imx-Revert-a-patch-which-merges-imx-drm-c.patch
@@ -0,0 +1,107 @@
+From c0dd62d0bc48c0d9e833116ea2696cc000633897 Mon Sep 17 00:00:00 2001
+From: Yangbo Lu <yangbo.lu@nxp.com>
+Date: Mon, 2 Mar 2020 13:46:39 +0800
+Subject: [PATCH] Revert "drm/imx: Revert a patch which merges imx-drm-core and
+ ipuv3-crtc in one module"
+
+This reverts commit 1e7f3c4066d9afb4bc036b9d4b6f5b18f3c918c7.
+---
+ drivers/gpu/drm/imx/Kconfig | 7 -------
+ drivers/gpu/drm/imx/Makefile | 4 +---
+ drivers/gpu/drm/imx/imx-drm-core.c | 18 +++++++++++++++++-
+ drivers/gpu/drm/imx/imx-drm.h | 2 ++
+ drivers/gpu/drm/imx/ipuv3-crtc.c | 8 +-------
+ 5 files changed, 21 insertions(+), 18 deletions(-)
+
+--- a/drivers/gpu/drm/imx/Kconfig
++++ b/drivers/gpu/drm/imx/Kconfig
+@@ -33,13 +33,6 @@ config DRM_IMX_LDB
+ Choose this to enable the internal LVDS Display Bridge (LDB)
+ found on i.MX53 and i.MX6 processors.
+
+-config DRM_IMX_IPUV3
+- tristate
+- depends on DRM_IMX
+- depends on IMX_IPUV3_CORE
+- default y if DRM_IMX=y
+- default m if DRM_IMX=m
+-
+ config DRM_IMX_HDMI
+ tristate "Freescale i.MX DRM HDMI"
+ select DRM_DW_HDMI
+--- a/drivers/gpu/drm/imx/Makefile
++++ b/drivers/gpu/drm/imx/Makefile
+@@ -1,6 +1,6 @@
+ # SPDX-License-Identifier: GPL-2.0
+
+-imxdrm-objs := imx-drm-core.o
++imxdrm-objs := imx-drm-core.o ipuv3-crtc.o ipuv3-plane.o
+
+ obj-$(CONFIG_DRM_IMX) += imxdrm.o
+
+@@ -8,7 +8,5 @@ obj-$(CONFIG_DRM_IMX_PARALLEL_DISPLAY) +
+ obj-$(CONFIG_DRM_IMX_TVE) += imx-tve.o
+ obj-$(CONFIG_DRM_IMX_LDB) += imx-ldb.o
+
+-imx-ipuv3-crtc-objs := ipuv3-crtc.o ipuv3-plane.o
+-obj-$(CONFIG_DRM_IMX_IPUV3) += imx-ipuv3-crtc.o
+ obj-$(CONFIG_DRM_IMX_HDMI) += dw_hdmi-imx.o
+ obj-$(CONFIG_DRM_IMX_CDNS_MHDP) += cdn-mhdp-imxdrv.o cdn-mhdp-dp-phy.o cdn-mhdp-hdmi-phy.o cdn-mhdp-imx8qm.o cdn-mhdp-ls1028a.o
+--- a/drivers/gpu/drm/imx/imx-drm-core.c
++++ b/drivers/gpu/drm/imx/imx-drm-core.c
+@@ -361,7 +361,23 @@ static struct platform_driver imx_drm_pd
+ .of_match_table = imx_drm_dt_ids,
+ },
+ };
+-module_platform_driver(imx_drm_pdrv);
++
++static struct platform_driver * const drivers[] = {
++ &imx_drm_pdrv,
++ &ipu_drm_driver,
++};
++
++static int __init imx_drm_init(void)
++{
++ return platform_register_drivers(drivers, ARRAY_SIZE(drivers));
++}
++module_init(imx_drm_init);
++
++static void __exit imx_drm_exit(void)
++{
++ platform_unregister_drivers(drivers, ARRAY_SIZE(drivers));
++}
++module_exit(imx_drm_exit);
+
+ MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");
+ MODULE_DESCRIPTION("i.MX drm driver core");
+--- a/drivers/gpu/drm/imx/imx-drm.h
++++ b/drivers/gpu/drm/imx/imx-drm.h
+@@ -28,6 +28,8 @@ int imx_drm_init_drm(struct platform_dev
+ int preferred_bpp);
+ int imx_drm_exit_drm(void);
+
++extern struct platform_driver ipu_drm_driver;
++
+ void imx_drm_mode_config_init(struct drm_device *drm);
+
+ struct drm_gem_cma_object *imx_drm_fb_get_obj(struct drm_framebuffer *fb);
+--- a/drivers/gpu/drm/imx/ipuv3-crtc.c
++++ b/drivers/gpu/drm/imx/ipuv3-crtc.c
+@@ -492,16 +492,10 @@ static int ipu_drm_remove(struct platfor
+ return 0;
+ }
+
+-static struct platform_driver ipu_drm_driver = {
++struct platform_driver ipu_drm_driver = {
+ .driver = {
+ .name = "imx-ipuv3-crtc",
+ },
+ .probe = ipu_drm_probe,
+ .remove = ipu_drm_remove,
+ };
+-module_platform_driver(ipu_drm_driver);
+-
+-MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");
+-MODULE_DESCRIPTION(DRIVER_DESC);
+-MODULE_LICENSE("GPL");
+-MODULE_ALIAS("platform:imx-ipuv3-crtc");