diff --git a/0001-staging-imx-drm-Fix-modular-build-of-DRM_IMX_IPUV3.patch b/0001-staging-imx-drm-Fix-modular-build-of-DRM_IMX_IPUV3.patch new file mode 100644 index 000000000..a2ab25b72 --- /dev/null +++ b/0001-staging-imx-drm-Fix-modular-build-of-DRM_IMX_IPUV3.patch @@ -0,0 +1,54 @@ +Bugzilla: N/A +Upstream-status: https://lkml.org/lkml/2013/11/12/413 (hopefully 3.13) + +From ce4a59012b5f2a9b521cad4610f055a792841951 Mon Sep 17 00:00:00 2001 +From: Josh Boyer +Date: Tue, 12 Nov 2013 11:03:57 -0500 +Subject: [PATCH] staging: imx-drm: Fix modular build of DRM_IMX_IPUV3 + +commit b8d181e408af (staging: drm/imx: add drm plane support) added a file +to the make target for DRM_IMX_IPUV3 but didn't adjust the objs required +to actually build that as a module. Kbuild got confused and this lead to +link errors like: + +ERROR: "ipu_plane_disable" [drivers/staging/imx-drm/ipuv3-crtc.ko] undefined! +ERROR: "ipu_plane_enable" [drivers/staging/imx-drm/ipuv3-crtc.ko] undefined! + +Additionally, it added a call to imx_drm_crtc_id which also fails with a +link error as above. To fix this, we adjust the make target with the proper +objs, which will change the name of the resulting .ko. We also add an +EXPORT_SYMBOL_GPL for imx_drm_crtc_id. + +Signed-off-by: Josh Boyer +--- + drivers/staging/imx-drm/Makefile | 4 +++- + drivers/staging/imx-drm/imx-drm-core.c | 1 + + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/staging/imx-drm/Makefile b/drivers/staging/imx-drm/Makefile +index 2c3a9e1..8742432 100644 +--- a/drivers/staging/imx-drm/Makefile ++++ b/drivers/staging/imx-drm/Makefile +@@ -8,4 +8,6 @@ obj-$(CONFIG_DRM_IMX_TVE) += imx-tve.o + obj-$(CONFIG_DRM_IMX_LDB) += imx-ldb.o + obj-$(CONFIG_DRM_IMX_FB_HELPER) += imx-fbdev.o + obj-$(CONFIG_DRM_IMX_IPUV3_CORE) += ipu-v3/ +-obj-$(CONFIG_DRM_IMX_IPUV3) += ipuv3-crtc.o ipuv3-plane.o ++ ++imx-ipuv3-crtc-objs := ipuv3-crtc.o ipuv3-plane.o ++obj-$(CONFIG_DRM_IMX_IPUV3) += imx-ipuv3-crtc.o +diff --git a/drivers/staging/imx-drm/imx-drm-core.c b/drivers/staging/imx-drm/imx-drm-core.c +index 4483d47..2b366d8 100644 +--- a/drivers/staging/imx-drm/imx-drm-core.c ++++ b/drivers/staging/imx-drm/imx-drm-core.c +@@ -72,6 +72,7 @@ int imx_drm_crtc_id(struct imx_drm_crtc *crtc) + { + return crtc->pipe; + } ++EXPORT_SYMBOL_GPL(imx_drm_crtc_id); + + static void imx_drm_driver_lastclose(struct drm_device *drm) + { +-- +1.8.3.1 + diff --git a/config-armv7 b/config-armv7 index ec0233678..f5482c534 100644 --- a/config-armv7 +++ b/config-armv7 @@ -398,14 +398,14 @@ CONFIG_AHCI_IMX=m CONFIG_PWM_IMX=m CONFIG_BACKLIGHT_PWM=m -# CONFIG_DRM_IMX is not set -# CONFIG_DRM_IMX_FB_HELPER is not set -# CONFIG_DRM_IMX_HDMI is not set -# CONFIG_DRM_IMX_IPUV3_CORE is not set -# CONFIG_DRM_IMX_IPUV3 is not set +CONFIG_DRM_IMX=m +CONFIG_DRM_IMX_FB_HELPER=m +CONFIG_DRM_IMX_HDMI=m +CONFIG_DRM_IMX_IPUV3_CORE=m +CONFIG_DRM_IMX_IPUV3=m # CONFIG_DRM_IMX_LDB is not set -# CONFIG_DRM_IMX_PARALLEL_DISPLAY is not set -# CONFIG_DRM_IMX_TVE is not set +CONFIG_DRM_IMX_PARALLEL_DISPLAY=m +CONFIG_DRM_IMX_TVE=m CONFIG_VIDEO_CODA=m CONFIG_MFD_SYSCON=y diff --git a/kernel.spec b/kernel.spec index 01947e4f9..42e99d232 100644 --- a/kernel.spec +++ b/kernel.spec @@ -737,6 +737,8 @@ Patch25140: drm-qxl-backport-fixes-for-Fedora.patch Patch25141: Input-evdev-fall-back-to-vmalloc-for-client-event-buffer.patch +Patch25142: 0001-staging-imx-drm-Fix-modular-build-of-DRM_IMX_IPUV3.patch + # END OF PATCH DEFINITIONS %endif @@ -1442,6 +1444,8 @@ ApplyPatch drm-qxl-backport-fixes-for-Fedora.patch ApplyPatch Input-evdev-fall-back-to-vmalloc-for-client-event-buffer.patch +ApplyPatch 0001-staging-imx-drm-Fix-modular-build-of-DRM_IMX_IPUV3.patch + # END OF PATCH APPLICATIONS %endif @@ -2247,6 +2251,9 @@ fi # ||----w | # || || %changelog +* Wed Nov 13 2013 Josh Boyer +- Add patch to fix imx-drm build issues + * Wed Nov 13 2013 Adam Jackson - Hush i915's check_crtc_state()