[kernel] Add patch to fix imx-drm build issues

Josh Boyer jwboyer at fedoraproject.org
Wed Nov 13 15:31:44 UTC 2013


commit 43260145fe3473020291436ef472240abc6e9bd0
Author: Josh Boyer <jwboyer at fedoraproject.org>
Date:   Wed Nov 13 08:27:14 2013 -0500

    Add patch to fix imx-drm build issues

 ...mx-drm-Fix-modular-build-of-DRM_IMX_IPUV3.patch |   54 ++++++++++++++++++++
 config-armv7                                       |   14 +++---
 kernel.spec                                        |    7 +++
 3 files changed, 68 insertions(+), 7 deletions(-)
---
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 0000000..a2ab25b
--- /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 <jwboyer at fedoraproject.org>
+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 <jwboyer at fedoraproject.org>
+---
+ 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 ec02336..f5482c5 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 01947e4..42e99d2 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 <jwboyer at fedoraproject.org>
+- Add patch to fix imx-drm build issues
+
 * Wed Nov 13 2013 Adam Jackson <ajax at redhat.com>
 - Hush i915's check_crtc_state()
 


More information about the scm-commits mailing list