Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e961332 authored by Dave Airlie's avatar Dave Airlie
Browse files

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 commit eb8c8880 ("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
parents 3eda2f59 3d1df96a
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -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 −2
Original line number Diff line number Diff line

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
+17 −1
Original line number Diff line number Diff line
@@ -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");
+2 −0
Original line number Diff line number Diff line
@@ -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);
+1 −7
Original line number Diff line number Diff line
@@ -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");
Loading