aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch')
-rw-r--r--target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch197
1 files changed, 27 insertions, 170 deletions
diff --git a/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch b/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch
index 5086f218a7..90cf0ce6b0 100644
--- a/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch
+++ b/target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch
@@ -96,8 +96,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
create mode 100644 arch/arm/mach-bcm2708/vcio.c
create mode 100644 drivers/mmc/host/sdhci-bcm2708.c
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 4733d32..9e23417 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -380,6 +380,22 @@ config ARCH_AT91
@@ -131,8 +129,6 @@ index 4733d32..9e23417 100644
source "arch/arm/mach-zynq/Kconfig"
-diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
-index 0531da8..117fb79 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -920,6 +920,14 @@ choice
@@ -150,11 +146,9 @@ index 0531da8..117fb79 100644
endchoice
config DEBUG_EXYNOS_UART
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index 08a9ef5..755e9c2 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
-@@ -143,6 +143,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000
+@@ -148,6 +148,7 @@ textofs-$(CONFIG_ARCH_MSM8960) := 0x0020
# by CONFIG_* macro name.
machine-$(CONFIG_ARCH_AT91) += at91
machine-$(CONFIG_ARCH_BCM) += bcm
@@ -162,9 +156,6 @@ index 08a9ef5..755e9c2 100644
machine-$(CONFIG_ARCH_BCM2835) += bcm2835
machine-$(CONFIG_ARCH_BERLIN) += berlin
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
-diff --git a/arch/arm/configs/bcmrpi_cutdown_defconfig b/arch/arm/configs/bcmrpi_cutdown_defconfig
-new file mode 100644
-index 0000000..74f2dc9
--- /dev/null
+++ b/arch/arm/configs/bcmrpi_cutdown_defconfig
@@ -0,0 +1,474 @@
@@ -642,9 +633,6 @@ index 0000000..74f2dc9
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-new file mode 100644
-index 0000000..339aabf
--- /dev/null
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -0,0 +1,510 @@
@@ -1158,9 +1146,6 @@ index 0000000..339aabf
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/configs/bcmrpi_emergency_defconfig b/arch/arm/configs/bcmrpi_emergency_defconfig
-new file mode 100644
-index 0000000..3b40c49
--- /dev/null
+++ b/arch/arm/configs/bcmrpi_emergency_defconfig
@@ -0,0 +1,532 @@
@@ -1696,8 +1681,6 @@ index 0000000..3b40c49
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
-index 92f7b15..7b5ed03 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -176,6 +176,16 @@ void arch_cpu_idle(void)
@@ -1717,9 +1700,6 @@ index 92f7b15..7b5ed03 100644
/*
* Called by kexec, immediately prior to machine_kexec().
*
-diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
-new file mode 100644
-index 0000000..9355841
--- /dev/null
+++ b/arch/arm/mach-bcm2708/Kconfig
@@ -0,0 +1,34 @@
@@ -1757,9 +1737,6 @@ index 0000000..9355841
+ Do not allow ARM to use GPU's L2 cache. Requires disable_l2cache in config.txt.
+
+endmenu
-diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile
-new file mode 100644
-index 0000000..a722f3f
--- /dev/null
+++ b/arch/arm/mach-bcm2708/Makefile
@@ -0,0 +1,7 @@
@@ -1770,18 +1747,12 @@ index 0000000..a722f3f
+obj-$(CONFIG_MACH_BCM2708) += clock.o bcm2708.o armctrl.o vcio.o power.o dma.o
+obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o
+obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
-diff --git a/arch/arm/mach-bcm2708/Makefile.boot b/arch/arm/mach-bcm2708/Makefile.boot
-new file mode 100644
-index 0000000..67039c3
--- /dev/null
+++ b/arch/arm/mach-bcm2708/Makefile.boot
@@ -0,0 +1,3 @@
+ zreladdr-y := 0x00008000
+params_phys-y := 0x00000100
+initrd_phys-y := 0x00800000
-diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c
-new file mode 100644
-index 0000000..da18725
--- /dev/null
+++ b/arch/arm/mach-bcm2708/armctrl.c
@@ -0,0 +1,208 @@
@@ -1993,9 +1964,6 @@ index 0000000..da18725
+ armctrl_pm_register(base, irq_start, resume_sources);
+ return 0;
+}
-diff --git a/arch/arm/mach-bcm2708/armctrl.h b/arch/arm/mach-bcm2708/armctrl.h
-new file mode 100644
-index 0000000..0aa916e
--- /dev/null
+++ b/arch/arm/mach-bcm2708/armctrl.h
@@ -0,0 +1,27 @@
@@ -2026,9 +1994,6 @@ index 0000000..0aa916e
+ u32 armctrl_sources, u32 resume_sources);
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-new file mode 100644
-index 0000000..a5af6ec
--- /dev/null
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -0,0 +1,720 @@
@@ -2752,9 +2717,6 @@ index 0000000..a5af6ec
+module_param(disk_led_gpio, uint, 0644);
+module_param(disk_led_active_low, uint, 0644);
+module_param(reboot_part, uint, 0644);
-diff --git a/arch/arm/mach-bcm2708/bcm2708.h b/arch/arm/mach-bcm2708/bcm2708.h
-new file mode 100644
-index 0000000..e339a93
--- /dev/null
+++ b/arch/arm/mach-bcm2708/bcm2708.h
@@ -0,0 +1,49 @@
@@ -2807,9 +2769,6 @@ index 0000000..e339a93
+}
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/bcm2708_gpio.c b/arch/arm/mach-bcm2708/bcm2708_gpio.c
-new file mode 100644
-index 0000000..120929ff
--- /dev/null
+++ b/arch/arm/mach-bcm2708/bcm2708_gpio.c
@@ -0,0 +1,361 @@
@@ -3174,9 +3133,6 @@ index 0000000..120929ff
+
+MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver");
+MODULE_LICENSE("GPL");
-diff --git a/arch/arm/mach-bcm2708/clock.c b/arch/arm/mach-bcm2708/clock.c
-new file mode 100644
-index 0000000..4fc556e
--- /dev/null
+++ b/arch/arm/mach-bcm2708/clock.c
@@ -0,0 +1,61 @@
@@ -3241,9 +3197,6 @@ index 0000000..4fc556e
+ return -EIO;
+}
+EXPORT_SYMBOL(clk_set_rate);
-diff --git a/arch/arm/mach-bcm2708/clock.h b/arch/arm/mach-bcm2708/clock.h
-new file mode 100644
-index 0000000..5f9d725
--- /dev/null
+++ b/arch/arm/mach-bcm2708/clock.h
@@ -0,0 +1,24 @@
@@ -3271,9 +3224,6 @@ index 0000000..5f9d725
+struct clk {
+ unsigned long rate;
+};
-diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c
-new file mode 100644
-index 0000000..51d147a
--- /dev/null
+++ b/arch/arm/mach-bcm2708/dma.c
@@ -0,0 +1,399 @@
@@ -3676,9 +3626,6 @@ index 0000000..51d147a
+MODULE_LICENSE("GPL");
+
+MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM");
-diff --git a/arch/arm/mach-bcm2708/include/mach/arm_control.h b/arch/arm/mach-bcm2708/include/mach/arm_control.h
-new file mode 100644
-index 0000000..a82bb92
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/arm_control.h
@@ -0,0 +1,419 @@
@@ -4101,9 +4048,6 @@ index 0000000..a82bb92
+#define AJBTDO HW_REGISTER_RW(AJB_BASE+0x0c)
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/arm_power.h b/arch/arm/mach-bcm2708/include/mach/arm_power.h
-new file mode 100644
-index 0000000..aae9136
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/arm_power.h
@@ -0,0 +1,60 @@
@@ -4167,9 +4111,6 @@ index 0000000..aae9136
+};
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/clkdev.h b/arch/arm/mach-bcm2708/include/mach/clkdev.h
-new file mode 100644
-index 0000000..04b37a8
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/clkdev.h
@@ -0,0 +1,7 @@
@@ -4180,9 +4121,6 @@ index 0000000..04b37a8
+#define __clk_put(clk) do { } while (0)
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/debug-macro.S b/arch/arm/mach-bcm2708/include/mach/debug-macro.S
-new file mode 100644
-index 0000000..b24304a
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/debug-macro.S
@@ -0,0 +1,22 @@
@@ -4208,9 +4146,6 @@ index 0000000..b24304a
+ .endm
+
+#include <debug/pl01x.S>
-diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
-new file mode 100644
-index 0000000..ac7a4a0
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/dma.h
@@ -0,0 +1,86 @@
@@ -4300,9 +4235,6 @@ index 0000000..ac7a4a0
+
+
+#endif /* _MACH_BCM2708_DMA_H */
-diff --git a/arch/arm/mach-bcm2708/include/mach/entry-macro.S b/arch/arm/mach-bcm2708/include/mach/entry-macro.S
-new file mode 100644
-index 0000000..79b62d9
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/entry-macro.S
@@ -0,0 +1,69 @@
@@ -4375,9 +4307,6 @@ index 0000000..79b62d9
+1020: @ EQ will be set if no irqs pending
+
+ .endm
-diff --git a/arch/arm/mach-bcm2708/include/mach/frc.h b/arch/arm/mach-bcm2708/include/mach/frc.h
-new file mode 100644
-index 0000000..dd51e07
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/frc.h
@@ -0,0 +1,38 @@
@@ -4419,9 +4348,6 @@ index 0000000..dd51e07
+extern unsigned long long frc_clock_ticks63(void);
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/gpio.h b/arch/arm/mach-bcm2708/include/mach/gpio.h
-new file mode 100644
-index 0000000..7965a97
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/gpio.h
@@ -0,0 +1,17 @@
@@ -4442,9 +4368,6 @@ index 0000000..7965a97
+#define irq_to_gpio(x) ((x) - GPIO_IRQ_START)
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/hardware.h b/arch/arm/mach-bcm2708/include/mach/hardware.h
-new file mode 100644
-index 0000000..c2954e8
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/hardware.h
@@ -0,0 +1,28 @@
@@ -4476,9 +4399,6 @@ index 0000000..c2954e8
+#include <mach/platform.h>
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/io.h b/arch/arm/mach-bcm2708/include/mach/io.h
-new file mode 100644
-index 0000000..e6eb84d
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/io.h
@@ -0,0 +1,27 @@
@@ -4509,9 +4429,6 @@ index 0000000..e6eb84d
+#define __io(a) __typesafe_io(a)
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h
-new file mode 100644
-index 0000000..faf5d1a
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/irqs.h
@@ -0,0 +1,194 @@
@@ -4709,9 +4626,6 @@ index 0000000..faf5d1a
+#define NR_IRQS (HARD_IRQS+GPIO_IRQS+SPARE_IRQS)
+
+#endif /* _BCM2708_IRQS_H_ */
-diff --git a/arch/arm/mach-bcm2708/include/mach/memory.h b/arch/arm/mach-bcm2708/include/mach/memory.h
-new file mode 100644
-index 0000000..521540d
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/memory.h
@@ -0,0 +1,57 @@
@@ -4772,9 +4686,6 @@ index 0000000..521540d
+#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PLAT_PHYS_OFFSET))
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h
-new file mode 100644
-index 0000000..110ce07
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/platform.h
@@ -0,0 +1,220 @@
@@ -4998,9 +4909,6 @@ index 0000000..110ce07
+#endif
+
+/* END */
-diff --git a/arch/arm/mach-bcm2708/include/mach/power.h b/arch/arm/mach-bcm2708/include/mach/power.h
-new file mode 100644
-index 0000000..52b3b02
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/power.h
@@ -0,0 +1,26 @@
@@ -5030,9 +4938,6 @@ index 0000000..52b3b02
+extern int bcm_power_close(BCM_POWER_HANDLE_T handle);
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/system.h b/arch/arm/mach-bcm2708/include/mach/system.h
-new file mode 100644
-index 0000000..2d0b821
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/system.h
@@ -0,0 +1,38 @@
@@ -5074,9 +4979,6 @@ index 0000000..2d0b821
+}
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/timex.h b/arch/arm/mach-bcm2708/include/mach/timex.h
-new file mode 100644
-index 0000000..64a660c
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/timex.h
@@ -0,0 +1,23 @@
@@ -5103,9 +5005,6 @@ index 0000000..64a660c
+ */
+
+#define CLOCK_TICK_RATE (1000000)
-diff --git a/arch/arm/mach-bcm2708/include/mach/uncompress.h b/arch/arm/mach-bcm2708/include/mach/uncompress.h
-new file mode 100644
-index 0000000..d634813
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/uncompress.h
@@ -0,0 +1,84 @@
@@ -5193,9 +5092,6 @@ index 0000000..d634813
+ * nothing to do
+ */
+#define arch_decomp_wdog()
-diff --git a/arch/arm/mach-bcm2708/include/mach/vc_mem.h b/arch/arm/mach-bcm2708/include/mach/vc_mem.h
-new file mode 100644
-index 0000000..4a4a338
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vc_mem.h
@@ -0,0 +1,35 @@
@@ -5234,9 +5130,6 @@ index 0000000..4a4a338
+#endif
+
+#endif /* VC_MEM_H */
-diff --git a/arch/arm/mach-bcm2708/include/mach/vcio.h b/arch/arm/mach-bcm2708/include/mach/vcio.h
-new file mode 100644
-index 0000000..9935e02
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vcio.h
@@ -0,0 +1,141 @@
@@ -5381,9 +5274,6 @@ index 0000000..9935e02
+#define DEVICE_FILE_NAME "char_dev"
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/vmalloc.h b/arch/arm/mach-bcm2708/include/mach/vmalloc.h
-new file mode 100644
-index 0000000..502c617
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vmalloc.h
@@ -0,0 +1,20 @@
@@ -5407,9 +5297,6 @@ index 0000000..502c617
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#define VMALLOC_END (0xe8000000)
-diff --git a/arch/arm/mach-bcm2708/power.c b/arch/arm/mach-bcm2708/power.c
-new file mode 100644
-index 0000000..256bf1a
--- /dev/null
+++ b/arch/arm/mach-bcm2708/power.c
@@ -0,0 +1,194 @@
@@ -5607,9 +5494,6 @@ index 0000000..256bf1a
+MODULE_AUTHOR("Phil Elwell");
+MODULE_DESCRIPTION("Interface to BCM2708 power management");
+MODULE_LICENSE("GPL");
-diff --git a/arch/arm/mach-bcm2708/vc_mem.c b/arch/arm/mach-bcm2708/vc_mem.c
-new file mode 100644
-index 0000000..2adac12
--- /dev/null
+++ b/arch/arm/mach-bcm2708/vc_mem.c
@@ -0,0 +1,432 @@
@@ -6045,9 +5929,6 @@ index 0000000..2adac12
+module_param(mem_size, uint, 0644);
+module_param(mem_base, uint, 0644);
+
-diff --git a/arch/arm/mach-bcm2708/vcio.c b/arch/arm/mach-bcm2708/vcio.c
-new file mode 100644
-index 0000000..5e43e85
--- /dev/null
+++ b/arch/arm/mach-bcm2708/vcio.c
@@ -0,0 +1,474 @@
@@ -6525,8 +6406,6 @@ index 0000000..5e43e85
+MODULE_DESCRIPTION("ARM I/O to VideoCore processor");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:bcm-mbox");
-diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
-index ca8ecde..4afbeda 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -358,7 +358,7 @@ config CPU_PJ4B
@@ -6538,8 +6417,6 @@ index ca8ecde..4afbeda 100644
select CPU_32v6
select CPU_ABRT_EV6
select CPU_CACHE_V6
-diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S
-index 32b3558..4712ccb 100644
--- a/arch/arm/mm/proc-v6.S
+++ b/arch/arm/mm/proc-v6.S
@@ -73,10 +73,19 @@ ENDPROC(cpu_v6_reset)
@@ -6565,8 +6442,6 @@ index 32b3558..4712ccb 100644
mov pc, lr
ENTRY(cpu_v6_dcache_clean_area)
-diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
-index a10297d..c9ddd87 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -522,6 +522,7 @@ torbreck MACH_TORBRECK TORBRECK 3090
@@ -6577,8 +6452,6 @@ index a10297d..c9ddd87 100644
ag5evm MACH_AG5EVM AG5EVM 3189
ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206
wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 1384f67..bad4c9b 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -272,6 +272,27 @@ config MMC_SDHCI_BCM_KONA
@@ -6609,11 +6482,9 @@ index 1384f67..bad4c9b 100644
config MMC_SDHCI_BCM2835
tristate "SDHCI platform support for the BCM2835 SD/MMC Controller"
depends on ARCH_BCM2835
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index 3483b6b..11460d7 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -16,6 +16,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-pxav2.o
+@@ -16,6 +16,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-p
obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o
obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o
obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o
@@ -6621,9 +6492,6 @@ index 3483b6b..11460d7 100644
obj-$(CONFIG_MMC_WBSD) += wbsd.o
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o
-diff --git a/drivers/mmc/host/sdhci-bcm2708.c b/drivers/mmc/host/sdhci-bcm2708.c
-new file mode 100644
-index 0000000..d8ef77c
--- /dev/null
+++ b/drivers/mmc/host/sdhci-bcm2708.c
@@ -0,0 +1,1424 @@
@@ -8051,8 +7919,6 @@ index 0000000..d8ef77c
+MODULE_AUTHOR("Broadcom <info@broadcom.com>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:"DRIVER_NAME);
-diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
-index 9ddef47..b78afa2 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -28,6 +28,7 @@
@@ -8063,7 +7929,7 @@ index 9ddef47..b78afa2 100644
#include <linux/mmc/slot-gpio.h>
#include "sdhci.h"
-@@ -326,7 +327,7 @@ static void sdhci_read_block_pio(struct sdhci_host *host)
+@@ -326,7 +327,7 @@ static void sdhci_read_block_pio(struct
u32 uninitialized_var(scratch);
u8 *buf;
@@ -8072,7 +7938,7 @@ index 9ddef47..b78afa2 100644
blksize = host->data->blksz;
chunk = 0;
-@@ -371,7 +372,7 @@ static void sdhci_write_block_pio(struct sdhci_host *host)
+@@ -371,7 +372,7 @@ static void sdhci_write_block_pio(struct
u32 scratch;
u8 *buf;
@@ -8081,7 +7947,7 @@ index 9ddef47..b78afa2 100644
blksize = host->data->blksz;
chunk = 0;
-@@ -410,19 +411,28 @@ static void sdhci_write_block_pio(struct sdhci_host *host)
+@@ -410,19 +411,28 @@ static void sdhci_write_block_pio(struct
local_irq_restore(flags);
}
@@ -8113,7 +7979,7 @@ index 9ddef47..b78afa2 100644
/*
* Some controllers (JMicron JMB38x) mess up the buffer bits
-@@ -433,7 +443,7 @@ static void sdhci_transfer_pio(struct sdhci_host *host)
+@@ -433,7 +443,7 @@ static void sdhci_transfer_pio(struct sd
(host->data->blocks == 1))
mask = ~0;
@@ -8122,7 +7988,7 @@ index 9ddef47..b78afa2 100644
if (host->quirks & SDHCI_QUIRK_PIO_NEEDS_DELAY)
udelay(100);
-@@ -445,9 +455,11 @@ static void sdhci_transfer_pio(struct sdhci_host *host)
+@@ -445,9 +455,11 @@ static void sdhci_transfer_pio(struct sd
host->blocks--;
if (host->blocks == 0)
break;
@@ -8135,7 +8001,7 @@ index 9ddef47..b78afa2 100644
}
static char *sdhci_kmap_atomic(struct scatterlist *sg, unsigned long *flags)
-@@ -720,7 +732,9 @@ static void sdhci_set_transfer_irqs(struct sdhci_host *host)
+@@ -720,7 +732,9 @@ static void sdhci_set_transfer_irqs(stru
u32 pio_irqs = SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL;
u32 dma_irqs = SDHCI_INT_DMA_END | SDHCI_INT_ADMA_ERROR;
@@ -8146,7 +8012,7 @@ index 9ddef47..b78afa2 100644
sdhci_clear_set_irqs(host, pio_irqs, dma_irqs);
else
sdhci_clear_set_irqs(host, dma_irqs, pio_irqs);
-@@ -752,44 +766,25 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd)
+@@ -752,44 +766,25 @@ static void sdhci_prepare_data(struct sd
host->data_early = 0;
host->data->bytes_xfered = 0;
@@ -8199,7 +8065,7 @@ index 9ddef47..b78afa2 100644
int broken, i;
struct scatterlist *sg;
-@@ -848,7 +843,8 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd)
+@@ -848,7 +843,8 @@ static void sdhci_prepare_data(struct sd
*/
WARN_ON(1);
host->flags &= ~SDHCI_REQ_USE_DMA;
@@ -8209,7 +8075,7 @@ index 9ddef47..b78afa2 100644
WARN_ON(sg_cnt != 1);
sdhci_writel(host, sg_dma_address(data->sg),
SDHCI_DMA_ADDRESS);
-@@ -864,11 +860,13 @@ static void sdhci_prepare_data(struct sdhci_host *host, struct mmc_command *cmd)
+@@ -864,11 +860,13 @@ static void sdhci_prepare_data(struct sd
if (host->version >= SDHCI_SPEC_200) {
ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
ctrl &= ~SDHCI_CTRL_DMA_MASK;
@@ -8223,7 +8089,7 @@ index 9ddef47..b78afa2 100644
sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
}
-@@ -925,7 +923,8 @@ static void sdhci_set_transfer_mode(struct sdhci_host *host,
+@@ -925,7 +923,8 @@ static void sdhci_set_transfer_mode(stru
if (data->flags & MMC_DATA_READ)
mode |= SDHCI_TRNS_READ;
@@ -8233,7 +8099,7 @@ index 9ddef47..b78afa2 100644
mode |= SDHCI_TRNS_DMA;
sdhci_writew(host, mode, SDHCI_TRANSFER_MODE);
-@@ -941,13 +940,16 @@ static void sdhci_finish_data(struct sdhci_host *host)
+@@ -941,13 +940,16 @@ static void sdhci_finish_data(struct sdh
host->data = NULL;
if (host->flags & SDHCI_REQ_USE_DMA) {
@@ -8254,7 +8120,7 @@ index 9ddef47..b78afa2 100644
}
/*
-@@ -1000,6 +1002,12 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
+@@ -1000,6 +1002,12 @@ void sdhci_send_command(struct sdhci_hos
if ((cmd->data != NULL) || (cmd->flags & MMC_RSP_BUSY))
mask |= SDHCI_DATA_INHIBIT;
@@ -8267,7 +8133,7 @@ index 9ddef47..b78afa2 100644
/* We shouldn't wait for data inihibit for stop commands, even
though they might use busy signaling */
if (host->mrq->data && (cmd == host->mrq->data->stop))
-@@ -1017,6 +1025,8 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
+@@ -1017,6 +1025,8 @@ void sdhci_send_command(struct sdhci_hos
timeout--;
mdelay(1);
}
@@ -8276,7 +8142,7 @@ index 9ddef47..b78afa2 100644
timeout = jiffies;
if (!cmd->data && cmd->cmd_timeout_ms > 9000)
-@@ -1026,6 +1036,10 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
+@@ -1026,6 +1036,10 @@ void sdhci_send_command(struct sdhci_hos
mod_timer(&host->timer, timeout);
host->cmd = cmd;
@@ -8287,7 +8153,7 @@ index 9ddef47..b78afa2 100644
sdhci_prepare_data(host, cmd);
-@@ -1505,7 +1519,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
+@@ -1505,7 +1519,7 @@ static void sdhci_do_set_ios(struct sdhc
else
ctrl &= ~SDHCI_CTRL_HISPD;
@@ -8296,7 +8162,7 @@ index 9ddef47..b78afa2 100644
u16 clk, ctrl_2;
/* In case of UHS-I modes, set High Speed Enable */
-@@ -2204,7 +2218,7 @@ static void sdhci_timeout_timer(unsigned long data)
+@@ -2204,7 +2218,7 @@ static void sdhci_timeout_timer(unsigned
if (host->mrq) {
pr_err("%s: Timeout waiting for hardware "
@@ -8305,7 +8171,7 @@ index 9ddef47..b78afa2 100644
sdhci_dumpregs(host);
if (host->data) {
-@@ -2249,10 +2263,13 @@ static void sdhci_cmd_irq(struct sdhci_host *host, u32 intmask)
+@@ -2249,10 +2263,13 @@ static void sdhci_cmd_irq(struct sdhci_h
BUG_ON(intmask == 0);
if (!host->cmd) {
@@ -8319,7 +8185,7 @@ index 9ddef47..b78afa2 100644
return;
}
-@@ -2322,6 +2339,19 @@ static void sdhci_show_adma_error(struct sdhci_host *host)
+@@ -2322,6 +2339,19 @@ static void sdhci_show_adma_error(struct
static void sdhci_show_adma_error(struct sdhci_host *host) { }
#endif
@@ -8339,7 +8205,7 @@ index 9ddef47..b78afa2 100644
static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
{
u32 command;
-@@ -2351,23 +2381,39 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
+@@ -2351,23 +2381,39 @@ static void sdhci_data_irq(struct sdhci_
}
}
@@ -8383,7 +8249,7 @@ index 9ddef47..b78afa2 100644
pr_err("%s: ADMA error\n", mmc_hostname(host->mmc));
sdhci_show_adma_error(host);
host->data->error = -EIO;
-@@ -2375,11 +2421,18 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
+@@ -2375,11 +2421,18 @@ static void sdhci_data_irq(struct sdhci_
host->ops->adma_workaround(host, intmask);
}
@@ -8406,7 +8272,7 @@ index 9ddef47..b78afa2 100644
/*
* We currently don't do anything fancy with DMA
-@@ -2408,18 +2461,8 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
+@@ -2408,18 +2461,8 @@ static void sdhci_data_irq(struct sdhci_
sdhci_writel(host, dmanow, SDHCI_DMA_ADDRESS);
}
@@ -8465,7 +8331,7 @@ index 9ddef47..b78afa2 100644
if (intmask & SDHCI_INT_BUS_POWER) {
pr_err("%s: Card is consuming too much power!\n",
-@@ -2602,7 +2667,8 @@ int sdhci_resume_host(struct sdhci_host *host)
+@@ -2602,7 +2667,8 @@ int sdhci_resume_host(struct sdhci_host
{
int ret = 0;
@@ -8475,7 +8341,7 @@ index 9ddef47..b78afa2 100644
if (host->ops->enable_dma)
host->ops->enable_dma(host);
}
-@@ -2833,14 +2899,16 @@ int sdhci_add_host(struct sdhci_host *host)
+@@ -2833,14 +2899,16 @@ int sdhci_add_host(struct sdhci_host *ho
host->flags &= ~SDHCI_USE_ADMA;
}
@@ -8494,7 +8360,7 @@ index 9ddef47..b78afa2 100644
}
}
}
-@@ -3266,6 +3334,7 @@ int sdhci_add_host(struct sdhci_host *host)
+@@ -3266,6 +3334,7 @@ int sdhci_add_host(struct sdhci_host *ho
pr_info("%s: SDHCI controller on %s [%s] using %s\n",
mmc_hostname(mmc), host->hw_name, dev_name(mmc_dev(mmc)),
@@ -8502,8 +8368,6 @@ index 9ddef47..b78afa2 100644
(host->flags & SDHCI_USE_ADMA) ? "ADMA" :
(host->flags & SDHCI_USE_SDMA) ? "DMA" : "PIO");
-diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
-index 0a3ed01..6857875 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -290,6 +290,20 @@ struct sdhci_ops {
@@ -8527,7 +8391,7 @@ index 0a3ed01..6857875 100644
void (*hw_reset)(struct sdhci_host *host);
void (*platform_suspend)(struct sdhci_host *host);
void (*platform_resume)(struct sdhci_host *host);
-@@ -403,6 +417,29 @@ extern int sdhci_resume_host(struct sdhci_host *host);
+@@ -403,6 +417,29 @@ extern int sdhci_resume_host(struct sdhc
extern void sdhci_enable_irq_wakeups(struct sdhci_host *host);
#endif
@@ -8557,8 +8421,6 @@ index 0a3ed01..6857875 100644
#ifdef CONFIG_PM_RUNTIME
extern int sdhci_runtime_suspend_host(struct sdhci_host *host);
extern int sdhci_runtime_resume_host(struct sdhci_host *host);
-diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
-index b569011..76fa055 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -84,7 +84,7 @@ struct vendor_data {
@@ -8570,8 +8432,6 @@ index b569011..76fa055 100644
}
static struct vendor_data vendor_arm = {
-diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
-index 362927c4..e23fffb 100644
--- a/include/linux/mmc/sdhci.h
+++ b/include/linux/mmc/sdhci.h
@@ -133,6 +133,7 @@ struct sdhci_host {
@@ -8590,6 +8450,3 @@ index 362927c4..e23fffb 100644
struct mmc_data *data; /* Current data request */
unsigned int data_early:1; /* Data finished before cmd */
---
-1.9.1
-