imx-drm module/dependency changes
- The PRE/PRG drivers added an unwanted DRM dependency to the ipu-v3 driver. Remove the dependency by conditionally disabling PRE/PRG support depending on CONFIG_DRM. - Merge the imx-ipuv3-crtc module into the imxdrm module. There is no reason anymore for a separation between core drm driver and crtc/plane drivers, especially since commiteb8c88808c
("drm/imx: add deferred plane disabling"), which added a dependency on imx-ipuv3-crtc to the imxdrm module. -----BEGIN PGP SIGNATURE----- iQJLBAABCAA1FiEEBsBxhV1FaKwXuCOBUMKIHHCeYOsFAljjxWwXHHAuemFiZWxA cGVuZ3V0cm9uaXguZGUACgkQUMKIHHCeYOtLHg//aoq3/r65mlsCVo5DoWH8niOo Po4nrCPPUbwieeG5q1kkjj/Yj8rwwPAL06GKzeeV4z1IdH1rmbNuJKbSej4EHyB9 S1WHZ5GtZLphVGKyvPVJOPnnsrKXY/O+VhmBAX6ww56uYBqEEsrNaNREz4QB1Kqc JXtHBjwqO1DUJlLhJ105DutIjTendeJjQThRzjp8m95RGD1Xs6EwhtY4QLkbDRry DK1MXqmGlOfl0C9rLMH9b0WvtCqu8DJ8M6X+7I0C5XI9fbOXrp9SvAPafxhV/y27 6CHmmfJiF4Wm7lNjpdDgJu5c4361S4NHiNHj0wJM+/BoplhaZliIxyuIgUY9C1Fj uUG5pb74lus3m2n384xDk+AWvMbTubCdIS5xCgesCHJ2E8As+7z0Wbj5HV5vP4Zy 1j/jQaH07Yz/WgtdCQ7OYwVixFGMDnQAfTgdpiKI/d3ZD4m31lrZrvOhgQx9hF0c FwPQ7RWPOK5GwYDxzs/6mO4Me1kva8uXCC7HJhPBaqgbfBYDQ88JoNOf4bMVIN63 cJxpNnUYdkVT8ViA97u7L7uUeZPhSYazdx/ncjGvjj/s5nl09ZegtgqxFSCQ8Q8n eLdF0dkgqQ/es4dQMChdbUUiFRIFufhFJ05cK74tPh06+jy/XSbL3XlCHOMCX8oZ ruyTYM0cqwGo9OqTkvc= =3ZIW -----END PGP SIGNATURE----- Merge tag 'imx-drm-next-2017-04-04' of git://git.pengutronix.de/git/pza/linux into drm-next imx-drm module/dependency changes - The PRE/PRG drivers added an unwanted DRM dependency to the ipu-v3 driver. Remove the dependency by conditionally disabling PRE/PRG support depending on CONFIG_DRM. - Merge the imx-ipuv3-crtc module into the imxdrm module. There is no reason anymore for a separation between core drm driver and crtc/plane drivers, especially since commiteb8c88808c
("drm/imx: add deferred plane disabling"), which added a dependency on imx-ipuv3-crtc to the imxdrm module. * tag 'imx-drm-next-2017-04-04' of git://git.pengutronix.de/git/pza/linux: drm/imx: merge imx-drm-core and ipuv3-crtc in one module gpu: ipu-v3: don't depend on DRM being enabled
This commit is contained in:
commit
0e96133214
@ -31,13 +31,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
|
||||
|
@ -1,5 +1,5 @@
|
||||
|
||||
imxdrm-objs := imx-drm-core.o
|
||||
imxdrm-objs := imx-drm-core.o ipuv3-crtc.o ipuv3-plane.o
|
||||
|
||||
obj-$(CONFIG_DRM_IMX) += imxdrm.o
|
||||
|
||||
@ -7,6 +7,5 @@ obj-$(CONFIG_DRM_IMX_PARALLEL_DISPLAY) += parallel-display.o
|
||||
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
|
||||
|
@ -422,7 +422,23 @@ static struct platform_driver imx_drm_pdrv = {
|
||||
.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");
|
||||
|
@ -29,6 +29,8 @@ int imx_drm_init_drm(struct platform_device *pdev,
|
||||
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);
|
||||
|
@ -465,16 +465,10 @@ static int ipu_drm_remove(struct platform_device *pdev)
|
||||
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");
|
||||
|
@ -2,4 +2,8 @@ obj-$(CONFIG_IMX_IPUV3_CORE) += imx-ipu-v3.o
|
||||
|
||||
imx-ipu-v3-objs := ipu-common.o ipu-cpmem.o ipu-csi.o ipu-dc.o ipu-di.o \
|
||||
ipu-dp.o ipu-dmfc.o ipu-ic.o ipu-image-convert.o \
|
||||
ipu-pre.o ipu-prg.o ipu-smfc.o ipu-vdi.o
|
||||
ipu-smfc.o ipu-vdi.o
|
||||
|
||||
ifdef CONFIG_DRM
|
||||
imx-ipu-v3-objs += ipu-pre.o ipu-prg.o
|
||||
endif
|
||||
|
@ -1401,7 +1401,8 @@ static int ipu_probe(struct platform_device *pdev)
|
||||
|
||||
ipu->id = of_alias_get_id(np, "ipu");
|
||||
|
||||
if (of_device_is_compatible(np, "fsl,imx6qp-ipu")) {
|
||||
if (of_device_is_compatible(np, "fsl,imx6qp-ipu") &&
|
||||
IS_ENABLED(CONFIG_DRM)) {
|
||||
ipu->prg_priv = ipu_prg_lookup_by_phandle(&pdev->dev,
|
||||
"fsl,prg", ipu->id);
|
||||
if (!ipu->prg_priv)
|
||||
@ -1538,8 +1539,10 @@ static struct platform_driver imx_ipu_driver = {
|
||||
};
|
||||
|
||||
static struct platform_driver * const drivers[] = {
|
||||
#if IS_ENABLED(CONFIG_DRM)
|
||||
&ipu_pre_drv,
|
||||
&ipu_prg_drv,
|
||||
#endif
|
||||
&imx_ipu_driver,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user