kernel: refresh patches
[openwrt.git] / target / linux / brcm2708 / patches-3.14 / 0001-Main-bcm2708-linux-port.patch
index 5086f21..90cf0ce 100644 (file)
@@ -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
-