mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 01:59:02 +00:00
117 lines
3.5 KiB
Diff
117 lines
3.5 KiB
Diff
|
From d27d7c25c946776c015a39f1a9eb0c6d4e724a70 Mon Sep 17 00:00:00 2001
|
||
|
From: Liu Ying <victor.liu@nxp.com>
|
||
|
Date: Fri, 25 Jan 2019 11:23:39 +0800
|
||
|
Subject: [PATCH] drm/imx: Revert a patch which merges imx-drm-core and
|
||
|
ipuv3-crtc in one module
|
||
|
|
||
|
DPU CRTC found in i.MX8qm/qxp SoCs can be hooked into imx-drm.
|
||
|
Thus, move ipuv3-crtc out of imx-drm-core.
|
||
|
|
||
|
Revert "drm/imx: merge imx-drm-core and ipuv3-crtc in one module"
|
||
|
|
||
|
This reverts commit 3d1df96ad46856ce850be5ac112eab919cbe1cab.
|
||
|
|
||
|
Signed-off-by: Liu Ying <victor.liu@nxp.com>
|
||
|
[ Aisheng: fix conflicts ]
|
||
|
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
|
||
|
---
|
||
|
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, 18 insertions(+), 21 deletions(-)
|
||
|
|
||
|
--- a/drivers/gpu/drm/imx/Kconfig
|
||
|
+++ b/drivers/gpu/drm/imx/Kconfig
|
||
|
@@ -33,6 +33,13 @@ 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 ipuv3-crtc.o ipuv3-plane.o
|
||
|
+imxdrm-objs := imx-drm-core.o
|
||
|
|
||
|
obj-$(CONFIG_DRM_IMX) += imxdrm.o
|
||
|
|
||
|
@@ -8,5 +8,7 @@ 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
|
||
|
@@ -343,23 +343,7 @@ static struct platform_driver imx_drm_pd
|
||
|
.of_match_table = imx_drm_dt_ids,
|
||
|
},
|
||
|
};
|
||
|
-
|
||
|
-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_platform_driver(imx_drm_pdrv);
|
||
|
|
||
|
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,8 +28,6 @@ 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,10 +492,16 @@ static int ipu_drm_remove(struct platfor
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
-struct platform_driver ipu_drm_driver = {
|
||
|
+static 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");
|