From c30bd638561da1962d3b07710666b840cd65d30e Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Mon, 21 Jan 2013 09:04:21 +0000
Subject: [PATCH] Add patch to fix versatile build failure

---
 arm-vexpress-exports.patch | 55 ++++++++++++++++++++++++++++++++++++++
 kernel.spec                |  6 +++++
 2 files changed, 61 insertions(+)
 create mode 100644 arm-vexpress-exports.patch

diff --git a/arm-vexpress-exports.patch b/arm-vexpress-exports.patch
new file mode 100644
index 000000000..8f76352b0
--- /dev/null
+++ b/arm-vexpress-exports.patch
@@ -0,0 +1,55 @@
+diff --git a/drivers/mfd/vexpress-config.c b/drivers/mfd/vexpress-config.c
+index fae15d8..82fed98 100644
+--- a/drivers/mfd/vexpress-config.c
++++ b/drivers/mfd/vexpress-config.c
+@@ -67,6 +67,7 @@  struct vexpress_config_bridge *vexpress_config_bridge_register(
+ 
+ 	return bridge;
+ }
++EXPORT_SYMBOL(vexpress_config_bridge_register);
+ 
+ void vexpress_config_bridge_unregister(struct vexpress_config_bridge *bridge)
+ {
+@@ -83,6 +84,7 @@  void vexpress_config_bridge_unregister(struct vexpress_config_bridge *bridge)
+ 	while (!list_empty(&__bridge.transactions))
+ 		cpu_relax();
+ }
++EXPOPORT_SYMBOL(vexpress_config_bridge_unregister);
+ 
+ 
+ struct vexpress_config_func {
+@@ -142,6 +144,7 @@  struct vexpress_config_func *__vexpress_config_func_get(struct device *dev,
+ 
+ 	return func;
+ }
++EXPORT_SYMBOL(__vexpress_config_func_get);
+ 
+ void vexpress_config_func_put(struct vexpress_config_func *func)
+ {
+@@ -149,7 +152,7 @@  void vexpress_config_func_put(struct vexpress_config_func *func)
+ 	of_node_put(func->bridge->node);
+ 	kfree(func);
+ }
+-
++EXPORT_SYMBOL(vexpress_config_func_put);
+ 
+ struct vexpress_config_trans {
+ 	struct vexpress_config_func *func;
+@@ -229,6 +232,7 @@  void vexpress_config_complete(struct vexpress_config_bridge *bridge,
+ 
+ 	complete(&trans->completion);
+ }
++EXPORT_SYMBOL(vexpress_config_complete);
+ 
+ int vexpress_config_wait(struct vexpress_config_trans *trans)
+ {
+@@ -236,7 +240,7 @@  int vexpress_config_wait(struct vexpress_config_trans *trans)
+ 
+ 	return trans->status;
+ }
+-
++EXPORT_SYMBOL(vexpress_config_wait);
+ 
+ int vexpress_config_read(struct vexpress_config_func *func, int offset,
+ 		u32 *data)
+
diff --git a/kernel.spec b/kernel.spec
index e5ab06438..e2e7be95c 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -728,6 +728,10 @@ Patch21003: arm-imx-fixdrm.patch
 Patch21004: arm-tegra-nvec-kconfig.patch
 Patch21005: arm-tegra-usb-no-reset-linux33.patch
 
+# versatile
+# https://patchwork-mail.kernel.org/patch/1937321/
+Patch21006: arm-vexpress-exports.patch
+
 #rhbz 754518
 Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
 
@@ -1309,6 +1313,7 @@ ApplyPatch arm-allnoconfig-error-__LINUX_ARM_ARCH__-undeclared.patch
 ApplyPatch arm-tegra-usb-no-reset-linux33.patch
 ApplyPatch arm-omap-fixdrm.patch
 ApplyPatch arm-imx-fixdrm.patch
+ApplyPatch arm-vexpress-exports.patch
 
 #
 # bugfixes to drivers and filesystems
@@ -2306,6 +2311,7 @@ fi
 * Sun Jan 20 2013 Peter Robinson <pbrobinson@fedoraproject.org>
 - Remove obsolete ARM configs
 - Update OMAP config for TI AM35XX SoCs
+- Add patch to fix versatile build failure
 
 * Sat Jan 19 2013 Justin M. Forbes <jforbes@redhat.com> - 3.8.0-0.rc4.git1.1
 - Linux v3.8-rc4-42-g5da1f88