--- /dev/null
+From foo@baz Mon Nov 5 08:54:04 CET 2012
+Date: Mon, 05 Nov 2012 08:54:04 +0100
+To: Greg KH <gregkh@linuxfoundation.org>
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Wed, 17 Oct 2012 16:47:11 +0900
+Subject: Revert: ARM: SAMSUNG: Add naming of s3c64xx-spi devices
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit baa526f45d3f096a1cd9f14b668203a03bbab6f9, which is
+commit 308b3afb97dc342e9c4f958d8b4c459ae0e22bd7 upstream.
+
+To quote Colin Cross:
+ This patch breaks Exynos5 spi on 3.4.17. The patch with the bug
+ that this patch was supposed to address went in to 3.6 and not
+ 3.4, so this patch causes a driver name mismatch when applied to
+ 3.4.
+
+
+Cc: Colin Cross <ccross@google.com>
+Cc: Heiko Stuebner <heiko@sntech.de>
+Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
+Cc: Kukjin Kim <kgene.kim@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-exynos/common.c | 5 ----
+ arch/arm/mach-s3c24xx/s3c2416.c | 2 -
+ arch/arm/mach-s3c24xx/s3c2443.c | 4 ---
+ arch/arm/mach-s5p64x0/common.c | 3 --
+ arch/arm/mach-s5pc100/common.c | 3 --
+ arch/arm/mach-s5pv210/common.c | 3 --
+ arch/arm/plat-samsung/include/plat/spi-core.h | 30 --------------------------
+ 7 files changed, 50 deletions(-)
+
+--- a/arch/arm/mach-exynos/common.c
++++ b/arch/arm/mach-exynos/common.c
+@@ -44,7 +44,6 @@
+ #include <plat/fimc-core.h>
+ #include <plat/iic-core.h>
+ #include <plat/tv-core.h>
+-#include <plat/spi-core.h>
+ #include <plat/regs-serial.h>
+
+ #include "common.h"
+@@ -339,8 +338,6 @@ static void __init exynos4_map_io(void)
+
+ s5p_fb_setname(0, "exynos4-fb");
+ s5p_hdmi_setname("exynos4-hdmi");
+-
+- s3c64xx_spi_setname("exynos4210-spi");
+ }
+
+ static void __init exynos5_map_io(void)
+@@ -361,8 +358,6 @@ static void __init exynos5_map_io(void)
+ s3c_i2c0_setname("s3c2440-i2c");
+ s3c_i2c1_setname("s3c2440-i2c");
+ s3c_i2c2_setname("s3c2440-i2c");
+-
+- s3c64xx_spi_setname("exynos4210-spi");
+ }
+
+ static void __init exynos4_init_clocks(int xtal)
+--- a/arch/arm/mach-s3c24xx/s3c2416.c
++++ b/arch/arm/mach-s3c24xx/s3c2416.c
+@@ -61,7 +61,6 @@
+ #include <plat/nand-core.h>
+ #include <plat/adc-core.h>
+ #include <plat/rtc-core.h>
+-#include <plat/spi-core.h>
+
+ static struct map_desc s3c2416_iodesc[] __initdata = {
+ IODESC_ENT(WATCHDOG),
+@@ -132,7 +131,6 @@ void __init s3c2416_map_io(void)
+ /* initialize device information early */
+ s3c2416_default_sdhci0();
+ s3c2416_default_sdhci1();
+- s3c64xx_spi_setname("s3c2443-spi");
+
+ iotable_init(s3c2416_iodesc, ARRAY_SIZE(s3c2416_iodesc));
+ }
+--- a/arch/arm/mach-s3c24xx/s3c2443.c
++++ b/arch/arm/mach-s3c24xx/s3c2443.c
+@@ -43,7 +43,6 @@
+ #include <plat/nand-core.h>
+ #include <plat/adc-core.h>
+ #include <plat/rtc-core.h>
+-#include <plat/spi-core.h>
+
+ static struct map_desc s3c2443_iodesc[] __initdata = {
+ IODESC_ENT(WATCHDOG),
+@@ -101,9 +100,6 @@ void __init s3c2443_map_io(void)
+ s3c24xx_gpiocfg_default.set_pull = s3c2443_gpio_setpull;
+ s3c24xx_gpiocfg_default.get_pull = s3c2443_gpio_getpull;
+
+- /* initialize device information early */
+- s3c64xx_spi_setname("s3c2443-spi");
+-
+ iotable_init(s3c2443_iodesc, ARRAY_SIZE(s3c2443_iodesc));
+ }
+
+--- a/arch/arm/mach-s5p64x0/common.c
++++ b/arch/arm/mach-s5p64x0/common.c
+@@ -44,7 +44,6 @@
+ #include <plat/sdhci.h>
+ #include <plat/adc-core.h>
+ #include <plat/fb-core.h>
+-#include <plat/spi-core.h>
+ #include <plat/gpio-cfg.h>
+ #include <plat/regs-irqtype.h>
+ #include <plat/regs-serial.h>
+@@ -180,7 +179,6 @@ void __init s5p6440_map_io(void)
+ /* initialize any device information early */
+ s3c_adc_setname("s3c64xx-adc");
+ s3c_fb_setname("s5p64x0-fb");
+- s3c64xx_spi_setname("s5p64x0-spi");
+
+ s5p64x0_default_sdhci0();
+ s5p64x0_default_sdhci1();
+@@ -195,7 +193,6 @@ void __init s5p6450_map_io(void)
+ /* initialize any device information early */
+ s3c_adc_setname("s3c64xx-adc");
+ s3c_fb_setname("s5p64x0-fb");
+- s3c64xx_spi_setname("s5p64x0-spi");
+
+ s5p64x0_default_sdhci0();
+ s5p64x0_default_sdhci1();
+--- a/arch/arm/mach-s5pc100/common.c
++++ b/arch/arm/mach-s5pc100/common.c
+@@ -45,7 +45,6 @@
+ #include <plat/fb-core.h>
+ #include <plat/iic-core.h>
+ #include <plat/onenand-core.h>
+-#include <plat/spi-core.h>
+ #include <plat/regs-serial.h>
+ #include <plat/watchdog-reset.h>
+
+@@ -166,8 +165,6 @@ void __init s5pc100_map_io(void)
+ s3c_onenand_setname("s5pc100-onenand");
+ s3c_fb_setname("s5pc100-fb");
+ s3c_cfcon_setname("s5pc100-pata");
+-
+- s3c64xx_spi_setname("s5pc100-spi");
+ }
+
+ void __init s5pc100_init_clocks(int xtal)
+--- a/arch/arm/mach-s5pv210/common.c
++++ b/arch/arm/mach-s5pv210/common.c
+@@ -43,7 +43,6 @@
+ #include <plat/iic-core.h>
+ #include <plat/keypad-core.h>
+ #include <plat/tv-core.h>
+-#include <plat/spi-core.h>
+ #include <plat/regs-serial.h>
+
+ #include "common.h"
+@@ -197,8 +196,6 @@ void __init s5pv210_map_io(void)
+
+ /* setup TV devices */
+ s5p_hdmi_setname("s5pv210-hdmi");
+-
+- s3c64xx_spi_setname("s5pv210-spi");
+ }
+
+ void __init s5pv210_init_clocks(int xtal)
+--- a/arch/arm/plat-samsung/include/plat/spi-core.h
++++ /dev/null
+@@ -1,30 +0,0 @@
+-/*
+- * Copyright (C) 2012 Heiko Stuebner <heiko@sntech.de>
+- *
+- * This program is free software; you can redistribute it and/or modify
+- * it under the terms of the GNU General Public License version 2 as
+- * published by the Free Software Foundation.
+- */
+-
+-#ifndef __PLAT_S3C_SPI_CORE_H
+-#define __PLAT_S3C_SPI_CORE_H
+-
+-/* These functions are only for use with the core support code, such as
+- * the cpu specific initialisation code
+- */
+-
+-/* re-define device name depending on support. */
+-static inline void s3c64xx_spi_setname(char *name)
+-{
+-#ifdef CONFIG_S3C64XX_DEV_SPI0
+- s3c64xx_device_spi0.name = name;
+-#endif
+-#ifdef CONFIG_S3C64XX_DEV_SPI1
+- s3c64xx_device_spi1.name = name;
+-#endif
+-#ifdef CONFIG_S3C64XX_DEV_SPI2
+- s3c64xx_device_spi2.name = name;
+-#endif
+-}
+-
+-#endif /* __PLAT_S3C_SPI_CORE_H */