summaryrefslogtreecommitdiff
path: root/target/linux/patches/3.12.13/raspberry.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/patches/3.12.13/raspberry.patch')
-rw-r--r--target/linux/patches/3.12.13/raspberry.patch1974
1 files changed, 1198 insertions, 776 deletions
diff --git a/target/linux/patches/3.12.13/raspberry.patch b/target/linux/patches/3.12.13/raspberry.patch
index 3a0290e84..c306f4faf 100644
--- a/target/linux/patches/3.12.13/raspberry.patch
+++ b/target/linux/patches/3.12.13/raspberry.patch
@@ -1,6 +1,6 @@
-diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_cutdown_defconfig linux-3.12.11/arch/arm/configs/bcmrpi_cutdown_defconfig
---- linux-3.12.11.orig/arch/arm/configs/bcmrpi_cutdown_defconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/configs/bcmrpi_cutdown_defconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/configs/bcmrpi_cutdown_defconfig linux-raspberry-pi/arch/arm/configs/bcmrpi_cutdown_defconfig
+--- linux-3.12.13/arch/arm/configs/bcmrpi_cutdown_defconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/configs/bcmrpi_cutdown_defconfig 2014-03-11 17:51:00.000000000 +0100
@@ -0,0 +1,503 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
@@ -505,10 +505,10 @@ diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_cutdown_defconfig linux-3.1
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_BCM2708=m
-diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_defconfig linux-3.12.11/arch/arm/configs/bcmrpi_defconfig
---- linux-3.12.11.orig/arch/arm/configs/bcmrpi_defconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/configs/bcmrpi_defconfig 2014-02-18 11:52:14.000000000 +0100
-@@ -0,0 +1,1092 @@
+diff -Nur linux-3.12.13/arch/arm/configs/bcmrpi_defconfig linux-raspberry-pi/arch/arm/configs/bcmrpi_defconfig
+--- linux-3.12.13/arch/arm/configs/bcmrpi_defconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/configs/bcmrpi_defconfig 2014-03-11 17:51:00.000000000 +0100
+@@ -0,0 +1,1094 @@
+# CONFIG_ARM_PATCH_PHYS_VIRT is not set
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SYSVIPC=y
@@ -1247,8 +1247,10 @@ diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_defconfig linux-3.12.11/arc
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_DMAENGINE_PCM=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
++CONFIG_SND_SOC_WM8804=m
+CONFIG_SND_BCM2708_SOC_I2S=m
+CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
++CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
+CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+CONFIG_SND_SOC_I2C_AND_SPI=m
+CONFIG_SND_SOC_PCM5102A=m
@@ -1601,9 +1603,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_defconfig linux-3.12.11/arc
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_emergency_defconfig linux-3.12.11/arch/arm/configs/bcmrpi_emergency_defconfig
---- linux-3.12.11.orig/arch/arm/configs/bcmrpi_emergency_defconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/configs/bcmrpi_emergency_defconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/configs/bcmrpi_emergency_defconfig linux-raspberry-pi/arch/arm/configs/bcmrpi_emergency_defconfig
+--- linux-3.12.13/arch/arm/configs/bcmrpi_emergency_defconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/configs/bcmrpi_emergency_defconfig 2014-03-11 17:31:42.000000000 +0100
@@ -0,0 +1,532 @@
+CONFIG_EXPERIMENTAL=y
+# CONFIG_LOCALVERSION_AUTO is not set
@@ -2137,9 +2139,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_emergency_defconfig linux-3
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_quick_defconfig linux-3.12.11/arch/arm/configs/bcmrpi_quick_defconfig
---- linux-3.12.11.orig/arch/arm/configs/bcmrpi_quick_defconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/configs/bcmrpi_quick_defconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/configs/bcmrpi_quick_defconfig linux-raspberry-pi/arch/arm/configs/bcmrpi_quick_defconfig
+--- linux-3.12.13/arch/arm/configs/bcmrpi_quick_defconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/configs/bcmrpi_quick_defconfig 2014-03-11 17:31:42.000000000 +0100
@@ -0,0 +1,197 @@
+# CONFIG_ARM_PATCH_PHYS_VIRT is not set
+CONFIG_LOCALVERSION="-quick"
@@ -2338,9 +2340,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/configs/bcmrpi_quick_defconfig linux-3.12.
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff -Nur linux-3.12.11.orig/arch/arm/include/asm/fiq.h linux-3.12.11/arch/arm/include/asm/fiq.h
---- linux-3.12.11.orig/arch/arm/include/asm/fiq.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/include/asm/fiq.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/include/asm/fiq.h linux-raspberry-pi/arch/arm/include/asm/fiq.h
+--- linux-3.12.13/arch/arm/include/asm/fiq.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/include/asm/fiq.h 2014-03-11 17:31:42.000000000 +0100
@@ -42,6 +42,7 @@
/* helpers defined in fiqasm.S: */
extern void __set_fiq_regs(unsigned long const *regs);
@@ -2349,9 +2351,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/include/asm/fiq.h linux-3.12.11/arch/arm/i
static inline void set_fiq_regs(struct pt_regs const *regs)
{
-diff -Nur linux-3.12.11.orig/arch/arm/Kconfig linux-3.12.11/arch/arm/Kconfig
---- linux-3.12.11.orig/arch/arm/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/Kconfig linux-raspberry-pi/arch/arm/Kconfig
+--- linux-3.12.13/arch/arm/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/Kconfig 2014-03-11 17:51:00.000000000 +0100
@@ -368,6 +368,24 @@
This enables support for systems based on Atmel
AT91RM9200 and AT91SAM9* processors.
@@ -2385,9 +2387,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/Kconfig linux-3.12.11/arch/arm/Kconfig
source "arch/arm/mach-zynq/Kconfig"
-diff -Nur linux-3.12.11.orig/arch/arm/Kconfig.debug linux-3.12.11/arch/arm/Kconfig.debug
---- linux-3.12.11.orig/arch/arm/Kconfig.debug 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/Kconfig.debug 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/Kconfig.debug linux-raspberry-pi/arch/arm/Kconfig.debug
+--- linux-3.12.13/arch/arm/Kconfig.debug 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/Kconfig.debug 2014-03-11 17:51:00.000000000 +0100
@@ -847,6 +847,14 @@
options; the platform specific options are deprecated
and will be soon removed.
@@ -2403,9 +2405,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/Kconfig.debug linux-3.12.11/arch/arm/Kconf
endchoice
config DEBUG_EXYNOS_UART
-diff -Nur linux-3.12.11.orig/arch/arm/kernel/fiqasm.S linux-3.12.11/arch/arm/kernel/fiqasm.S
---- linux-3.12.11.orig/arch/arm/kernel/fiqasm.S 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/kernel/fiqasm.S 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/kernel/fiqasm.S linux-raspberry-pi/arch/arm/kernel/fiqasm.S
+--- linux-3.12.13/arch/arm/kernel/fiqasm.S 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/kernel/fiqasm.S 2014-03-11 17:31:43.000000000 +0100
@@ -25,6 +25,9 @@
ENTRY(__set_fiq_regs)
mov r2, #PSR_I_BIT | PSR_F_BIT | FIQ_MODE
@@ -2424,9 +2426,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/kernel/fiqasm.S linux-3.12.11/arch/arm/ker
+ENTRY(__FIQ_Branch)
+ mov pc, r8
+ENDPROC(__FIQ_Branch)
-diff -Nur linux-3.12.11.orig/arch/arm/kernel/fiq.c linux-3.12.11/arch/arm/kernel/fiq.c
---- linux-3.12.11.orig/arch/arm/kernel/fiq.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/kernel/fiq.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/kernel/fiq.c linux-raspberry-pi/arch/arm/kernel/fiq.c
+--- linux-3.12.13/arch/arm/kernel/fiq.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/kernel/fiq.c 2014-03-11 17:31:43.000000000 +0100
@@ -142,6 +142,7 @@
EXPORT_SYMBOL(set_fiq_handler);
EXPORT_SYMBOL(__set_fiq_regs); /* defined in fiqasm.S */
@@ -2435,9 +2437,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/kernel/fiq.c linux-3.12.11/arch/arm/kernel
EXPORT_SYMBOL(claim_fiq);
EXPORT_SYMBOL(release_fiq);
EXPORT_SYMBOL(enable_fiq);
-diff -Nur linux-3.12.11.orig/arch/arm/kernel/process.c linux-3.12.11/arch/arm/kernel/process.c
---- linux-3.12.11.orig/arch/arm/kernel/process.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/kernel/process.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/kernel/process.c linux-raspberry-pi/arch/arm/kernel/process.c
+--- linux-3.12.13/arch/arm/kernel/process.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/kernel/process.c 2014-03-11 17:51:02.000000000 +0100
@@ -176,6 +176,16 @@
default_idle();
}
@@ -2455,9 +2457,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/kernel/process.c linux-3.12.11/arch/arm/ke
/*
* Called by kexec, immediately prior to machine_kexec().
*
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/armctrl.c linux-3.12.11/arch/arm/mach-bcm2708/armctrl.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/armctrl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/armctrl.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/armctrl.c linux-raspberry-pi/arch/arm/mach-bcm2708/armctrl.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/armctrl.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/armctrl.c 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,219 @@
+/*
+ * linux/arch/arm/mach-bcm2708/armctrl.c
@@ -2678,9 +2680,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/armctrl.c linux-3.12.11/arch/
+ init_FIQ(FIQ_START);
+ return 0;
+}
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/armctrl.h linux-3.12.11/arch/arm/mach-bcm2708/armctrl.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/armctrl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/armctrl.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/armctrl.h linux-raspberry-pi/arch/arm/mach-bcm2708/armctrl.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/armctrl.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/armctrl.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,27 @@
+/*
+ * linux/arch/arm/mach-bcm2708/armctrl.h
@@ -2709,10 +2711,10 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/armctrl.h linux-3.12.11/arch/
+ u32 armctrl_sources, u32 resume_sources);
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.c linux-3.12.11/arch/arm/mach-bcm2708/bcm2708.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/bcm2708.c 2014-02-18 11:52:14.000000000 +0100
-@@ -0,0 +1,985 @@
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/bcm2708.c linux-raspberry-pi/arch/arm/mach-bcm2708/bcm2708.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/bcm2708.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/bcm2708.c 2014-03-11 17:51:02.000000000 +0100
+@@ -0,0 +1,1011 @@
+/*
+ * linux/arch/arm/mach-bcm2708/bcm2708.c
+ *
@@ -2798,6 +2800,8 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.c linux-3.12.11/arch/
+/* command line parameters */
+static unsigned boardrev, serial;
+static unsigned uart_clock;
++static unsigned disk_led_gpio = 16;
++static unsigned disk_led_active_low = 1;
+static unsigned reboot_part = 0;
+
+static void __init bcm2708_init_led(void);
@@ -3368,6 +3372,21 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.c linux-3.12.11/arch/
+};
+#endif
+
++#if defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) || defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI_MODULE)
++static struct platform_device snd_hifiberry_digi_device = {
++ .name = "snd-hifiberry-digi",
++ .id = 0,
++ .num_resources = 0,
++};
++
++static struct i2c_board_info __initdata snd_wm8804_i2c_devices[] = {
++ {
++ I2C_BOARD_INFO("wm8804", 0x3b)
++ },
++};
++
++#endif
++
+#if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE)
+static struct platform_device snd_rpi_dac_device = {
+ .name = "snd-rpi-dac",
@@ -3517,6 +3536,11 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.c linux-3.12.11/arch/
+ bcm_register_device(&snd_pcm5102a_codec_device);
+#endif
+
++#if defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) || defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI_MODULE)
++ bcm_register_device(&snd_hifiberry_digi_device);
++ i2c_register_board_info(1, snd_wm8804_i2c_devices, ARRAY_SIZE(snd_wm8804_i2c_devices));
++#endif
++
+#if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE)
+ bcm_register_device(&snd_rpi_dac_device);
+ bcm_register_device(&snd_pcm1794a_codec_device);
@@ -3658,7 +3682,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.c linux-3.12.11/arch/
+
+static void __init bcm2708_init_led(void)
+{
-+ platform_device_register(&bcm2708_led_device);
++ bcm2708_leds[0].gpio = disk_led_gpio;
++ bcm2708_leds[0].active_low = disk_led_active_low;
++ platform_device_register(&bcm2708_led_device);
+}
+#else
+static inline void bcm2708_init_led(void)
@@ -3697,10 +3723,12 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.c linux-3.12.11/arch/
+module_param(boardrev, uint, 0644);
+module_param(serial, uint, 0644);
+module_param(uart_clock, uint, 0644);
++module_param(disk_led_gpio, uint, 0644);
++module_param(disk_led_active_low, uint, 0644);
+module_param(reboot_part, uint, 0644);
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708_gpio.c linux-3.12.11/arch/arm/mach-bcm2708/bcm2708_gpio.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708_gpio.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/bcm2708_gpio.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/bcm2708_gpio.c linux-raspberry-pi/arch/arm/mach-bcm2708/bcm2708_gpio.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/bcm2708_gpio.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/bcm2708_gpio.c 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,339 @@
+/*
+ * linux/arch/arm/mach-bcm2708/bcm2708_gpio.c
@@ -4041,9 +4069,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708_gpio.c linux-3.12.11/
+
+MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver");
+MODULE_LICENSE("GPL");
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.h linux-3.12.11/arch/arm/mach-bcm2708/bcm2708.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/bcm2708.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/bcm2708.h linux-raspberry-pi/arch/arm/mach-bcm2708/bcm2708.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/bcm2708.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/bcm2708.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,51 @@
+/*
+ * linux/arch/arm/mach-bcm2708/bcm2708.h
@@ -4096,9 +4124,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/bcm2708.h linux-3.12.11/arch/
+}
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/clock.c linux-3.12.11/arch/arm/mach-bcm2708/clock.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/clock.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/clock.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/clock.c linux-raspberry-pi/arch/arm/mach-bcm2708/clock.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/clock.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/clock.c 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,61 @@
+/*
+ * linux/arch/arm/mach-bcm2708/clock.c
@@ -4161,9 +4189,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/clock.c linux-3.12.11/arch/ar
+ return -EIO;
+}
+EXPORT_SYMBOL(clk_set_rate);
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/clock.h linux-3.12.11/arch/arm/mach-bcm2708/clock.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/clock.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/clock.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/clock.h linux-raspberry-pi/arch/arm/mach-bcm2708/clock.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/clock.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/clock.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,24 @@
+/*
+ * linux/arch/arm/mach-bcm2708/clock.h
@@ -4189,10 +4217,10 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/clock.h linux-3.12.11/arch/ar
+struct clk {
+ unsigned long rate;
+};
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/dma.c linux-3.12.11/arch/arm/mach-bcm2708/dma.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/dma.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/dma.c 2014-02-18 11:52:14.000000000 +0100
-@@ -0,0 +1,399 @@
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/dma.c linux-raspberry-pi/arch/arm/mach-bcm2708/dma.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/dma.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/dma.c 2014-03-11 17:31:43.000000000 +0100
+@@ -0,0 +1,407 @@
+/*
+ * linux/arch/arm/mach-bcm2708/dma.c
+ *
@@ -4278,6 +4306,14 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/dma.c linux-3.12.11/arch/arm/
+
+EXPORT_SYMBOL_GPL(bcm_dma_start);
+
++extern bool bcm_dma_is_busy(void __iomem *dma_chan_base)
++{
++ dsb();
++
++ return readl(dma_chan_base + BCM2708_DMA_CS) & BCM2708_DMA_ACTIVE;
++}
++EXPORT_SYMBOL_GPL(bcm_dma_is_busy);
++
+/* Complete an ongoing DMA (assuming its results are to be ignored)
+ Does nothing if there is no DMA in progress.
+ This routine waits for the current AXI transfer to complete before
@@ -4592,9 +4628,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/dma.c linux-3.12.11/arch/arm/
+MODULE_LICENSE("GPL");
+
+MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM");
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/dmaer.c linux-3.12.11/arch/arm/mach-bcm2708/dmaer.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/dmaer.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/dmaer.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/dmaer.c linux-raspberry-pi/arch/arm/mach-bcm2708/dmaer.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/dmaer.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/dmaer.c 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,886 @@
+#include <linux/init.h>
+#include <linux/sched.h>
@@ -5482,9 +5518,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/dmaer.c linux-3.12.11/arch/ar
+MODULE_AUTHOR("Simon Hall");
+module_init(dmaer_init);
+module_exit(dmaer_exit);
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/arm_control.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/arm_control.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/arm_control.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/arm_control.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/arm_control.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/arm_control.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/arm_control.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/arm_control.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,419 @@
+/*
+ * linux/arch/arm/mach-bcm2708/arm_control.h
@@ -5905,9 +5941,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/arm_control.h li
+#define AJBTDO HW_REGISTER_RW(AJB_BASE+0x0c)
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/arm_power.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/arm_power.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/arm_power.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/arm_power.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/arm_power.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/arm_power.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/arm_power.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/arm_power.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,60 @@
+/*
+ * linux/arch/arm/mach-bcm2708/include/mach/arm_power.h
@@ -5969,9 +6005,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/arm_power.h linu
+};
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/clkdev.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/clkdev.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/clkdev.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/clkdev.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/clkdev.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/clkdev.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/clkdev.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/clkdev.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,7 @@
+#ifndef __ASM_MACH_CLKDEV_H
+#define __ASM_MACH_CLKDEV_H
@@ -5980,9 +6016,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/clkdev.h linux-3
+#define __clk_put(clk) do { } while (0)
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/debug-macro.S linux-3.12.11/arch/arm/mach-bcm2708/include/mach/debug-macro.S
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/debug-macro.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/debug-macro.S 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/debug-macro.S linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/debug-macro.S
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/debug-macro.S 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/debug-macro.S 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,22 @@
+/* arch/arm/mach-bcm2708/include/mach/debug-macro.S
+ *
@@ -6006,10 +6042,10 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/debug-macro.S li
+ .endm
+
+#include <debug/pl01x.S>
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/dma.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/dma.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/dma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/dma.h 2014-02-18 11:52:14.000000000 +0100
-@@ -0,0 +1,88 @@
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/dma.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/dma.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/dma.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/dma.h 2014-03-11 17:31:43.000000000 +0100
+@@ -0,0 +1,90 @@
+/*
+ * linux/arch/arm/mach-bcm2708/include/mach/dma.h
+ *
@@ -6076,11 +6112,13 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/dma.h linux-3.12
+ unsigned long next;
+ unsigned long pad[2];
+};
++struct scatterlist;
+
+extern int bcm_sg_suitable_for_dma(struct scatterlist *sg_ptr, int sg_len);
+extern void bcm_dma_start(void __iomem *dma_chan_base,
+ dma_addr_t control_block);
+extern void bcm_dma_wait_idle(void __iomem *dma_chan_base);
++extern bool bcm_dma_is_busy(void __iomem *dma_chan_base);
+extern int /*rc*/ bcm_dma_abort(void __iomem *dma_chan_base);
+
+/* When listing features we can ask for when allocating DMA channels give
@@ -6098,9 +6136,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/dma.h linux-3.12
+
+
+#endif /* _MACH_BCM2708_DMA_H */
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/entry-macro.S linux-3.12.11/arch/arm/mach-bcm2708/include/mach/entry-macro.S
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/entry-macro.S 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/entry-macro.S 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/entry-macro.S linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/entry-macro.S
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/entry-macro.S 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/entry-macro.S 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,69 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/entry-macro.S
@@ -6171,9 +6209,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/entry-macro.S li
+1020: @ EQ will be set if no irqs pending
+
+ .endm
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/frc.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/frc.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/frc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/frc.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/frc.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/frc.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/frc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/frc.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,38 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/timex.h
@@ -6213,9 +6251,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/frc.h linux-3.12
+extern unsigned long long frc_clock_ticks63(void);
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/gpio.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/gpio.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/gpio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/gpio.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/gpio.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/gpio.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/gpio.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/gpio.h 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,17 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/gpio.h
@@ -6234,9 +6272,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/gpio.h linux-3.1
+#define irq_to_gpio(x) ((x) - GPIO_IRQ_START)
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/hardware.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/hardware.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/hardware.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/hardware.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/hardware.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/hardware.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/hardware.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/hardware.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,28 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/hardware.h
@@ -6266,9 +6304,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/hardware.h linux
+#include <mach/platform.h>
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/io.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/io.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/io.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/io.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/io.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/io.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/io.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/io.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,27 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/io.h
@@ -6297,9 +6335,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/io.h linux-3.12.
+#define __io(a) __typesafe_io(a)
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/irqs.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/irqs.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/irqs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/irqs.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/irqs.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/irqs.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/irqs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/irqs.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,199 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/irqs.h
@@ -6500,9 +6538,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/irqs.h linux-3.1
+
+
+#endif /* _BCM2708_IRQS_H_ */
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/memory.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/memory.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/memory.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/memory.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/memory.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/memory.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/memory.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/memory.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,57 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/memory.h
@@ -6561,9 +6599,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/memory.h linux-3
+#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PLAT_PHYS_OFFSET))
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/platform.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/platform.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/platform.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/platform.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/platform.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/platform.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/platform.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/platform.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,228 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/platform.h
@@ -6793,9 +6831,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/platform.h linux
+#endif
+
+/* END */
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/power.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/power.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/power.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/power.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/power.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/power.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/power.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/power.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,26 @@
+/*
+ * linux/arch/arm/mach-bcm2708/power.h
@@ -6823,9 +6861,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/power.h linux-3.
+extern int bcm_power_close(BCM_POWER_HANDLE_T handle);
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/system.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/system.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/system.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/system.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/system.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/system.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/system.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/system.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,38 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/system.h
@@ -6865,9 +6903,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/system.h linux-3
+}
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/timex.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/timex.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/timex.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/timex.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/timex.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/timex.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/timex.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/timex.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,23 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/timex.h
@@ -6892,9 +6930,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/timex.h linux-3.
+ */
+
+#define CLOCK_TICK_RATE (1000000)
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/uncompress.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/uncompress.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/uncompress.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/uncompress.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/uncompress.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/uncompress.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/uncompress.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/uncompress.h 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,84 @@
+/*
+ * arch/arm/mach-bcn2708/include/mach/uncompress.h
@@ -6980,9 +7018,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/uncompress.h lin
+ * nothing to do
+ */
+#define arch_decomp_wdog()
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vcio.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vcio.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vcio.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vcio.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vcio.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vcio.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vcio.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vcio.h 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,141 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/vcio.h
@@ -7125,9 +7163,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vcio.h linux-3.1
+#define DEVICE_FILE_NAME "char_dev"
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vc_mem.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vc_mem.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vc_mem.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vc_mem.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vc_mem.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vc_mem.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vc_mem.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vc_mem.h 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,35 @@
+/*****************************************************************************
+* Copyright 2010 - 2011 Broadcom Corporation. All rights reserved.
@@ -7164,9 +7202,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vc_mem.h linux-3
+#endif
+
+#endif /* VC_MEM_H */
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vc_support.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vc_support.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vc_support.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vc_support.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vc_support.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vc_support.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vc_support.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vc_support.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,69 @@
+#ifndef _VC_SUPPORT_H_
+#define _VC_SUPPORT_H_
@@ -7237,9 +7275,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vc_support.h lin
+ unsigned int r0, unsigned int r1, unsigned int r2, unsigned int r3, unsigned int r4, unsigned int r5);
+
+#endif
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vmalloc.h linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vmalloc.h
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vmalloc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/include/mach/vmalloc.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vmalloc.h linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vmalloc.h
+--- linux-3.12.13/arch/arm/mach-bcm2708/include/mach/vmalloc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/include/mach/vmalloc.h 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,20 @@
+/*
+ * arch/arm/mach-bcm2708/include/mach/vmalloc.h
@@ -7261,9 +7299,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/include/mach/vmalloc.h linux-
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#define VMALLOC_END (0xe8000000)
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/Kconfig linux-3.12.11/arch/arm/mach-bcm2708/Kconfig
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/Kconfig linux-raspberry-pi/arch/arm/mach-bcm2708/Kconfig
+--- linux-3.12.13/arch/arm/mach-bcm2708/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/Kconfig 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,49 @@
+menu "Broadcom BCM2708 Implementations"
+ depends on ARCH_BCM2708
@@ -7314,9 +7352,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/Kconfig linux-3.12.11/arch/ar
+ Enable DMA helper for accelerating X composition
+
+endmenu
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/Makefile linux-3.12.11/arch/arm/mach-bcm2708/Makefile
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/Makefile linux-raspberry-pi/arch/arm/mach-bcm2708/Makefile
+--- linux-3.12.13/arch/arm/mach-bcm2708/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/Makefile 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,10 @@
+#
+# Makefile for the linux kernel.
@@ -7328,16 +7366,16 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/Makefile linux-3.12.11/arch/a
+
+obj-$(CONFIG_BCM2708_DMAER) += dmaer_master.o
+dmaer_master-objs := dmaer.o vc_support.o
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/Makefile.boot linux-3.12.11/arch/arm/mach-bcm2708/Makefile.boot
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/Makefile.boot 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/Makefile.boot 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/Makefile.boot linux-raspberry-pi/arch/arm/mach-bcm2708/Makefile.boot
+--- linux-3.12.13/arch/arm/mach-bcm2708/Makefile.boot 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/Makefile.boot 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,3 @@
+ zreladdr-y := 0x00008000
+params_phys-y := 0x00000100
+initrd_phys-y := 0x00800000
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/power.c linux-3.12.11/arch/arm/mach-bcm2708/power.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/power.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/power.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/power.c linux-raspberry-pi/arch/arm/mach-bcm2708/power.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/power.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/power.c 2014-03-11 17:31:43.000000000 +0100
@@ -0,0 +1,194 @@
+/*
+ * linux/arch/arm/mach-bcm2708/power.c
@@ -7533,9 +7571,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/power.c linux-3.12.11/arch/ar
+MODULE_AUTHOR("Phil Elwell");
+MODULE_DESCRIPTION("Interface to BCM2708 power management");
+MODULE_LICENSE("GPL");
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/vcio.c linux-3.12.11/arch/arm/mach-bcm2708/vcio.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/vcio.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/vcio.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/vcio.c linux-raspberry-pi/arch/arm/mach-bcm2708/vcio.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/vcio.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/vcio.c 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,474 @@
+/*
+ * linux/arch/arm/mach-bcm2708/vcio.c
@@ -8011,9 +8049,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/vcio.c linux-3.12.11/arch/arm
+MODULE_DESCRIPTION("ARM I/O to VideoCore processor");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:bcm-mbox");
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/vc_mem.c linux-3.12.11/arch/arm/mach-bcm2708/vc_mem.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/vc_mem.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/vc_mem.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/vc_mem.c linux-raspberry-pi/arch/arm/mach-bcm2708/vc_mem.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/vc_mem.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/vc_mem.c 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,462 @@
+/*****************************************************************************
+* Copyright 2010 - 2011 Broadcom Corporation. All rights reserved.
@@ -8477,9 +8515,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/vc_mem.c linux-3.12.11/arch/a
+module_param(mem_size, uint, 0644);
+module_param(mem_base, uint, 0644);
+
-diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/vc_support.c linux-3.12.11/arch/arm/mach-bcm2708/vc_support.c
---- linux-3.12.11.orig/arch/arm/mach-bcm2708/vc_support.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/arch/arm/mach-bcm2708/vc_support.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mach-bcm2708/vc_support.c linux-raspberry-pi/arch/arm/mach-bcm2708/vc_support.c
+--- linux-3.12.13/arch/arm/mach-bcm2708/vc_support.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mach-bcm2708/vc_support.c 2014-03-11 17:51:02.000000000 +0100
@@ -0,0 +1,318 @@
+/*
+ * vc_support.c
@@ -8799,9 +8837,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mach-bcm2708/vc_support.c linux-3.12.11/ar
+ return 1;
+ }
+}
-diff -Nur linux-3.12.11.orig/arch/arm/Makefile linux-3.12.11/arch/arm/Makefile
---- linux-3.12.11.orig/arch/arm/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/Makefile linux-raspberry-pi/arch/arm/Makefile
+--- linux-3.12.13/arch/arm/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/Makefile 2014-03-11 17:51:00.000000000 +0100
@@ -146,6 +146,7 @@
# by CONFIG_* macro name.
machine-$(CONFIG_ARCH_AT91) += at91
@@ -8810,9 +8848,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/Makefile linux-3.12.11/arch/arm/Makefile
machine-$(CONFIG_ARCH_BCM2835) += bcm2835
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
-diff -Nur linux-3.12.11.orig/arch/arm/mm/Kconfig linux-3.12.11/arch/arm/mm/Kconfig
---- linux-3.12.11.orig/arch/arm/mm/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/mm/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mm/Kconfig linux-raspberry-pi/arch/arm/mm/Kconfig
+--- linux-3.12.13/arch/arm/mm/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mm/Kconfig 2014-03-11 17:51:03.000000000 +0100
@@ -358,7 +358,7 @@
# ARMv6
@@ -8822,9 +8860,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mm/Kconfig linux-3.12.11/arch/arm/mm/Kconf
select CPU_32v6
select CPU_ABRT_EV6
select CPU_CACHE_V6
-diff -Nur linux-3.12.11.orig/arch/arm/mm/proc-v6.S linux-3.12.11/arch/arm/mm/proc-v6.S
---- linux-3.12.11.orig/arch/arm/mm/proc-v6.S 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/mm/proc-v6.S 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/mm/proc-v6.S linux-raspberry-pi/arch/arm/mm/proc-v6.S
+--- linux-3.12.13/arch/arm/mm/proc-v6.S 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/mm/proc-v6.S 2014-03-11 17:51:03.000000000 +0100
@@ -73,10 +73,19 @@
*
* IRQs are already disabled.
@@ -8848,9 +8886,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/mm/proc-v6.S linux-3.12.11/arch/arm/mm/pro
mov pc, lr
ENTRY(cpu_v6_dcache_clean_area)
-diff -Nur linux-3.12.11.orig/arch/arm/tools/mach-types linux-3.12.11/arch/arm/tools/mach-types
---- linux-3.12.11.orig/arch/arm/tools/mach-types 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/arch/arm/tools/mach-types 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/arch/arm/tools/mach-types linux-raspberry-pi/arch/arm/tools/mach-types
+--- linux-3.12.13/arch/arm/tools/mach-types 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/arch/arm/tools/mach-types 2014-03-11 17:31:54.000000000 +0100
@@ -522,6 +522,7 @@
prima2_evb MACH_PRIMA2_EVB PRIMA2_EVB 3103
paz00 MACH_PAZ00 PAZ00 3128
@@ -8859,9 +8897,9 @@ diff -Nur linux-3.12.11.orig/arch/arm/tools/mach-types linux-3.12.11/arch/arm/to
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 -Nur linux-3.12.11.orig/Documentation/video4linux/bcm2835-v4l2.txt linux-3.12.11/Documentation/video4linux/bcm2835-v4l2.txt
---- linux-3.12.11.orig/Documentation/video4linux/bcm2835-v4l2.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/Documentation/video4linux/bcm2835-v4l2.txt 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/Documentation/video4linux/bcm2835-v4l2.txt linux-raspberry-pi/Documentation/video4linux/bcm2835-v4l2.txt
+--- linux-3.12.13/Documentation/video4linux/bcm2835-v4l2.txt 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/Documentation/video4linux/bcm2835-v4l2.txt 2014-03-11 17:31:41.000000000 +0100
@@ -0,0 +1,60 @@
+
+BCM2835 (aka Raspberry Pi) V4L2 driver
@@ -8923,9 +8961,9 @@ diff -Nur linux-3.12.11.orig/Documentation/video4linux/bcm2835-v4l2.txt linux-3.
+List of available formats:
+
+$ v4l2-ctl --list-formats
-diff -Nur linux-3.12.11.orig/drivers/char/broadcom/Kconfig linux-3.12.11/drivers/char/broadcom/Kconfig
---- linux-3.12.11.orig/drivers/char/broadcom/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/char/broadcom/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/broadcom/Kconfig linux-raspberry-pi/drivers/char/broadcom/Kconfig
+--- linux-3.12.13/drivers/char/broadcom/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/char/broadcom/Kconfig 2014-03-11 17:51:12.000000000 +0100
@@ -0,0 +1,16 @@
+#
+# Broadcom char driver config
@@ -8943,14 +8981,14 @@ diff -Nur linux-3.12.11.orig/drivers/char/broadcom/Kconfig linux-3.12.11/drivers
+ help
+ Helper for videocore CMA access.
+
-diff -Nur linux-3.12.11.orig/drivers/char/broadcom/Makefile linux-3.12.11/drivers/char/broadcom/Makefile
---- linux-3.12.11.orig/drivers/char/broadcom/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/char/broadcom/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/broadcom/Makefile linux-raspberry-pi/drivers/char/broadcom/Makefile
+--- linux-3.12.13/drivers/char/broadcom/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/char/broadcom/Makefile 2014-03-11 17:51:12.000000000 +0100
@@ -0,0 +1 @@
+obj-$(CONFIG_BCM_VC_CMA) += vc_cma/
-diff -Nur linux-3.12.11.orig/drivers/char/broadcom/vc_cma/Makefile linux-3.12.11/drivers/char/broadcom/vc_cma/Makefile
---- linux-3.12.11.orig/drivers/char/broadcom/vc_cma/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/char/broadcom/vc_cma/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/broadcom/vc_cma/Makefile linux-raspberry-pi/drivers/char/broadcom/vc_cma/Makefile
+--- linux-3.12.13/drivers/char/broadcom/vc_cma/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/char/broadcom/vc_cma/Makefile 2014-03-11 17:51:12.000000000 +0100
@@ -0,0 +1,14 @@
+EXTRA_CFLAGS += -Wall -Wstrict-prototypes -Wno-trigraphs
+EXTRA_CFLAGS += -Werror
@@ -8966,9 +9004,9 @@ diff -Nur linux-3.12.11.orig/drivers/char/broadcom/vc_cma/Makefile linux-3.12.11
+obj-$(CONFIG_BCM_VC_CMA) += vc-cma.o
+
+vc-cma-objs := vc_cma.o
-diff -Nur linux-3.12.11.orig/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.12.11/drivers/char/broadcom/vc_cma/vc_cma.c
---- linux-3.12.11.orig/drivers/char/broadcom/vc_cma/vc_cma.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/char/broadcom/vc_cma/vc_cma.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/broadcom/vc_cma/vc_cma.c linux-raspberry-pi/drivers/char/broadcom/vc_cma/vc_cma.c
+--- linux-3.12.13/drivers/char/broadcom/vc_cma/vc_cma.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/char/broadcom/vc_cma/vc_cma.c 2014-03-11 17:51:12.000000000 +0100
@@ -0,0 +1,1143 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -10113,9 +10151,9 @@ diff -Nur linux-3.12.11.orig/drivers/char/broadcom/vc_cma/vc_cma.c linux-3.12.11
+module_exit(vc_cma_exit);
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Broadcom Corporation");
-diff -Nur linux-3.12.11.orig/drivers/char/hw_random/bcm2708-rng.c linux-3.12.11/drivers/char/hw_random/bcm2708-rng.c
---- linux-3.12.11.orig/drivers/char/hw_random/bcm2708-rng.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/char/hw_random/bcm2708-rng.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/hw_random/bcm2708-rng.c linux-raspberry-pi/drivers/char/hw_random/bcm2708-rng.c
+--- linux-3.12.13/drivers/char/hw_random/bcm2708-rng.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/char/hw_random/bcm2708-rng.c 2014-03-11 17:32:20.000000000 +0100
@@ -0,0 +1,117 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -10234,9 +10272,9 @@ diff -Nur linux-3.12.11.orig/drivers/char/hw_random/bcm2708-rng.c linux-3.12.11/
+
+MODULE_DESCRIPTION("BCM2708 H/W Random Number Generator (RNG) driver");
+MODULE_LICENSE("GPL and additional rights");
-diff -Nur linux-3.12.11.orig/drivers/char/hw_random/Kconfig linux-3.12.11/drivers/char/hw_random/Kconfig
---- linux-3.12.11.orig/drivers/char/hw_random/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/char/hw_random/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/hw_random/Kconfig linux-raspberry-pi/drivers/char/hw_random/Kconfig
+--- linux-3.12.13/drivers/char/hw_random/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/char/hw_random/Kconfig 2014-03-11 17:51:12.000000000 +0100
@@ -314,3 +314,14 @@
module will be called tpm-rng.
@@ -10252,17 +10290,17 @@ diff -Nur linux-3.12.11.orig/drivers/char/hw_random/Kconfig linux-3.12.11/driver
+ module will be called bcm2708-rng.
+
+ If unsure, say N.
-diff -Nur linux-3.12.11.orig/drivers/char/hw_random/Makefile linux-3.12.11/drivers/char/hw_random/Makefile
---- linux-3.12.11.orig/drivers/char/hw_random/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/char/hw_random/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/hw_random/Makefile linux-raspberry-pi/drivers/char/hw_random/Makefile
+--- linux-3.12.13/drivers/char/hw_random/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/char/hw_random/Makefile 2014-03-11 17:32:20.000000000 +0100
@@ -27,3 +27,4 @@
obj-$(CONFIG_HW_RANDOM_EXYNOS) += exynos-rng.o
obj-$(CONFIG_HW_RANDOM_TPM) += tpm-rng.o
obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o
+obj-$(CONFIG_HW_RANDOM_BCM2708) += bcm2708-rng.o
-diff -Nur linux-3.12.11.orig/drivers/char/Kconfig linux-3.12.11/drivers/char/Kconfig
---- linux-3.12.11.orig/drivers/char/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/char/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/Kconfig linux-raspberry-pi/drivers/char/Kconfig
+--- linux-3.12.13/drivers/char/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/char/Kconfig 2014-03-11 17:51:12.000000000 +0100
@@ -574,6 +574,8 @@
source "drivers/s390/char/Kconfig"
@@ -10272,18 +10310,18 @@ diff -Nur linux-3.12.11.orig/drivers/char/Kconfig linux-3.12.11/drivers/char/Kco
config MSM_SMD_PKT
bool "Enable device interface for some SMD packet ports"
default n
-diff -Nur linux-3.12.11.orig/drivers/char/Makefile linux-3.12.11/drivers/char/Makefile
---- linux-3.12.11.orig/drivers/char/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/char/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/char/Makefile linux-raspberry-pi/drivers/char/Makefile
+--- linux-3.12.13/drivers/char/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/char/Makefile 2014-03-11 17:51:12.000000000 +0100
@@ -62,3 +62,5 @@
js-rtc-y = rtc.o
obj-$(CONFIG_TILE_SROM) += tile-srom.o
+
+obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/
-diff -Nur linux-3.12.11.orig/drivers/cpufreq/bcm2835-cpufreq.c linux-3.12.11/drivers/cpufreq/bcm2835-cpufreq.c
---- linux-3.12.11.orig/drivers/cpufreq/bcm2835-cpufreq.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/cpufreq/bcm2835-cpufreq.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/cpufreq/bcm2835-cpufreq.c linux-raspberry-pi/drivers/cpufreq/bcm2835-cpufreq.c
+--- linux-3.12.13/drivers/cpufreq/bcm2835-cpufreq.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/cpufreq/bcm2835-cpufreq.c 2014-03-11 17:51:13.000000000 +0100
@@ -0,0 +1,239 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -10524,9 +10562,9 @@ diff -Nur linux-3.12.11.orig/drivers/cpufreq/bcm2835-cpufreq.c linux-3.12.11/dri
+
+module_init(bcm2835_cpufreq_module_init);
+module_exit(bcm2835_cpufreq_module_exit);
-diff -Nur linux-3.12.11.orig/drivers/cpufreq/Kconfig.arm linux-3.12.11/drivers/cpufreq/Kconfig.arm
---- linux-3.12.11.orig/drivers/cpufreq/Kconfig.arm 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/cpufreq/Kconfig.arm 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/cpufreq/Kconfig.arm linux-raspberry-pi/drivers/cpufreq/Kconfig.arm
+--- linux-3.12.13/drivers/cpufreq/Kconfig.arm 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/cpufreq/Kconfig.arm 2014-03-11 17:51:13.000000000 +0100
@@ -228,6 +228,14 @@
help
This adds the CPUFreq driver support for SPEAr SOCs.
@@ -10542,9 +10580,9 @@ diff -Nur linux-3.12.11.orig/drivers/cpufreq/Kconfig.arm linux-3.12.11/drivers/c
config ARM_TEGRA_CPUFREQ
bool "TEGRA CPUFreq support"
depends on ARCH_TEGRA
-diff -Nur linux-3.12.11.orig/drivers/cpufreq/Makefile linux-3.12.11/drivers/cpufreq/Makefile
---- linux-3.12.11.orig/drivers/cpufreq/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/cpufreq/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/cpufreq/Makefile linux-raspberry-pi/drivers/cpufreq/Makefile
+--- linux-3.12.13/drivers/cpufreq/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/cpufreq/Makefile 2014-03-11 17:51:13.000000000 +0100
@@ -76,6 +76,7 @@
obj-$(CONFIG_ARM_SA1100_CPUFREQ) += sa1100-cpufreq.o
obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o
@@ -10553,9 +10591,9 @@ diff -Nur linux-3.12.11.orig/drivers/cpufreq/Makefile linux-3.12.11/drivers/cpuf
obj-$(CONFIG_ARM_TEGRA_CPUFREQ) += tegra-cpufreq.o
##################################################################################
-diff -Nur linux-3.12.11.orig/drivers/dma/bcm2708-dmaengine.c linux-3.12.11/drivers/dma/bcm2708-dmaengine.c
---- linux-3.12.11.orig/drivers/dma/bcm2708-dmaengine.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/dma/bcm2708-dmaengine.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/dma/bcm2708-dmaengine.c linux-raspberry-pi/drivers/dma/bcm2708-dmaengine.c
+--- linux-3.12.13/drivers/dma/bcm2708-dmaengine.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/dma/bcm2708-dmaengine.c 2014-03-11 17:51:13.000000000 +0100
@@ -0,0 +1,588 @@
+/*
+ * BCM2708 DMA engine support
@@ -11145,12 +11183,12 @@ diff -Nur linux-3.12.11.orig/drivers/dma/bcm2708-dmaengine.c linux-3.12.11/drive
+MODULE_DESCRIPTION("BCM2708 DMA engine driver");
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-3.12.11.orig/drivers/dma/Kconfig linux-3.12.11/drivers/dma/Kconfig
---- linux-3.12.11.orig/drivers/dma/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/dma/Kconfig 2014-02-18 11:52:14.000000000 +0100
-@@ -288,6 +288,12 @@
- select DMA_ENGINE
- select DMA_VIRTUAL_CHANNELS
+diff -Nur linux-3.12.13/drivers/dma/Kconfig linux-raspberry-pi/drivers/dma/Kconfig
+--- linux-3.12.13/drivers/dma/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/dma/Kconfig 2014-03-11 17:51:13.000000000 +0100
+@@ -296,6 +296,12 @@
+ The Communications Port Programming Interface (CPPI) 4.1 DMA engine
+ is currently used by the USB driver on AM335x platforms.
+config DMA_BCM2708
+ tristate "BCM2708 DMA engine support"
@@ -11158,12 +11196,12 @@ diff -Nur linux-3.12.11.orig/drivers/dma/Kconfig linux-3.12.11/drivers/dma/Kconf
+ select DMA_ENGINE
+ select DMA_VIRTUAL_CHANNELS
+
- config TI_CPPI41
- tristate "AM33xx CPPI41 DMA support"
- depends on ARCH_OMAP
-diff -Nur linux-3.12.11.orig/drivers/dma/Makefile linux-3.12.11/drivers/dma/Makefile
---- linux-3.12.11.orig/drivers/dma/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/dma/Makefile 2014-02-18 11:52:14.000000000 +0100
+ config MMP_PDMA
+ bool "MMP PDMA support"
+ depends on (ARCH_MMP || ARCH_PXA)
+diff -Nur linux-3.12.13/drivers/dma/Makefile linux-raspberry-pi/drivers/dma/Makefile
+--- linux-3.12.13/drivers/dma/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/dma/Makefile 2014-03-11 17:51:13.000000000 +0100
@@ -37,6 +37,7 @@
obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
obj-$(CONFIG_MMP_TDMA) += mmp_tdma.o
@@ -11172,9 +11210,9 @@ diff -Nur linux-3.12.11.orig/drivers/dma/Makefile linux-3.12.11/drivers/dma/Make
obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
obj-$(CONFIG_TI_CPPI41) += cppi41.o
-diff -Nur linux-3.12.11.orig/drivers/hwmon/bcm2835-hwmon.c linux-3.12.11/drivers/hwmon/bcm2835-hwmon.c
---- linux-3.12.11.orig/drivers/hwmon/bcm2835-hwmon.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/hwmon/bcm2835-hwmon.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/hwmon/bcm2835-hwmon.c linux-raspberry-pi/drivers/hwmon/bcm2835-hwmon.c
+--- linux-3.12.13/drivers/hwmon/bcm2835-hwmon.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/hwmon/bcm2835-hwmon.c 2014-03-11 17:32:22.000000000 +0100
@@ -0,0 +1,219 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -11395,9 +11433,9 @@ diff -Nur linux-3.12.11.orig/drivers/hwmon/bcm2835-hwmon.c linux-3.12.11/drivers
+MODULE_DESCRIPTION("HW Monitor driver for bcm2835 chip");
+
+module_platform_driver(bcm2835_hwmon_driver);
-diff -Nur linux-3.12.11.orig/drivers/hwmon/Kconfig linux-3.12.11/drivers/hwmon/Kconfig
---- linux-3.12.11.orig/drivers/hwmon/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/hwmon/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/hwmon/Kconfig linux-raspberry-pi/drivers/hwmon/Kconfig
+--- linux-3.12.13/drivers/hwmon/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/hwmon/Kconfig 2014-03-11 17:51:14.000000000 +0100
@@ -1553,6 +1553,16 @@
help
Support for the A/D converter on MC13783 and MC13892 PMIC.
@@ -11415,9 +11453,9 @@ diff -Nur linux-3.12.11.orig/drivers/hwmon/Kconfig linux-3.12.11/drivers/hwmon/K
if ACPI
comment "ACPI drivers"
-diff -Nur linux-3.12.11.orig/drivers/hwmon/Makefile linux-3.12.11/drivers/hwmon/Makefile
---- linux-3.12.11.orig/drivers/hwmon/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/hwmon/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/hwmon/Makefile linux-raspberry-pi/drivers/hwmon/Makefile
+--- linux-3.12.13/drivers/hwmon/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/hwmon/Makefile 2014-03-11 17:51:14.000000000 +0100
@@ -142,6 +142,7 @@
obj-$(CONFIG_SENSORS_W83L786NG) += w83l786ng.o
obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o
@@ -11426,9 +11464,9 @@ diff -Nur linux-3.12.11.orig/drivers/hwmon/Makefile linux-3.12.11/drivers/hwmon/
obj-$(CONFIG_PMBUS) += pmbus/
-diff -Nur linux-3.12.11.orig/drivers/i2c/busses/i2c-bcm2708.c linux-3.12.11/drivers/i2c/busses/i2c-bcm2708.c
---- linux-3.12.11.orig/drivers/i2c/busses/i2c-bcm2708.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/i2c/busses/i2c-bcm2708.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/i2c/busses/i2c-bcm2708.c linux-raspberry-pi/drivers/i2c/busses/i2c-bcm2708.c
+--- linux-3.12.13/drivers/i2c/busses/i2c-bcm2708.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/i2c/busses/i2c-bcm2708.c 2014-03-11 17:51:14.000000000 +0100
@@ -0,0 +1,408 @@
+/*
+ * Driver for Broadcom BCM2708 BSC Controllers
@@ -11838,9 +11876,9 @@ diff -Nur linux-3.12.11.orig/drivers/i2c/busses/i2c-bcm2708.c linux-3.12.11/driv
+MODULE_AUTHOR("Chris Boot <bootc@bootc.net>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" DRV_NAME);
-diff -Nur linux-3.12.11.orig/drivers/i2c/busses/Kconfig linux-3.12.11/drivers/i2c/busses/Kconfig
---- linux-3.12.11.orig/drivers/i2c/busses/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/i2c/busses/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/i2c/busses/Kconfig linux-raspberry-pi/drivers/i2c/busses/Kconfig
+--- linux-3.12.13/drivers/i2c/busses/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/i2c/busses/Kconfig 2014-03-11 17:51:14.000000000 +0100
@@ -346,6 +346,25 @@
This support is also available as a module. If so, the module
will be called i2c-bcm2835.
@@ -11867,9 +11905,9 @@ diff -Nur linux-3.12.11.orig/drivers/i2c/busses/Kconfig linux-3.12.11/drivers/i2
config I2C_BLACKFIN_TWI
tristate "Blackfin TWI I2C support"
depends on BLACKFIN
-diff -Nur linux-3.12.11.orig/drivers/i2c/busses/Makefile linux-3.12.11/drivers/i2c/busses/Makefile
---- linux-3.12.11.orig/drivers/i2c/busses/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/i2c/busses/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/i2c/busses/Makefile linux-raspberry-pi/drivers/i2c/busses/Makefile
+--- linux-3.12.13/drivers/i2c/busses/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/i2c/busses/Makefile 2014-03-11 17:51:14.000000000 +0100
@@ -32,6 +32,7 @@
obj-$(CONFIG_I2C_AT91) += i2c-at91.o
obj-$(CONFIG_I2C_AU1550) += i2c-au1550.o
@@ -11878,9 +11916,9 @@ diff -Nur linux-3.12.11.orig/drivers/i2c/busses/Makefile linux-3.12.11/drivers/i
obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
obj-$(CONFIG_I2C_CBUS_GPIO) += i2c-cbus-gpio.o
obj-$(CONFIG_I2C_CPM) += i2c-cpm.o
-diff -Nur linux-3.12.11.orig/drivers/media/dvb-core/dvb-usb-ids.h linux-3.12.11/drivers/media/dvb-core/dvb-usb-ids.h
---- linux-3.12.11.orig/drivers/media/dvb-core/dvb-usb-ids.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/media/dvb-core/dvb-usb-ids.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/dvb-core/dvb-usb-ids.h linux-raspberry-pi/drivers/media/dvb-core/dvb-usb-ids.h
+--- linux-3.12.13/drivers/media/dvb-core/dvb-usb-ids.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/media/dvb-core/dvb-usb-ids.h 2014-03-11 17:51:15.000000000 +0100
@@ -366,6 +366,7 @@
#define USB_PID_TERRATEC_DVBS2CI_V2 0x10ac
#define USB_PID_TECHNISAT_USB2_HDCI_V1 0x0001
@@ -11889,9 +11927,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/dvb-core/dvb-usb-ids.h linux-3.12.11/
#define USB_PID_TECHNISAT_AIRSTAR_TELESTICK_2 0x0004
#define USB_PID_TECHNISAT_USB2_DVB_S2 0x0500
#define USB_PID_CPYTO_REDI_PC50A 0xa803
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/bcm2835-camera.c linux-3.12.11/drivers/media/platform/bcm2835/bcm2835-camera.c
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/bcm2835-camera.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/bcm2835-camera.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/bcm2835-camera.c linux-raspberry-pi/drivers/media/platform/bcm2835/bcm2835-camera.c
+--- linux-3.12.13/drivers/media/platform/bcm2835/bcm2835-camera.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/bcm2835-camera.c 2014-03-11 17:51:15.000000000 +0100
@@ -0,0 +1,1622 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -13515,9 +13553,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/bcm2835-camera.c lin
+
+module_init(bm2835_mmal_init);
+module_exit(bm2835_mmal_exit);
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/bcm2835-camera.h linux-3.12.11/drivers/media/platform/bcm2835/bcm2835-camera.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/bcm2835-camera.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/bcm2835-camera.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/bcm2835-camera.h linux-raspberry-pi/drivers/media/platform/bcm2835/bcm2835-camera.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/bcm2835-camera.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/bcm2835-camera.h 2014-03-11 17:51:15.000000000 +0100
@@ -0,0 +1,113 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -13632,9 +13670,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/bcm2835-camera.h lin
+ (pix_fmt)->pixelformat, (pix_fmt)->bytesperline, \
+ (pix_fmt)->sizeimage, (pix_fmt)->colorspace, (pix_fmt)->priv); \
+}
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/controls.c linux-3.12.11/drivers/media/platform/bcm2835/controls.c
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/controls.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/controls.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/controls.c linux-raspberry-pi/drivers/media/platform/bcm2835/controls.c
+--- linux-3.12.13/drivers/media/platform/bcm2835/controls.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/controls.c 2014-03-11 17:51:15.000000000 +0100
@@ -0,0 +1,902 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -14538,9 +14576,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/controls.c linux-3.1
+
+ return 0;
+}
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/Kconfig linux-3.12.11/drivers/media/platform/bcm2835/Kconfig
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/Kconfig linux-raspberry-pi/drivers/media/platform/bcm2835/Kconfig
+--- linux-3.12.13/drivers/media/platform/bcm2835/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/Kconfig 2014-03-11 17:32:31.000000000 +0100
@@ -0,0 +1,25 @@
+# Broadcom VideoCore IV v4l2 camera support
+
@@ -14567,18 +14605,18 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/Kconfig linux-3.12.1
+
+
+endif # VIDEO_BM2835
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/Makefile linux-3.12.11/drivers/media/platform/bcm2835/Makefile
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/Makefile linux-raspberry-pi/drivers/media/platform/bcm2835/Makefile
+--- linux-3.12.13/drivers/media/platform/bcm2835/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/Makefile 2014-03-11 17:32:31.000000000 +0100
@@ -0,0 +1,5 @@
+bcm2835-v4l2-objs := bcm2835-camera.o controls.o mmal-vchiq.o
+
+obj-$(CONFIG_VIDEO_BCM2835_MMAL) += bcm2835-v4l2.o
+
+ccflags-$(CONFIG_VIDEO_BCM2835) += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-common.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-common.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-common.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-common.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-common.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-common.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-common.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-common.h 2014-03-11 17:51:15.000000000 +0100
@@ -0,0 +1,52 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -14632,9 +14670,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-common.h linux-
+ u32 v;
+};
+
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-encodings.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-encodings.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-encodings.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-encodings.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-encodings.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-encodings.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-encodings.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-encodings.h 2014-03-11 17:51:15.000000000 +0100
@@ -0,0 +1,93 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -14729,9 +14767,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-encodings.h lin
+#define MMAL_ENCODING_VARIANT_H264_AVC1 MMAL_FOURCC('A', 'V', 'C', '1')
+/** Implicitly delineated NAL units without emulation prevention */
+#define MMAL_ENCODING_VARIANT_H264_RAW MMAL_FOURCC('R', 'A', 'W', ' ')
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-common.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg-common.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-common.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg-common.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg-common.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg-common.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg-common.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg-common.h 2014-03-11 17:32:31.000000000 +0100
@@ -0,0 +1,50 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -14783,9 +14821,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-common.h li
+};
+
+#endif /* MMAL_MSG_COMMON_H */
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-format.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg-format.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-format.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg-format.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg-format.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg-format.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg-format.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg-format.h 2014-03-11 17:32:31.000000000 +0100
@@ -0,0 +1,81 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -14868,9 +14906,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-format.h li
+};
+
+#endif /* MMAL_MSG_FORMAT_H */
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg.h 2014-03-11 17:32:31.000000000 +0100
@@ -0,0 +1,404 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -15276,9 +15314,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg.h linux-3.1
+ u8 payload[MMAL_MSG_MAX_PAYLOAD];
+ } u;
+};
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-port.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg-port.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-port.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-msg-port.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg-port.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg-port.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-msg-port.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-msg-port.h 2014-03-11 17:32:31.000000000 +0100
@@ -0,0 +1,107 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -15387,9 +15425,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-msg-port.h linu
+ */
+
+};
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-parameters.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-parameters.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-parameters.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-parameters.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-parameters.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-parameters.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-parameters.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-parameters.h 2014-03-11 17:51:15.000000000 +0100
@@ -0,0 +1,562 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -15953,9 +15991,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-parameters.h li
+ u32 num_effect_params;
+ u32 effect_parameter[MMAL_MAX_IMAGEFX_PARAMETERS];
+};
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-vchiq.c linux-3.12.11/drivers/media/platform/bcm2835/mmal-vchiq.c
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-vchiq.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-vchiq.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-vchiq.c linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-vchiq.c
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-vchiq.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-vchiq.c 2014-03-11 17:51:15.000000000 +0100
@@ -0,0 +1,1916 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -17873,9 +17911,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-vchiq.c linux-3
+ kfree(instance);
+ return -ENODEV;
+}
-diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-vchiq.h linux-3.12.11/drivers/media/platform/bcm2835/mmal-vchiq.h
---- linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-vchiq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/bcm2835/mmal-vchiq.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/bcm2835/mmal-vchiq.h linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-vchiq.h
+--- linux-3.12.13/drivers/media/platform/bcm2835/mmal-vchiq.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/bcm2835/mmal-vchiq.h 2014-03-11 17:32:31.000000000 +0100
@@ -0,0 +1,178 @@
+/*
+ * Broadcom BM2835 V4L2 driver
@@ -18055,9 +18093,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/bcm2835/mmal-vchiq.h linux-3
+ struct mmal_buffer *buf);
+
+#endif /* MMAL_VCHIQ_H */
-diff -Nur linux-3.12.11.orig/drivers/media/platform/Kconfig linux-3.12.11/drivers/media/platform/Kconfig
---- linux-3.12.11.orig/drivers/media/platform/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/Kconfig linux-raspberry-pi/drivers/media/platform/Kconfig
+--- linux-3.12.13/drivers/media/platform/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/Kconfig 2014-03-11 17:51:15.000000000 +0100
@@ -124,6 +124,7 @@
source "drivers/media/platform/soc_camera/Kconfig"
source "drivers/media/platform/exynos4-is/Kconfig"
@@ -18066,9 +18104,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/Kconfig linux-3.12.11/driver
endif # V4L_PLATFORM_DRIVERS
-diff -Nur linux-3.12.11.orig/drivers/media/platform/Makefile linux-3.12.11/drivers/media/platform/Makefile
---- linux-3.12.11.orig/drivers/media/platform/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/media/platform/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/platform/Makefile linux-raspberry-pi/drivers/media/platform/Makefile
+--- linux-3.12.13/drivers/media/platform/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/media/platform/Makefile 2014-03-11 17:51:15.000000000 +0100
@@ -52,4 +52,6 @@
obj-$(CONFIG_ARCH_OMAP) += omap/
@@ -18076,9 +18114,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/platform/Makefile linux-3.12.11/drive
+obj-$(CONFIG_VIDEO_BCM2835) += bcm2835/
+
ccflags-y += -I$(srctree)/drivers/media/i2c
-diff -Nur linux-3.12.11.orig/drivers/media/usb/dvb-usb-v2/az6007.c linux-3.12.11/drivers/media/usb/dvb-usb-v2/az6007.c
---- linux-3.12.11.orig/drivers/media/usb/dvb-usb-v2/az6007.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/media/usb/dvb-usb-v2/az6007.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/usb/dvb-usb-v2/az6007.c linux-raspberry-pi/drivers/media/usb/dvb-usb-v2/az6007.c
+--- linux-3.12.13/drivers/media/usb/dvb-usb-v2/az6007.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/media/usb/dvb-usb-v2/az6007.c 2014-03-11 17:32:32.000000000 +0100
@@ -68,6 +68,19 @@
.microcode_name = "dvb-usb-terratec-h7-drxk.fw",
};
@@ -18166,9 +18204,9 @@ diff -Nur linux-3.12.11.orig/drivers/media/usb/dvb-usb-v2/az6007.c linux-3.12.11
{0},
};
-diff -Nur linux-3.12.11.orig/drivers/media/usb/dvb-usb-v2/rtl28xxu.c linux-3.12.11/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
---- linux-3.12.11.orig/drivers/media/usb/dvb-usb-v2/rtl28xxu.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/media/usb/dvb-usb-v2/rtl28xxu.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/media/usb/dvb-usb-v2/rtl28xxu.c linux-raspberry-pi/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
+--- linux-3.12.13/drivers/media/usb/dvb-usb-v2/rtl28xxu.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/media/usb/dvb-usb-v2/rtl28xxu.c 2014-03-11 17:51:16.000000000 +0100
@@ -1384,6 +1384,10 @@
&rtl2832u_props, "Compro VideoMate U620F", NULL) },
{ DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd394,
@@ -18180,26 +18218,26 @@ diff -Nur linux-3.12.11.orig/drivers/media/usb/dvb-usb-v2/rtl28xxu.c linux-3.12.
{ DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a03,
&rtl2832u_props, "Leadtek WinFast DTV Dongle mini", NULL) },
{ DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A,
-diff -Nur linux-3.12.11.orig/drivers/misc/Kconfig linux-3.12.11/drivers/misc/Kconfig
---- linux-3.12.11.orig/drivers/misc/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/misc/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/Kconfig linux-raspberry-pi/drivers/misc/Kconfig
+--- linux-3.12.13/drivers/misc/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/Kconfig 2014-03-11 17:51:16.000000000 +0100
@@ -537,4 +537,5 @@
source "drivers/misc/altera-stapl/Kconfig"
source "drivers/misc/mei/Kconfig"
source "drivers/misc/vmw_vmci/Kconfig"
+source "drivers/misc/vc04_services/Kconfig"
endmenu
-diff -Nur linux-3.12.11.orig/drivers/misc/Makefile linux-3.12.11/drivers/misc/Makefile
---- linux-3.12.11.orig/drivers/misc/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/misc/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/Makefile linux-raspberry-pi/drivers/misc/Makefile
+--- linux-3.12.13/drivers/misc/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/Makefile 2014-03-11 17:32:36.000000000 +0100
@@ -53,3 +53,4 @@
obj-$(CONFIG_VMWARE_VMCI) += vmw_vmci/
obj-$(CONFIG_LATTICE_ECP3_CONFIG) += lattice-ecp3-config.o
obj-$(CONFIG_SRAM) += sram.o
+obj-$(CONFIG_BCM2708_VCHIQ) += vc04_services/
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/connections/connection.h linux-3.12.11/drivers/misc/vc04_services/interface/vchi/connections/connection.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/connections/connection.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchi/connections/connection.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchi/connections/connection.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/connections/connection.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchi/connections/connection.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/connections/connection.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,328 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -18529,9 +18567,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/connectio
+#endif /* CONNECTION_H_ */
+
+/****************************** End of file **********************************/
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h linux-3.12.11/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,204 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -18737,9 +18775,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/message_d
+#endif // _VCHI_MESSAGE_H_
+
+/****************************** End of file ***********************************/
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,224 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -18965,9 +19003,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_cfg.
+#endif /* VCHI_CFG_H_ */
+
+/****************************** End of file **********************************/
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -19040,9 +19078,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_cfg_
+//#define VCHI_RX_NANOLOCKS
+
+#endif /*VCHI_CFG_INTERNAL_H_*/
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_common.h linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_common.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_common.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_common.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_common.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_common.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_common.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_common.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -19207,9 +19245,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_comm
+
+
+#endif // VCHI_COMMON_H_
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi.h linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,373 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -19584,9 +19622,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi.h li
+#endif /* VCHI_H_ */
+
+/****************************** End of file **********************************/
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_mh.h linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_mh.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchi/vchi_mh.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_mh.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchi/vchi_mh.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchi/vchi_mh.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -19630,9 +19668,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
+#define VCHI_MEM_HANDLE_INVALID 0
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,561 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -20195,9 +20233,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+
+ kfree(pagelist);
+}
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -20241,9 +20279,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX 1
+
+#endif /* VCHIQ_2835_H */
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,2813 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -23058,9 +23096,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+module_exit(vchiq_exit);
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Broadcom Corporation");
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -23274,9 +23312,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+
+
+#endif /* VCHIQ_ARM_H */
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,37 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -23315,9 +23353,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+const char *vchiq_get_build_version(void);
+const char *vchiq_get_build_time(void);
+const char *vchiq_get_build_date(void);
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -23379,9 +23417,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+#endif
+
+#endif /* VCHIQ_CFG_H */
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,119 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -23502,9 +23540,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+ mutex_unlock(&g_connected_mutex);
+}
+EXPORT_SYMBOL(vchiq_add_connected_callback);
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h 2014-03-11 17:51:16.000000000 +0100
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -23556,9 +23594,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+void vchiq_call_connected_callbacks(void);
+
+#endif /* VCHIQ_CONNECTED_H */
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,3824 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -27384,9 +27422,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+ numBytes = 0;
+ }
+}
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,706 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -28094,9 +28132,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+ size_t numBytes);
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion 2014-03-11 17:51:16.000000000 +0100
@@ -0,0 +1,87 @@
+#!/usr/bin/perl -w
+
@@ -28185,9 +28223,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+ return vchiq_build_time;
+}
+EOF
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h 2014-03-11 17:51:16.000000000 +0100
@@ -0,0 +1,40 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -28229,9 +28267,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+#include "vchiq_util.h"
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,188 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -28421,9 +28459,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+ short *peer_version);
+
+#endif /* VCHIQ_IF_H */
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,129 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -28554,9 +28592,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+#define VCHIQ_IOC_MAX 15
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,456 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -29014,9 +29052,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+
+ return status;
+}
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,71 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -29089,9 +29127,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+ const VCHIQ_PLATFORM_DATA_T * platform_data);
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -29151,9 +29189,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+} FRAGMENTS_T;
+
+#endif /* VCHIQ_PAGELIST_H */
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c 2014-03-11 17:51:16.000000000 +0100
@@ -0,0 +1,253 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -29408,9 +29446,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+}
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,828 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -30240,9 +30278,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+ return ret;
+}
+EXPORT_SYMBOL(vchi_service_release);
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,151 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -30395,9 +30433,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+
+ return header;
+}
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h 2014-03-11 17:51:16.000000000 +0100
@@ -0,0 +1,81 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -30480,9 +30518,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+extern VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue);
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
---- linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
+--- linux-3.12.13/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c 2014-03-11 17:32:37.000000000 +0100
@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2010-2012 Broadcom. All rights reserved.
@@ -30543,9 +30581,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/interface/vchiq_arm/vchi
+{
+ return vchiq_build_time;
+}
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/Kconfig linux-3.12.11/drivers/misc/vc04_services/Kconfig
---- linux-3.12.11.orig/drivers/misc/vc04_services/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/Kconfig linux-raspberry-pi/drivers/misc/vc04_services/Kconfig
+--- linux-3.12.13/drivers/misc/vc04_services/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/Kconfig 2014-03-11 17:51:16.000000000 +0100
@@ -0,0 +1,9 @@
+config BCM2708_VCHIQ
+ tristate "Videocore VCHIQ"
@@ -30556,9 +30594,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/Kconfig linux-3.12.11/dr
+ BCM2708 family of products.
+ Defaults to Y when the Broadcom Videocore services
+ are included in the build, N otherwise.
-diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/Makefile linux-3.12.11/drivers/misc/vc04_services/Makefile
---- linux-3.12.11.orig/drivers/misc/vc04_services/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/misc/vc04_services/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/misc/vc04_services/Makefile linux-raspberry-pi/drivers/misc/vc04_services/Makefile
+--- linux-3.12.13/drivers/misc/vc04_services/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/misc/vc04_services/Makefile 2014-03-11 17:51:16.000000000 +0100
@@ -0,0 +1,17 @@
+ifeq ($(CONFIG_MACH_BCM2708),y)
+
@@ -30577,9 +30615,9 @@ diff -Nur linux-3.12.11.orig/drivers/misc/vc04_services/Makefile linux-3.12.11/d
+EXTRA_CFLAGS += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000
+
+endif
-diff -Nur linux-3.12.11.orig/drivers/mmc/card/block.c linux-3.12.11/drivers/mmc/card/block.c
---- linux-3.12.11.orig/drivers/mmc/card/block.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/mmc/card/block.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/mmc/card/block.c linux-raspberry-pi/drivers/mmc/card/block.c
+--- linux-3.12.13/drivers/mmc/card/block.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/mmc/card/block.c 2014-03-11 17:51:16.000000000 +0100
@@ -1361,7 +1361,7 @@
brq->data.blocks = 1;
}
@@ -30589,9 +30627,9 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/card/block.c linux-3.12.11/drivers/mmc/
/* SPI multiblock writes terminate using a special
* token, not a STOP_TRANSMISSION request.
*/
-diff -Nur linux-3.12.11.orig/drivers/mmc/core/sd.c linux-3.12.11/drivers/mmc/core/sd.c
---- linux-3.12.11.orig/drivers/mmc/core/sd.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/mmc/core/sd.c 2014-02-18 12:04:40.000000000 +0100
+diff -Nur linux-3.12.13/drivers/mmc/core/sd.c linux-raspberry-pi/drivers/mmc/core/sd.c
+--- linux-3.12.13/drivers/mmc/core/sd.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/mmc/core/sd.c 2014-03-11 17:51:16.000000000 +0100
@@ -14,6 +14,8 @@
#include <linux/sizes.h>
#include <linux/slab.h>
@@ -30617,11 +30655,11 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/core/sd.c linux-3.12.11/drivers/mmc/cor
/*
* Given the decoded CSD structure, decode the raw CID to our CID structure.
*/
-@@ -217,13 +228,64 @@
- return 0;
+@@ -218,12 +229,63 @@
}
-+ /*
+ /*
+- * Fetch and process SD Status register.
+ * Fetch and process SD Configuration Register.
+ */
+static int mmc_read_scr(struct mmc_card *card)
@@ -30670,15 +30708,15 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/core/sd.c linux-3.12.11/drivers/mmc/cor
+ return err;
+}
+
- /*
- * Fetch and process SD Status register.
++/*
++ * Fetch and process SD Status Register.
*/
static int mmc_read_ssr(struct mmc_card *card)
{
+ unsigned long timeout_at;
unsigned int au, es, et, eo;
int err, i;
-+ int tries;
++ int tries;
u32 *ssr;
if (!(card->csd.cmdclass & CCC_APP_SPEC)) {
@@ -30746,9 +30784,9 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/core/sd.c linux-3.12.11/drivers/mmc/cor
return err;
/*
-diff -Nur linux-3.12.11.orig/drivers/mmc/host/Kconfig linux-3.12.11/drivers/mmc/host/Kconfig
---- linux-3.12.11.orig/drivers/mmc/host/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/mmc/host/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/mmc/host/Kconfig linux-raspberry-pi/drivers/mmc/host/Kconfig
+--- linux-3.12.13/drivers/mmc/host/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/mmc/host/Kconfig 2014-03-11 17:51:16.000000000 +0100
@@ -260,6 +260,27 @@
If you have a controller with this interface, say Y or M here.
@@ -30777,9 +30815,9 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/host/Kconfig linux-3.12.11/drivers/mmc/
config MMC_SDHCI_BCM2835
tristate "SDHCI platform support for the BCM2835 SD/MMC Controller"
depends on ARCH_BCM2835
-diff -Nur linux-3.12.11.orig/drivers/mmc/host/Makefile linux-3.12.11/drivers/mmc/host/Makefile
---- linux-3.12.11.orig/drivers/mmc/host/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/mmc/host/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/mmc/host/Makefile linux-raspberry-pi/drivers/mmc/host/Makefile
+--- linux-3.12.13/drivers/mmc/host/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/mmc/host/Makefile 2014-03-11 17:51:16.000000000 +0100
@@ -15,6 +15,7 @@
obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o
obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o
@@ -30788,9 +30826,9 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/host/Makefile linux-3.12.11/drivers/mmc
obj-$(CONFIG_MMC_WBSD) += wbsd.o
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o
-diff -Nur linux-3.12.11.orig/drivers/mmc/host/sdhci-bcm2708.c linux-3.12.11/drivers/mmc/host/sdhci-bcm2708.c
---- linux-3.12.11.orig/drivers/mmc/host/sdhci-bcm2708.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/mmc/host/sdhci-bcm2708.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/mmc/host/sdhci-bcm2708.c linux-raspberry-pi/drivers/mmc/host/sdhci-bcm2708.c
+--- linux-3.12.13/drivers/mmc/host/sdhci-bcm2708.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/mmc/host/sdhci-bcm2708.c 2014-03-11 17:51:21.000000000 +0100
@@ -0,0 +1,1410 @@
+/*
+ * sdhci-bcm2708.c Support for SDHCI device on BCM2708
@@ -32202,9 +32240,9 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/host/sdhci-bcm2708.c linux-3.12.11/driv
+MODULE_PARM_DESC(extra_messages, "Enable more sdcard warning messages");
+
+
-diff -Nur linux-3.12.11.orig/drivers/mmc/host/sdhci.c linux-3.12.11/drivers/mmc/host/sdhci.c
---- linux-3.12.11.orig/drivers/mmc/host/sdhci.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/mmc/host/sdhci.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/mmc/host/sdhci.c linux-raspberry-pi/drivers/mmc/host/sdhci.c
+--- linux-3.12.13/drivers/mmc/host/sdhci.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/mmc/host/sdhci.c 2014-03-11 17:51:21.000000000 +0100
@@ -28,6 +28,7 @@
#include <linux/mmc/mmc.h>
#include <linux/mmc/host.h>
@@ -33046,9 +33084,9 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/host/sdhci.c linux-3.12.11/drivers/mmc/
}
sdhci_disable_card_detection(host);
-diff -Nur linux-3.12.11.orig/drivers/mmc/host/sdhci.h linux-3.12.11/drivers/mmc/host/sdhci.h
---- linux-3.12.11.orig/drivers/mmc/host/sdhci.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/mmc/host/sdhci.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/mmc/host/sdhci.h linux-raspberry-pi/drivers/mmc/host/sdhci.h
+--- linux-3.12.13/drivers/mmc/host/sdhci.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/mmc/host/sdhci.h 2014-03-11 17:51:21.000000000 +0100
@@ -289,6 +289,18 @@
void (*platform_reset_enter)(struct sdhci_host *host, u8 mask);
void (*platform_reset_exit)(struct sdhci_host *host, u8 mask);
@@ -33107,9 +33145,9 @@ diff -Nur linux-3.12.11.orig/drivers/mmc/host/sdhci.h linux-3.12.11/drivers/mmc/
+
+
#endif /* __SDHCI_HW_H */
-diff -Nur linux-3.12.11.orig/drivers/net/usb/smsc95xx.c linux-3.12.11/drivers/net/usb/smsc95xx.c
---- linux-3.12.11.orig/drivers/net/usb/smsc95xx.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/net/usb/smsc95xx.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/net/usb/smsc95xx.c linux-raspberry-pi/drivers/net/usb/smsc95xx.c
+--- linux-3.12.13/drivers/net/usb/smsc95xx.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/net/usb/smsc95xx.c 2014-03-11 17:51:24.000000000 +0100
@@ -61,6 +61,7 @@
#define SUSPEND_SUSPEND3 (0x08)
#define SUSPEND_ALLMODES (SUSPEND_SUSPEND0 | SUSPEND_SUSPEND1 | \
@@ -33189,9 +33227,9 @@ diff -Nur linux-3.12.11.orig/drivers/net/usb/smsc95xx.c linux-3.12.11/drivers/ne
/* try reading mac address from EEPROM */
if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
dev->net->dev_addr) == 0) {
-diff -Nur linux-3.12.11.orig/drivers/spi/Kconfig linux-3.12.11/drivers/spi/Kconfig
---- linux-3.12.11.orig/drivers/spi/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/spi/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/spi/Kconfig linux-raspberry-pi/drivers/spi/Kconfig
+--- linux-3.12.13/drivers/spi/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/spi/Kconfig 2014-03-11 17:51:25.000000000 +0100
@@ -85,6 +85,14 @@
is for the regular SPI controller. Slave mode operation is not also
not supported.
@@ -33207,9 +33245,9 @@ diff -Nur linux-3.12.11.orig/drivers/spi/Kconfig linux-3.12.11/drivers/spi/Kconf
config SPI_BFIN5XX
tristate "SPI controller driver for ADI Blackfin5xx"
depends on BLACKFIN && !BF60x
-diff -Nur linux-3.12.11.orig/drivers/spi/Makefile linux-3.12.11/drivers/spi/Makefile
---- linux-3.12.11.orig/drivers/spi/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/spi/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/spi/Makefile linux-raspberry-pi/drivers/spi/Makefile
+--- linux-3.12.13/drivers/spi/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/spi/Makefile 2014-03-11 17:51:25.000000000 +0100
@@ -18,6 +18,7 @@
obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o
obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o
@@ -33218,9 +33256,9 @@ diff -Nur linux-3.12.11.orig/drivers/spi/Makefile linux-3.12.11/drivers/spi/Make
obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o
obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.o
obj-$(CONFIG_SPI_BUTTERFLY) += spi-butterfly.o
-diff -Nur linux-3.12.11.orig/drivers/spi/spi-bcm2708.c linux-3.12.11/drivers/spi/spi-bcm2708.c
---- linux-3.12.11.orig/drivers/spi/spi-bcm2708.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/spi/spi-bcm2708.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/spi/spi-bcm2708.c linux-raspberry-pi/drivers/spi/spi-bcm2708.c
+--- linux-3.12.13/drivers/spi/spi-bcm2708.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/spi/spi-bcm2708.c 2014-03-11 17:33:04.000000000 +0100
@@ -0,0 +1,626 @@
+/*
+ * Driver for Broadcom BCM2708 SPI Controllers
@@ -33848,9 +33886,9 @@ diff -Nur linux-3.12.11.orig/drivers/spi/spi-bcm2708.c linux-3.12.11/drivers/spi
+MODULE_AUTHOR("Chris Boot <bootc@bootc.net>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" DRV_NAME);
-diff -Nur linux-3.12.11.orig/drivers/staging/media/lirc/Kconfig linux-3.12.11/drivers/staging/media/lirc/Kconfig
---- linux-3.12.11.orig/drivers/staging/media/lirc/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/staging/media/lirc/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/staging/media/lirc/Kconfig linux-raspberry-pi/drivers/staging/media/lirc/Kconfig
+--- linux-3.12.13/drivers/staging/media/lirc/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/staging/media/lirc/Kconfig 2014-03-11 17:33:05.000000000 +0100
@@ -38,6 +38,12 @@
help
Driver for Homebrew Parallel Port Receivers
@@ -33864,9 +33902,9 @@ diff -Nur linux-3.12.11.orig/drivers/staging/media/lirc/Kconfig linux-3.12.11/dr
config LIRC_SASEM
tristate "Sasem USB IR Remote"
depends on LIRC && USB
-diff -Nur linux-3.12.11.orig/drivers/staging/media/lirc/lirc_rpi.c linux-3.12.11/drivers/staging/media/lirc/lirc_rpi.c
---- linux-3.12.11.orig/drivers/staging/media/lirc/lirc_rpi.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/staging/media/lirc/lirc_rpi.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/staging/media/lirc/lirc_rpi.c linux-raspberry-pi/drivers/staging/media/lirc/lirc_rpi.c
+--- linux-3.12.13/drivers/staging/media/lirc/lirc_rpi.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/staging/media/lirc/lirc_rpi.c 2014-03-11 17:33:05.000000000 +0100
@@ -0,0 +1,693 @@
+/*
+ * lirc_rpi.c
@@ -34561,9 +34599,9 @@ diff -Nur linux-3.12.11.orig/drivers/staging/media/lirc/lirc_rpi.c linux-3.12.11
+
+module_param(debug, bool, S_IRUGO | S_IWUSR);
+MODULE_PARM_DESC(debug, "Enable debugging messages");
-diff -Nur linux-3.12.11.orig/drivers/staging/media/lirc/Makefile linux-3.12.11/drivers/staging/media/lirc/Makefile
---- linux-3.12.11.orig/drivers/staging/media/lirc/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/staging/media/lirc/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/staging/media/lirc/Makefile linux-raspberry-pi/drivers/staging/media/lirc/Makefile
+--- linux-3.12.13/drivers/staging/media/lirc/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/staging/media/lirc/Makefile 2014-03-11 17:33:05.000000000 +0100
@@ -7,6 +7,7 @@
obj-$(CONFIG_LIRC_IGORPLUGUSB) += lirc_igorplugusb.o
obj-$(CONFIG_LIRC_IMON) += lirc_imon.o
@@ -34572,9 +34610,9 @@ diff -Nur linux-3.12.11.orig/drivers/staging/media/lirc/Makefile linux-3.12.11/d
obj-$(CONFIG_LIRC_SASEM) += lirc_sasem.o
obj-$(CONFIG_LIRC_SERIAL) += lirc_serial.o
obj-$(CONFIG_LIRC_SIR) += lirc_sir.o
-diff -Nur linux-3.12.11.orig/drivers/thermal/bcm2835-thermal.c linux-3.12.11/drivers/thermal/bcm2835-thermal.c
---- linux-3.12.11.orig/drivers/thermal/bcm2835-thermal.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/thermal/bcm2835-thermal.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/thermal/bcm2835-thermal.c linux-raspberry-pi/drivers/thermal/bcm2835-thermal.c
+--- linux-3.12.13/drivers/thermal/bcm2835-thermal.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/thermal/bcm2835-thermal.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,184 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -34760,9 +34798,9 @@ diff -Nur linux-3.12.11.orig/drivers/thermal/bcm2835-thermal.c linux-3.12.11/dri
+MODULE_DESCRIPTION("Thermal driver for bcm2835 chip");
+
+module_platform_driver(bcm2835_thermal_driver);
-diff -Nur linux-3.12.11.orig/drivers/thermal/Kconfig linux-3.12.11/drivers/thermal/Kconfig
---- linux-3.12.11.orig/drivers/thermal/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/thermal/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/thermal/Kconfig linux-raspberry-pi/drivers/thermal/Kconfig
+--- linux-3.12.13/drivers/thermal/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/thermal/Kconfig 2014-03-11 17:51:27.000000000 +0100
@@ -181,6 +181,12 @@
enforce idle time which results in more package C-state residency. The
user interface is exposed via generic thermal framework.
@@ -34776,9 +34814,9 @@ diff -Nur linux-3.12.11.orig/drivers/thermal/Kconfig linux-3.12.11/drivers/therm
config X86_PKG_TEMP_THERMAL
tristate "X86 package temperature thermal driver"
depends on X86_THERMAL_VECTOR
-diff -Nur linux-3.12.11.orig/drivers/thermal/Makefile linux-3.12.11/drivers/thermal/Makefile
---- linux-3.12.11.orig/drivers/thermal/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/thermal/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/thermal/Makefile linux-raspberry-pi/drivers/thermal/Makefile
+--- linux-3.12.13/drivers/thermal/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/thermal/Makefile 2014-03-11 17:51:27.000000000 +0100
@@ -27,5 +27,6 @@
obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o
obj-$(CONFIG_DB8500_CPUFREQ_COOLING) += db8500_cpufreq_cooling.o
@@ -34786,9 +34824,9 @@ diff -Nur linux-3.12.11.orig/drivers/thermal/Makefile linux-3.12.11/drivers/ther
+obj-$(CONFIG_THERMAL_BCM2835) += bcm2835-thermal.o
obj-$(CONFIG_X86_PKG_TEMP_THERMAL) += x86_pkg_temp_thermal.o
obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/
-diff -Nur linux-3.12.11.orig/drivers/tty/serial/amba-pl011.c linux-3.12.11/drivers/tty/serial/amba-pl011.c
---- linux-3.12.11.orig/drivers/tty/serial/amba-pl011.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/tty/serial/amba-pl011.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/tty/serial/amba-pl011.c linux-raspberry-pi/drivers/tty/serial/amba-pl011.c
+--- linux-3.12.13/drivers/tty/serial/amba-pl011.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/tty/serial/amba-pl011.c 2014-03-11 17:51:27.000000000 +0100
@@ -84,7 +84,7 @@
static unsigned int get_fifosize_arm(struct amba_device *dev)
@@ -34798,9 +34836,9 @@ diff -Nur linux-3.12.11.orig/drivers/tty/serial/amba-pl011.c linux-3.12.11/drive
}
static struct vendor_data vendor_arm = {
-diff -Nur linux-3.12.11.orig/drivers/usb/core/generic.c linux-3.12.11/drivers/usb/core/generic.c
---- linux-3.12.11.orig/drivers/usb/core/generic.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/usb/core/generic.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/core/generic.c linux-raspberry-pi/drivers/usb/core/generic.c
+--- linux-3.12.13/drivers/usb/core/generic.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/core/generic.c 2014-03-11 17:33:06.000000000 +0100
@@ -152,6 +152,7 @@
dev_warn(&udev->dev,
"no configuration chosen from %d choice%s\n",
@@ -34809,9 +34847,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/core/generic.c linux-3.12.11/drivers/us
}
return i;
}
-diff -Nur linux-3.12.11.orig/drivers/usb/core/message.c linux-3.12.11/drivers/usb/core/message.c
---- linux-3.12.11.orig/drivers/usb/core/message.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/usb/core/message.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/core/message.c linux-raspberry-pi/drivers/usb/core/message.c
+--- linux-3.12.13/drivers/usb/core/message.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/core/message.c 2014-03-11 17:51:27.000000000 +0100
@@ -1885,6 +1885,85 @@
if (cp->string == NULL &&
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
@@ -34898,9 +34936,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/core/message.c linux-3.12.11/drivers/us
/* Now that the interfaces are installed, re-enable LPM. */
usb_unlocked_enable_lpm(dev);
-diff -Nur linux-3.12.11.orig/drivers/usb/core/otg_whitelist.h linux-3.12.11/drivers/usb/core/otg_whitelist.h
---- linux-3.12.11.orig/drivers/usb/core/otg_whitelist.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/usb/core/otg_whitelist.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/core/otg_whitelist.h linux-raspberry-pi/drivers/usb/core/otg_whitelist.h
+--- linux-3.12.13/drivers/usb/core/otg_whitelist.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/core/otg_whitelist.h 2014-03-11 17:51:27.000000000 +0100
@@ -19,33 +19,82 @@
static struct usb_device_id whitelist_table [] = {
@@ -35116,9 +35154,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/core/otg_whitelist.h linux-3.12.11/driv
#endif
}
-diff -Nur linux-3.12.11.orig/drivers/usb/gadget/file_storage.c linux-3.12.11/drivers/usb/gadget/file_storage.c
---- linux-3.12.11.orig/drivers/usb/gadget/file_storage.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/gadget/file_storage.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/gadget/file_storage.c linux-raspberry-pi/drivers/usb/gadget/file_storage.c
+--- linux-3.12.13/drivers/usb/gadget/file_storage.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/gadget/file_storage.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,3676 @@
+/*
+ * file_storage.c -- File-backed USB Storage Gadget, for USB development
@@ -38796,9 +38834,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/gadget/file_storage.c linux-3.12.11/dri
+ kref_put(&fsg->ref, fsg_release);
+}
+module_exit(fsg_cleanup);
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/changes.txt linux-3.12.11/drivers/usb/host/dwc_common_port/changes.txt
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/changes.txt 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/changes.txt 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/changes.txt linux-raspberry-pi/drivers/usb/host/dwc_common_port/changes.txt
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/changes.txt 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/changes.txt 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,174 @@
+
+dwc_read_reg32() and friends now take an additional parameter, a pointer to an
@@ -38974,9 +39012,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/changes.txt linux-
+A DWC_LIBMODULE #define has also been added. If this is not defined, then the
+module code in dwc_common_linux.c is not compiled in. This allows linking the
+library code directly into a driver module, instead of as a standalone module.
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/doc/doxygen.cfg linux-3.12.11/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/doc/doxygen.cfg 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/doc/doxygen.cfg 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/doc/doxygen.cfg linux-raspberry-pi/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/doc/doxygen.cfg 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/doc/doxygen.cfg 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,270 @@
+# Doxyfile 1.4.5
+
@@ -39248,9 +39286,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/doc/doxygen.cfg li
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_cc.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_cc.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_cc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_cc.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_cc.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_cc.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_cc.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_cc.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,532 @@
+/* =========================================================================
+ * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_cc.c $
@@ -39784,9 +39822,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_cc.c linux-3.1
+}
+
+#endif /* DWC_CCLIB */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_cc.h linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_cc.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_cc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_cc.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_cc.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_cc.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_cc.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_cc.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,224 @@
+/* =========================================================================
+ * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_cc.h $
@@ -40012,9 +40050,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_cc.h linux-3.1
+#endif
+
+#endif /* _DWC_CC_H_ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,1308 @@
+#include "dwc_os.h"
+#include "dwc_list.h"
@@ -41324,9 +41362,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
+{
+ return wq->pending;
+}
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_linux.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_common_linux.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_linux.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_common_linux.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_common_linux.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_common_linux.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_common_linux.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_common_linux.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,1431 @@
+#include <linux/kernel.h>
+#include <linux/init.h>
@@ -42759,9 +42797,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_linux.c
+MODULE_LICENSE ("GPL");
+
+#endif /* DWC_LIBMODULE */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,1275 @@
+#include "dwc_os.h"
+#include "dwc_list.h"
@@ -44038,9 +44076,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
+{
+ return wq->pending;
+}
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_crypto.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_crypto.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_crypto.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_crypto.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_crypto.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_crypto.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_crypto.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_crypto.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,308 @@
+/* =========================================================================
+ * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_crypto.c $
@@ -44350,9 +44388,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_crypto.c linux
+}
+
+#endif /* DWC_CRYPTOLIB */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_crypto.h linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_crypto.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_crypto.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_crypto.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_crypto.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_crypto.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_crypto.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_crypto.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,111 @@
+/* =========================================================================
+ * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_crypto.h $
@@ -44465,9 +44503,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_crypto.h linux
+#endif
+
+#endif /* _DWC_CRYPTO_H_ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_dh.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_dh.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_dh.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_dh.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_dh.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_dh.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_dh.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_dh.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,291 @@
+/* =========================================================================
+ * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_dh.c $
@@ -44760,9 +44798,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_dh.c linux-3.1
+#endif /* !CONFIG_MACH_IPMATE */
+
+#endif /* DWC_CRYPTOLIB */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_dh.h linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_dh.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_dh.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_dh.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_dh.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_dh.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_dh.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_dh.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,106 @@
+/* =========================================================================
+ * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_dh.h $
@@ -44870,9 +44908,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_dh.h linux-3.1
+#endif
+
+#endif /* _DWC_DH_H_ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_list.h linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_list.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_list.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_list.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_list.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_list.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_list.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_list.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,594 @@
+/* $OpenBSD: queue.h,v 1.26 2004/05/04 16:59:32 grange Exp $ */
+/* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */
@@ -45468,9 +45506,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_list.h linux-3
+#endif
+
+#endif /* _DWC_LIST_H_ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_mem.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_mem.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_mem.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_mem.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_mem.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_mem.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_mem.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_mem.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,245 @@
+/* Memory Debugging */
+#ifdef DWC_DEBUG_MEMORY
@@ -45717,9 +45755,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_mem.c linux-3.
+}
+
+#endif /* DWC_DEBUG_MEMORY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_modpow.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_modpow.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_modpow.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_modpow.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_modpow.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_modpow.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_modpow.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_modpow.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,636 @@
+/* Bignum routines adapted from PUTTY sources. PuTTY copyright notice follows.
+ *
@@ -46357,9 +46395,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_modpow.c linux
+#endif /* CONFIG_MACH_IPMATE */
+
+#endif /*DWC_CRYPTOLIB */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_modpow.h linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_modpow.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_modpow.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_modpow.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_modpow.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_modpow.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_modpow.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_modpow.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,34 @@
+/*
+ * dwc_modpow.h
@@ -46395,9 +46433,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_modpow.h linux
+#endif
+
+#endif /* _LINUX_BIGNUM_H */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_notifier.c linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_notifier.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_notifier.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_notifier.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_notifier.c linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_notifier.c
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_notifier.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_notifier.c 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,319 @@
+#ifdef DWC_NOTIFYLIB
+
@@ -46718,9 +46756,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_notifier.c lin
+}
+
+#endif /* DWC_NOTIFYLIB */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_notifier.h linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_notifier.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_notifier.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_notifier.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_notifier.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_notifier.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_notifier.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_notifier.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,122 @@
+
+#ifndef __DWC_NOTIFIER_H__
@@ -46844,9 +46882,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_notifier.h lin
+#endif
+
+#endif /* __DWC_NOTIFIER_H__ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_os.h linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_os.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_os.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/dwc_os.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_os.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_os.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/dwc_os.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/dwc_os.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1262 @@
+/* =========================================================================
+ * $File: //dwh/usb_iip/dev/software/dwc_common_port_2/dwc_os.h $
@@ -48110,9 +48148,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/dwc_os.h linux-3.1
+#endif
+
+#endif /* _DWC_OS_H_ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile linux-3.12.11/drivers/usb/host/dwc_common_port/Makefile
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/Makefile linux-raspberry-pi/drivers/usb/host/dwc_common_port/Makefile
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/Makefile 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,58 @@
+#
+# Makefile for DWC_common library
@@ -48172,9 +48210,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile linux-3.1
+
+clean:
+ rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile.fbsd linux-3.12.11/drivers/usb/host/dwc_common_port/Makefile.fbsd
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile.fbsd 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/Makefile.fbsd 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/Makefile.fbsd linux-raspberry-pi/drivers/usb/host/dwc_common_port/Makefile.fbsd
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/Makefile.fbsd 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/Makefile.fbsd 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,17 @@
+CFLAGS += -I/sys/i386/compile/GENERIC -I/sys/i386/include -I/usr/include
+CFLAGS += -DDWC_FREEBSD
@@ -48193,9 +48231,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile.fbsd linu
+ dwc_common_fbsd.c dwc_mem.c
+
+.include <bsd.kmod.mk>
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile.linux linux-3.12.11/drivers/usb/host/dwc_common_port/Makefile.linux
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile.linux 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/Makefile.linux 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/Makefile.linux linux-raspberry-pi/drivers/usb/host/dwc_common_port/Makefile.linux
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/Makefile.linux 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/Makefile.linux 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,49 @@
+#
+# Makefile for DWC_common library
@@ -48246,9 +48284,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/Makefile.linux lin
+
+clean:
+ rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/usb.h linux-3.12.11/drivers/usb/host/dwc_common_port/usb.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_common_port/usb.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_common_port/usb.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_common_port/usb.h linux-raspberry-pi/drivers/usb/host/dwc_common_port/usb.h
+--- linux-3.12.13/drivers/usb/host/dwc_common_port/usb.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_common_port/usb.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,946 @@
+/*
+ * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -49196,9 +49234,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_common_port/usb.h linux-3.12.1
+#endif
+
+#endif /* _USB_H_ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/doc/doxygen.cfg linux-3.12.11/drivers/usb/host/dwc_otg/doc/doxygen.cfg
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/doc/doxygen.cfg 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/doc/doxygen.cfg 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/doc/doxygen.cfg linux-raspberry-pi/drivers/usb/host/dwc_otg/doc/doxygen.cfg
+--- linux-3.12.13/drivers/usb/host/dwc_otg/doc/doxygen.cfg 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/doc/doxygen.cfg 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,224 @@
+# Doxyfile 1.3.9.1
+
@@ -49424,9 +49462,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/doc/doxygen.cfg linux-3.12
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dummy_audio.c linux-3.12.11/drivers/usb/host/dwc_otg/dummy_audio.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dummy_audio.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dummy_audio.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dummy_audio.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dummy_audio.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dummy_audio.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dummy_audio.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1575 @@
+/*
+ * zero.c -- Gadget Zero, for USB development
@@ -51003,9 +51041,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dummy_audio.c linux-3.12.1
+ remove_proc_entry("isoc_test", NULL);
+}
+module_exit (cleanup);
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_cfi_common.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_cfi_common.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_cfi_common.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_cfi_common.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_cfi_common.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_cfi_common.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_cfi_common.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_cfi_common.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,142 @@
+/* ==========================================================================
+ * Synopsys HS OTG Linux Software Driver and documentation (hereinafter,
@@ -51149,9 +51187,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_cfi_common.h linux-3.1
+typedef struct cfi_string cfi_string_t;
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_adp.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_adp.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_adp.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_adp.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_adp.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_adp.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_adp.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_adp.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,854 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_adp.c $
@@ -52007,9 +52045,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_adp.c linux-3.12.1
+#endif
+ return 1;
+}
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_adp.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_adp.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_adp.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_adp.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_adp.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_adp.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_adp.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_adp.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,80 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_adp.h $
@@ -52091,9 +52129,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_adp.h linux-3.12.1
+extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if);
+
+#endif //__DWC_OTG_ADP_H__
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_attr.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_attr.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_attr.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_attr.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_attr.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_attr.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_attr.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_attr.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1210 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_attr.c $
@@ -53305,9 +53343,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_attr.c linux-3.12.
+ device_remove_file(&dev->dev, &dev_attr_sleep_status);
+#endif
+}
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_attr.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_attr.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_attr.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_attr.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_attr.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_attr.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_attr.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_attr.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,89 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_attr.h $
@@ -53398,9 +53436,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_attr.h linux-3.12.
+#endif
+ );
+#endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cfi.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cfi.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cfi.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cfi.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cfi.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cfi.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1876 @@
+/* ==========================================================================
+ * Synopsys HS OTG Linux Software Driver and documentation (hereinafter,
@@ -55278,9 +55316,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cfi.c linux-3.12.1
+}
+
+#endif //DWC_UTE_CFI
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cfi.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cfi.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cfi.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cfi.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cfi.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cfi.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,320 @@
+/* ==========================================================================
+ * Synopsys HS OTG Linux Software Driver and documentation (hereinafter,
@@ -55602,9 +55640,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cfi.h linux-3.12.1
+int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl);
+
+#endif /* (__DWC_OTG_CFI_H__) */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cil.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cil.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cil.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cil.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cil.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cil.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,7151 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_cil.c $
@@ -62757,9 +62795,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil.c linux-3.12.1
+ dwc_otg_pcd_start_srp_timer(core_if);
+ return;
+}
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cil.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cil.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cil.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cil.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cil.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cil.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1464 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_cil.h $
@@ -64225,9 +64263,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil.h linux-3.12.1
+//////////////////////////////////////////////////////////////////////
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1588 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_cil_intr.c $
@@ -65817,9 +65855,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c linux-3
+
+ return retval;
+}
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_core_if.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_core_if.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_core_if.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_core_if.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_core_if.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_core_if.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,705 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_core_if.h $
@@ -66526,9 +66564,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_core_if.h linux-3.
+/** @} */
+
+#endif /* __DWC_CORE_IF_H__ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_dbg.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_dbg.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_dbg.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_dbg.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_dbg.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_dbg.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,117 @@
+/* ==========================================================================
+ *
@@ -66647,9 +66685,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_dbg.h linux-3.12.1
+
+#endif /*DEBUG*/
+#endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_driver.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_driver.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_driver.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_driver.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_driver.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_driver.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_driver.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_driver.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1742 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_driver.c $
@@ -68393,9 +68431,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_driver.c linux-3.1
+ </td></tr>
+
+*/
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_driver.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_driver.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_driver.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_driver.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_driver.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_driver.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_driver.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_driver.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,86 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_driver.h $
@@ -68483,9 +68521,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_driver.h linux-3.1
+#endif
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,3685 @@
+
+/* ==========================================================================
@@ -72172,9 +72210,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd.c linux-3.12.1
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1132 @@
+/*==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_ddma.c $
@@ -73308,9 +73346,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c linux-3
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,851 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd.h $
@@ -74163,9 +74201,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd.h linux-3.12.1
+#endif
+#endif
+#endif /* DWC_DEVICE_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,417 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_if.h $
@@ -74584,9 +74622,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h linux-3.1
+
+#endif /* __DWC_HCD_IF_H__ */
+#endif /* DWC_DEVICE_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,2741 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_intr.c $
@@ -77329,9 +77367,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c linux-3
+ return retval;
+}
+#endif /* DWC_DEVICE_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,972 @@
+
+/* ==========================================================================
@@ -78305,9 +78343,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c linux-
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,959 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_queue.c $
@@ -79268,9 +79306,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c linux-
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,113 @@
+#include "dwc_otg_regs.h"
+#include "dwc_otg_dbg.h"
@@ -79385,9 +79423,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c linux-3
+
+ return;
+}
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,48 @@
+#ifndef __DWC_OTG_MPHI_FIX_H__
+#define __DWC_OTG_MPHI_FIX_H__
@@ -79437,9 +79475,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h linux-3
+extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable;
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,188 @@
+#ifndef _DWC_OS_DEP_H_
+#define _DWC_OS_DEP_H_
@@ -79629,9 +79667,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h linux-3.1
+
+
+#endif /* _DWC_OS_DEP_H_ */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,2708 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd.c $
@@ -82341,9 +82379,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd.c linux-3.12.1
+}
+
+#endif /* DWC_HOST_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,266 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd.h $
@@ -82611,9 +82649,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd.h linux-3.12.1
+extern void do_test_mode(void *data);
+#endif
+#endif /* DWC_HOST_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,360 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd_if.h $
@@ -82975,9 +83013,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h linux-3.1
+#endif /* __DWC_PCD_IF_H__ */
+
+#endif /* DWC_HOST_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,5147 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd_intr.c $
@@ -88126,9 +88164,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c linux-3
+}
+
+#endif /* DWC_HOST_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,1358 @@
+ /* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_pcd_linux.c $
@@ -89488,9 +89526,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c linux-
+EXPORT_SYMBOL(usb_gadget_unregister_driver);
+
+#endif /* DWC_HOST_ONLY */
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_regs.h linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_regs.h
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_regs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/dwc_otg_regs.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_regs.h linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_regs.h
+--- linux-3.12.13/drivers/usb/host/dwc_otg/dwc_otg_regs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/dwc_otg_regs.h 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,2550 @@
+/* ==========================================================================
+ * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_regs.h $
@@ -92042,9 +92080,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/dwc_otg_regs.h linux-3.12.
+} gpwrdn_data_t;
+
+#endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/Makefile linux-3.12.11/drivers/usb/host/dwc_otg/Makefile
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/Makefile linux-raspberry-pi/drivers/usb/host/dwc_otg/Makefile
+--- linux-3.12.13/drivers/usb/host/dwc_otg/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/Makefile 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,81 @@
+#
+# Makefile for DWC_otg Highspeed USB controller driver
@@ -92127,9 +92165,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/Makefile linux-3.12.11/dri
+ rm -rf *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers
+
+endif
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm linux-3.12.11/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm linux-raspberry-pi/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
+--- linux-3.12.13/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,337 @@
+package dwc_otg_test;
+
@@ -92468,9 +92506,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm linux
+);
+
+1;
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/Makefile linux-3.12.11/drivers/usb/host/dwc_otg/test/Makefile
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/test/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/test/Makefile linux-raspberry-pi/drivers/usb/host/dwc_otg/test/Makefile
+--- linux-3.12.13/drivers/usb/host/dwc_otg/test/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/test/Makefile 2014-03-11 17:33:06.000000000 +0100
@@ -0,0 +1,16 @@
+
+PERL=/usr/bin/perl
@@ -92488,9 +92526,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/Makefile linux-3.12.1
+ else echo "=======> $$test, FAILED" ; \
+ fi \
+ done
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/test_mod_param.pl linux-3.12.11/drivers/usb/host/dwc_otg/test/test_mod_param.pl
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/test_mod_param.pl 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/test/test_mod_param.pl 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/test/test_mod_param.pl linux-raspberry-pi/drivers/usb/host/dwc_otg/test/test_mod_param.pl
+--- linux-3.12.13/drivers/usb/host/dwc_otg/test/test_mod_param.pl 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/test/test_mod_param.pl 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,133 @@
+#!/usr/bin/perl -w
+#
@@ -92625,9 +92663,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/test_mod_param.pl lin
+
+test_main();
+0;
-diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/test_sysfs.pl linux-3.12.11/drivers/usb/host/dwc_otg/test/test_sysfs.pl
---- linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/test_sysfs.pl 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/dwc_otg/test/test_sysfs.pl 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/dwc_otg/test/test_sysfs.pl linux-raspberry-pi/drivers/usb/host/dwc_otg/test/test_sysfs.pl
+--- linux-3.12.13/drivers/usb/host/dwc_otg/test/test_sysfs.pl 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/dwc_otg/test/test_sysfs.pl 2014-03-11 17:51:27.000000000 +0100
@@ -0,0 +1,193 @@
+#!/usr/bin/perl -w
+#
@@ -92822,9 +92860,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/dwc_otg/test/test_sysfs.pl linux-3
+
+test_main();
+0;
-diff -Nur linux-3.12.11.orig/drivers/usb/host/Kconfig linux-3.12.11/drivers/usb/host/Kconfig
---- linux-3.12.11.orig/drivers/usb/host/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/Kconfig linux-raspberry-pi/drivers/usb/host/Kconfig
+--- linux-3.12.13/drivers/usb/host/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/Kconfig 2014-03-11 17:51:27.000000000 +0100
@@ -650,6 +650,19 @@
To compile this driver a module, choose M here: the module
will be called "hwa-hc".
@@ -92845,9 +92883,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/Kconfig linux-3.12.11/drivers/usb/
config USB_IMX21_HCD
tristate "i.MX21 HCD support"
depends on ARM && ARCH_MXC
-diff -Nur linux-3.12.11.orig/drivers/usb/host/Makefile linux-3.12.11/drivers/usb/host/Makefile
---- linux-3.12.11.orig/drivers/usb/host/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/usb/host/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/host/Makefile linux-raspberry-pi/drivers/usb/host/Makefile
+--- linux-3.12.13/drivers/usb/host/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/host/Makefile 2014-03-11 17:51:27.000000000 +0100
@@ -56,6 +56,8 @@
obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o
obj-$(CONFIG_USB_ISP1760_HCD) += isp1760.o
@@ -92857,9 +92895,9 @@ diff -Nur linux-3.12.11.orig/drivers/usb/host/Makefile linux-3.12.11/drivers/usb
obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o
obj-$(CONFIG_USB_FSL_MPH_DR_OF) += fsl-mph-dr-of.o
obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o
-diff -Nur linux-3.12.11.orig/drivers/usb/Makefile linux-3.12.11/drivers/usb/Makefile
---- linux-3.12.11.orig/drivers/usb/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/usb/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/usb/Makefile linux-raspberry-pi/drivers/usb/Makefile
+--- linux-3.12.13/drivers/usb/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/usb/Makefile 2014-03-11 17:51:27.000000000 +0100
@@ -23,6 +23,7 @@
obj-$(CONFIG_USB_R8A66597_HCD) += host/
obj-$(CONFIG_USB_HWA_HCD) += host/
@@ -92868,10 +92906,10 @@ diff -Nur linux-3.12.11.orig/drivers/usb/Makefile linux-3.12.11/drivers/usb/Make
obj-$(CONFIG_USB_IMX21_HCD) += host/
obj-$(CONFIG_USB_FSL_MPH_DR_OF) += host/
obj-$(CONFIG_USB_FUSBH200_HCD) += host/
-diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/video/bcm2708_fb.c
---- linux-3.12.11.orig/drivers/video/bcm2708_fb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/video/bcm2708_fb.c 2014-02-18 11:52:14.000000000 +0100
-@@ -0,0 +1,647 @@
+diff -Nur linux-3.12.13/drivers/video/bcm2708_fb.c linux-raspberry-pi/drivers/video/bcm2708_fb.c
+--- linux-3.12.13/drivers/video/bcm2708_fb.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/video/bcm2708_fb.c 2014-03-11 17:51:27.000000000 +0100
+@@ -0,0 +1,765 @@
+/*
+ * linux/drivers/video/bcm2708_fb.c
+ *
@@ -92895,12 +92933,14 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+#include <linux/mm.h>
+#include <linux/fb.h>
+#include <linux/init.h>
++#include <linux/interrupt.h>
+#include <linux/ioport.h>
+#include <linux/list.h>
+#include <linux/platform_device.h>
+#include <linux/clk.h>
+#include <linux/printk.h>
+#include <linux/console.h>
++#include <linux/debugfs.h>
+
+#include <mach/dma.h>
+#include <mach/platform.h>
@@ -92921,6 +92961,15 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+
+#define DRIVER_NAME "bcm2708_fb"
+
++static int fbwidth = 800; /* module parameter */
++static int fbheight = 480; /* module parameter */
++static int fbdepth = 16; /* module parameter */
++static int fbswap = 0; /* module parameter */
++
++static u32 dma_busy_wait_threshold = 1<<15;
++module_param(dma_busy_wait_threshold, int, 0644);
++MODULE_PARM_DESC(dma_busy_wait_threshold, "Busy-wait for DMA completion below this area");
++
+/* this data structure describes each frame buffer device we find */
+
+struct fbinfo_s {
@@ -92932,6 +92981,12 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ u16 cmap[256];
+};
+
++struct bcm2708_fb_stats {
++ struct debugfs_regset32 regset;
++ u32 dma_copies;
++ u32 dma_irqs;
++};
++
+struct bcm2708_fb {
+ struct fb_info fb;
+ struct platform_device *dev;
@@ -92943,10 +92998,56 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ void __iomem *dma_chan_base;
+ void *cb_base; /* DMA control blocks */
+ dma_addr_t cb_handle;
++ struct dentry *debugfs_dir;
++ wait_queue_head_t dma_waitq;
++ struct bcm2708_fb_stats stats;
+};
+
+#define to_bcm2708(info) container_of(info, struct bcm2708_fb, fb)
+
++static void bcm2708_fb_debugfs_deinit(struct bcm2708_fb *fb)
++{
++ debugfs_remove_recursive(fb->debugfs_dir);
++ fb->debugfs_dir = NULL;
++}
++
++static int bcm2708_fb_debugfs_init(struct bcm2708_fb *fb)
++{
++ static struct debugfs_reg32 stats_registers[] = {
++ {
++ "dma_copies",
++ offsetof(struct bcm2708_fb_stats, dma_copies)
++ },
++ {
++ "dma_irqs",
++ offsetof(struct bcm2708_fb_stats, dma_irqs)
++ },
++ };
++
++ fb->debugfs_dir = debugfs_create_dir(DRIVER_NAME, NULL);
++ if (!fb->debugfs_dir) {
++ pr_warn("%s: could not create debugfs entry\n",
++ __func__);
++ return -EFAULT;
++ }
++
++ fb->stats.regset.regs = stats_registers;
++ fb->stats.regset.nregs = ARRAY_SIZE(stats_registers);
++ fb->stats.regset.base = &fb->stats;
++
++ if (!debugfs_create_regset32(
++ "stats", 0444, fb->debugfs_dir, &fb->stats.regset)) {
++ pr_warn("%s: could not create statistics registers\n",
++ __func__);
++ goto fail;
++ }
++ return 0;
++
++fail:
++ bcm2708_fb_debugfs_deinit(fb);
++ return -EFAULT;
++}
++
+static int bcm2708_fb_set_bitfields(struct fb_var_screeninfo *var)
+{
+ int ret = 0;
@@ -93000,7 +93101,12 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ * encoded in the pixel data. Calculate their position from
+ * the bitfield length defined above.
+ */
-+ if (ret == 0 && var->bits_per_pixel >= 24) {
++ if (ret == 0 && var->bits_per_pixel >= 24 && fbswap) {
++ var->blue.offset = 0;
++ var->green.offset = var->blue.offset + var->blue.length;
++ var->red.offset = var->green.offset + var->green.length;
++ var->transp.offset = var->red.offset + var->red.length;
++ } else if (ret == 0 && var->bits_per_pixel >= 24) {
+ var->red.offset = 0;
+ var->green.offset = var->red.offset + var->red.length;
+ var->blue.offset = var->green.offset + var->green.length;
@@ -93070,8 +93176,8 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ else if (var->vmode & FB_VMODE_INTERLACED)
+ yres = (yres + 1) / 2;
+
-+ if (yres > 1200) {
-+ pr_err("bcm2708_fb_check_var: ERROR: VerticalTotal >= 1200; "
++ if (var->xres * yres > 1920 * 1200) {
++ pr_err("bcm2708_fb_check_var: ERROR: Pixel size >= 1920x1200; "
+ "special treatment required! (TODO)\n");
+ return -EINVAL;
+ }
@@ -93226,10 +93332,11 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ int bytes_per_pixel = (info->var.bits_per_pixel + 7) >> 3;
+ /* Channel 0 supports larger bursts and is a bit faster */
+ int burst_size = (fb->dma_chan == 0) ? 8 : 2;
++ int pixels = region->width * region->height;
+
+ /* Fallback to cfb_copyarea() if we don't like something */
+ if (bytes_per_pixel > 4 ||
-+ info->var.xres > 1920 || info->var.yres > 1200 ||
++ info->var.xres * info->var.yres > 1920 * 1200 ||
+ region->width <= 0 || region->width > info->var.xres ||
+ region->height <= 0 || region->height > info->var.yres ||
+ region->sx < 0 || region->sx >= info->var.xres ||
@@ -93317,8 +93424,22 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ /* end of dma control blocks chain */
+ cb->next = 0;
+
-+ bcm_dma_start(fb->dma_chan_base, fb->cb_handle);
-+ bcm_dma_wait_idle(fb->dma_chan_base);
++
++ if (pixels < dma_busy_wait_threshold) {
++ bcm_dma_start(fb->dma_chan_base, fb->cb_handle);
++ bcm_dma_wait_idle(fb->dma_chan_base);
++ } else {
++ void __iomem *dma_chan = fb->dma_chan_base;
++ cb->info |= BCM2708_DMA_INT_EN;
++ bcm_dma_start(fb->dma_chan_base, fb->cb_handle);
++ while (bcm_dma_is_busy(dma_chan)) {
++ wait_event_interruptible(
++ fb->dma_waitq,
++ !bcm_dma_is_busy(dma_chan));
++ }
++ fb->stats.dma_irqs++;
++ }
++ fb->stats.dma_copies++;
+}
+
+static void bcm2708_fb_imageblit(struct fb_info *info,
@@ -93328,6 +93449,24 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ cfb_imageblit(info, image);
+}
+
++static irqreturn_t bcm2708_fb_dma_irq(int irq, void *cxt)
++{
++ struct bcm2708_fb *fb = cxt;
++
++ /* FIXME: should read status register to check if this is
++ * actually interrupting us or not, in case this interrupt
++ * ever becomes shared amongst several DMA channels
++ *
++ * readl(dma_chan_base + BCM2708_DMA_CS) & BCM2708_DMA_IRQ;
++ */
++
++ /* acknowledge the interrupt */
++ writel(BCM2708_DMA_INT, fb->dma_chan_base + BCM2708_DMA_CS);
++
++ wake_up(&fb->dma_waitq);
++ return IRQ_HANDLED;
++}
++
+static struct fb_ops bcm2708_fb_ops = {
+ .owner = THIS_MODULE,
+ .fb_check_var = bcm2708_fb_check_var,
@@ -93339,10 +93478,6 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ .fb_imageblit = bcm2708_fb_imageblit,
+};
+
-+static int fbwidth = 800; /* module parameter */
-+static int fbheight = 480; /* module parameter */
-+static int fbdepth = 16; /* module parameter */
-+
+static int bcm2708_fb_register(struct bcm2708_fb *fb)
+{
+ int ret;
@@ -93392,6 +93527,7 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ fb->fb.monspecs.dclkmax = 100000000;
+
+ bcm2708_fb_set_bitfields(&fb->fb.var);
++ init_waitqueue_head(&fb->dma_waitq);
+
+ /*
+ * Allocate colourmap.
@@ -93399,8 +93535,8 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+
+ fb_set_var(&fb->fb, &fb->fb.var);
+
-+ print_debug("BCM2708FB: registering framebuffer (%dx%d@%d)\n", fbwidth,
-+ fbheight, fbdepth);
++ print_debug("BCM2708FB: registering framebuffer (%dx%d@%d) (%d)\n", fbwidth
++ fbheight, fbdepth, fbswap);
+
+ ret = register_framebuffer(&fb->fb);
+ print_debug("BCM2708FB: register framebuffer (%d)\n", ret);
@@ -93417,14 +93553,18 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ struct bcm2708_fb *fb;
+ int ret;
+
-+ fb = kmalloc(sizeof(struct bcm2708_fb), GFP_KERNEL);
++ fb = kzalloc(sizeof(struct bcm2708_fb), GFP_KERNEL);
+ if (!fb) {
+ dev_err(&dev->dev,
+ "could not allocate new bcm2708_fb struct\n");
+ ret = -ENOMEM;
+ goto free_region;
+ }
-+ memset(fb, 0, sizeof(struct bcm2708_fb));
++
++ bcm2708_fb_debugfs_init(fb);
++
++
++ bcm2708_fb_debugfs_init(fb);
+
+ fb->cb_base = dma_alloc_writecombine(&dev->dev, SZ_64K,
+ &fb->cb_handle, GFP_KERNEL);
@@ -93445,6 +93585,14 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ }
+ fb->dma_chan = ret;
+
++ ret = request_irq(fb->dma_irq, bcm2708_fb_dma_irq,
++ 0, "bcm2708_fb dma", fb);
++ if (ret) {
++ pr_err("%s: failed to request DMA irq\n", __func__);
++ goto free_dma_chan;
++ }
++
++
+ pr_info("BCM2708FB: allocated DMA channel %d @ %p\n",
+ fb->dma_chan, fb->dma_chan_base);
+
@@ -93456,6 +93604,8 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+ goto out;
+ }
+
++free_dma_chan:
++ bcm_dma_chan_free(fb->dma_chan);
+free_cb:
+ dma_free_writecombine(&dev->dev, SZ_64K, fb->cb_base, fb->cb_handle);
+free_fb:
@@ -93481,6 +93631,10 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+
+ dma_free_coherent(NULL, PAGE_ALIGN(sizeof(*fb->info)), (void *)fb->info,
+ fb->dma);
++ bcm2708_fb_debugfs_deinit(fb);
++
++ free_irq(fb->dma_irq, fb);
++
+ kfree(fb);
+
+ return 0;
@@ -93512,6 +93666,7 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+module_param(fbwidth, int, 0644);
+module_param(fbheight, int, 0644);
+module_param(fbdepth, int, 0644);
++module_param(fbswap, int, 0644);
+
+MODULE_DESCRIPTION("BCM2708 framebuffer driver");
+MODULE_LICENSE("GPL");
@@ -93519,9 +93674,10 @@ diff -Nur linux-3.12.11.orig/drivers/video/bcm2708_fb.c linux-3.12.11/drivers/vi
+MODULE_PARM_DESC(fbwidth, "Width of ARM Framebuffer");
+MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer");
+MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer");
-diff -Nur linux-3.12.11.orig/drivers/video/cfbimgblt.c linux-3.12.11/drivers/video/cfbimgblt.c
---- linux-3.12.11.orig/drivers/video/cfbimgblt.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/video/cfbimgblt.c 2014-02-18 11:52:14.000000000 +0100
++MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes");
+diff -Nur linux-3.12.13/drivers/video/cfbimgblt.c linux-raspberry-pi/drivers/video/cfbimgblt.c
+--- linux-3.12.13/drivers/video/cfbimgblt.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/video/cfbimgblt.c 2014-03-11 17:33:07.000000000 +0100
@@ -28,6 +28,11 @@
*
* Also need to add code to deal with cards endians that are different than
@@ -93695,9 +93851,9 @@ diff -Nur linux-3.12.11.orig/drivers/video/cfbimgblt.c linux-3.12.11/drivers/vid
slow_imageblit(image, p, dst1, fgcolor, bgcolor,
start_index, pitch_index);
} else
-diff -Nur linux-3.12.11.orig/drivers/video/fbmem.c linux-3.12.11/drivers/video/fbmem.c
---- linux-3.12.11.orig/drivers/video/fbmem.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/video/fbmem.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/video/fbmem.c linux-raspberry-pi/drivers/video/fbmem.c
+--- linux-3.12.13/drivers/video/fbmem.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/video/fbmem.c 2014-03-11 17:51:27.000000000 +0100
@@ -1083,6 +1083,25 @@
}
EXPORT_SYMBOL(fb_blank);
@@ -93756,9 +93912,9 @@ diff -Nur linux-3.12.11.orig/drivers/video/fbmem.c linux-3.12.11/drivers/video/f
arg = (unsigned long) compat_ptr(arg);
case FBIOBLANK:
ret = do_fb_ioctl(info, cmd, arg);
-diff -Nur linux-3.12.11.orig/drivers/video/Kconfig linux-3.12.11/drivers/video/Kconfig
---- linux-3.12.11.orig/drivers/video/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/video/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/video/Kconfig linux-raspberry-pi/drivers/video/Kconfig
+--- linux-3.12.13/drivers/video/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/video/Kconfig 2014-03-11 17:51:27.000000000 +0100
@@ -310,6 +310,20 @@
help
Support the Permedia2 FIFO disconnect feature.
@@ -93780,9 +93936,9 @@ diff -Nur linux-3.12.11.orig/drivers/video/Kconfig linux-3.12.11/drivers/video/K
config FB_ARMCLCD
tristate "ARM PrimeCell PL110 support"
depends on FB && ARM && ARM_AMBA
-diff -Nur linux-3.12.11.orig/drivers/video/logo/logo_linux_clut224.ppm linux-3.12.11/drivers/video/logo/logo_linux_clut224.ppm
---- linux-3.12.11.orig/drivers/video/logo/logo_linux_clut224.ppm 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/video/logo/logo_linux_clut224.ppm 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/video/logo/logo_linux_clut224.ppm linux-raspberry-pi/drivers/video/logo/logo_linux_clut224.ppm
+--- linux-3.12.13/drivers/video/logo/logo_linux_clut224.ppm 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/video/logo/logo_linux_clut224.ppm 2014-03-11 17:33:08.000000000 +0100
@@ -1,1604 +1,883 @@
P3
-# Standard 224-color Linux logo
@@ -96269,9 +96425,9 @@ diff -Nur linux-3.12.11.orig/drivers/video/logo/logo_linux_clut224.ppm linux-3.1
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0
-diff -Nur linux-3.12.11.orig/drivers/video/Makefile linux-3.12.11/drivers/video/Makefile
---- linux-3.12.11.orig/drivers/video/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/video/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/video/Makefile linux-raspberry-pi/drivers/video/Makefile
+--- linux-3.12.13/drivers/video/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/video/Makefile 2014-03-11 17:33:07.000000000 +0100
@@ -100,6 +100,7 @@
obj-$(CONFIG_FB_VOODOO1) += sstfb.o
obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o
@@ -96280,9 +96436,9 @@ diff -Nur linux-3.12.11.orig/drivers/video/Makefile linux-3.12.11/drivers/video/
obj-$(CONFIG_FB_68328) += 68328fb.o
obj-$(CONFIG_FB_GBE) += gbefb.o
obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o
-diff -Nur linux-3.12.11.orig/drivers/w1/masters/w1-gpio.c linux-3.12.11/drivers/w1/masters/w1-gpio.c
---- linux-3.12.11.orig/drivers/w1/masters/w1-gpio.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/w1/masters/w1-gpio.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/w1/masters/w1-gpio.c linux-raspberry-pi/drivers/w1/masters/w1-gpio.c
+--- linux-3.12.13/drivers/w1/masters/w1-gpio.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/w1/masters/w1-gpio.c 2014-03-11 17:51:32.000000000 +0100
@@ -22,6 +22,9 @@
#include "../w1.h"
#include "../w1_int.h"
@@ -96324,9 +96480,9 @@ diff -Nur linux-3.12.11.orig/drivers/w1/masters/w1-gpio.c linux-3.12.11/drivers/
err = w1_add_master_device(master);
if (err) {
dev_err(&pdev->dev, "w1_add_master device failed\n");
-diff -Nur linux-3.12.11.orig/drivers/w1/w1.h linux-3.12.11/drivers/w1/w1.h
---- linux-3.12.11.orig/drivers/w1/w1.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/w1/w1.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/w1/w1.h linux-raspberry-pi/drivers/w1/w1.h
+--- linux-3.12.13/drivers/w1/w1.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/w1/w1.h 2014-03-11 17:33:12.000000000 +0100
@@ -148,6 +148,12 @@
*/
u8 (*set_pullup)(void *, int);
@@ -96340,9 +96496,9 @@ diff -Nur linux-3.12.11.orig/drivers/w1/w1.h linux-3.12.11/drivers/w1/w1.h
/** Really nice hardware can handles the different types of ROM search
* w1_master* is passed to the slave found callback.
*/
-diff -Nur linux-3.12.11.orig/drivers/w1/w1_int.c linux-3.12.11/drivers/w1/w1_int.c
---- linux-3.12.11.orig/drivers/w1/w1_int.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/w1/w1_int.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/w1/w1_int.c linux-raspberry-pi/drivers/w1/w1_int.c
+--- linux-3.12.13/drivers/w1/w1_int.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/w1/w1_int.c 2014-03-11 17:33:12.000000000 +0100
@@ -117,19 +117,21 @@
printk(KERN_ERR "w1_add_master_device: invalid function set\n");
return(-EINVAL);
@@ -96372,9 +96528,9 @@ diff -Nur linux-3.12.11.orig/drivers/w1/w1_int.c linux-3.12.11/drivers/w1/w1_int
/* Lock until the device is added (or not) to w1_masters. */
mutex_lock(&w1_mlock);
/* Search for the first available id (starting at 1). */
-diff -Nur linux-3.12.11.orig/drivers/w1/w1_io.c linux-3.12.11/drivers/w1/w1_io.c
---- linux-3.12.11.orig/drivers/w1/w1_io.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/w1/w1_io.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/w1/w1_io.c linux-raspberry-pi/drivers/w1/w1_io.c
+--- linux-3.12.13/drivers/w1/w1_io.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/w1/w1_io.c 2014-03-11 17:33:12.000000000 +0100
@@ -127,10 +127,22 @@
static void w1_post_write(struct w1_master *dev)
{
@@ -96401,9 +96557,9 @@ diff -Nur linux-3.12.11.orig/drivers/w1/w1_io.c linux-3.12.11/drivers/w1/w1_io.c
dev->pullup_duration = 0;
}
}
-diff -Nur linux-3.12.11.orig/drivers/watchdog/bcm2708_wdog.c linux-3.12.11/drivers/watchdog/bcm2708_wdog.c
---- linux-3.12.11.orig/drivers/watchdog/bcm2708_wdog.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/drivers/watchdog/bcm2708_wdog.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/watchdog/bcm2708_wdog.c linux-raspberry-pi/drivers/watchdog/bcm2708_wdog.c
+--- linux-3.12.13/drivers/watchdog/bcm2708_wdog.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/drivers/watchdog/bcm2708_wdog.c 2014-03-11 17:51:32.000000000 +0100
@@ -0,0 +1,384 @@
+/*
+ * Broadcom BCM2708 watchdog driver.
@@ -96789,9 +96945,9 @@ diff -Nur linux-3.12.11.orig/drivers/watchdog/bcm2708_wdog.c linux-3.12.11/drive
+MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
+MODULE_ALIAS_MISCDEV(TEMP_MINOR);
+MODULE_LICENSE("GPL");
-diff -Nur linux-3.12.11.orig/drivers/watchdog/Kconfig linux-3.12.11/drivers/watchdog/Kconfig
---- linux-3.12.11.orig/drivers/watchdog/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/watchdog/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/watchdog/Kconfig linux-raspberry-pi/drivers/watchdog/Kconfig
+--- linux-3.12.13/drivers/watchdog/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/watchdog/Kconfig 2014-03-11 17:51:32.000000000 +0100
@@ -392,6 +392,12 @@
To compile this driver as a module, choose M here: the
module will be called retu_wdt.
@@ -96805,9 +96961,9 @@ diff -Nur linux-3.12.11.orig/drivers/watchdog/Kconfig linux-3.12.11/drivers/watc
# AVR32 Architecture
config AT32AP700X_WDT
-diff -Nur linux-3.12.11.orig/drivers/watchdog/Makefile linux-3.12.11/drivers/watchdog/Makefile
---- linux-3.12.11.orig/drivers/watchdog/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/drivers/watchdog/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/drivers/watchdog/Makefile linux-raspberry-pi/drivers/watchdog/Makefile
+--- linux-3.12.13/drivers/watchdog/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/drivers/watchdog/Makefile 2014-03-11 17:51:32.000000000 +0100
@@ -54,6 +54,7 @@
obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o
obj-$(CONFIG_UX500_WATCHDOG) += ux500_wdt.o
@@ -96816,9 +96972,9 @@ diff -Nur linux-3.12.11.orig/drivers/watchdog/Makefile linux-3.12.11/drivers/wat
obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o
# AVR32 Architecture
-diff -Nur linux-3.12.11.orig/include/linux/broadcom/vc_cma.h linux-3.12.11/include/linux/broadcom/vc_cma.h
---- linux-3.12.11.orig/include/linux/broadcom/vc_cma.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/include/linux/broadcom/vc_cma.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/include/linux/broadcom/vc_cma.h linux-raspberry-pi/include/linux/broadcom/vc_cma.h
+--- linux-3.12.13/include/linux/broadcom/vc_cma.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/include/linux/broadcom/vc_cma.h 2014-03-11 17:51:38.000000000 +0100
@@ -0,0 +1,29 @@
+/*****************************************************************************
+* Copyright 2012 Broadcom Corporation. All rights reserved.
@@ -96849,9 +97005,9 @@ diff -Nur linux-3.12.11.orig/include/linux/broadcom/vc_cma.h linux-3.12.11/inclu
+#endif
+
+#endif /* VC_CMA_H */
-diff -Nur linux-3.12.11.orig/include/linux/mmc/host.h linux-3.12.11/include/linux/mmc/host.h
---- linux-3.12.11.orig/include/linux/mmc/host.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/include/linux/mmc/host.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/include/linux/mmc/host.h linux-raspberry-pi/include/linux/mmc/host.h
+--- linux-3.12.13/include/linux/mmc/host.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/include/linux/mmc/host.h 2014-03-11 17:51:40.000000000 +0100
@@ -281,6 +281,7 @@
MMC_CAP2_PACKED_WR)
#define MMC_CAP2_NO_PRESCAN_POWERUP (1 << 14) /* Don't power up before scan */
@@ -96860,9 +97016,9 @@ diff -Nur linux-3.12.11.orig/include/linux/mmc/host.h linux-3.12.11/include/linu
mmc_pm_flag_t pm_caps; /* supported pm features */
-diff -Nur linux-3.12.11.orig/include/linux/mmc/sdhci.h linux-3.12.11/include/linux/mmc/sdhci.h
---- linux-3.12.11.orig/include/linux/mmc/sdhci.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/include/linux/mmc/sdhci.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/include/linux/mmc/sdhci.h linux-raspberry-pi/include/linux/mmc/sdhci.h
+--- linux-3.12.13/include/linux/mmc/sdhci.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/include/linux/mmc/sdhci.h 2014-03-11 17:51:40.000000000 +0100
@@ -100,6 +100,7 @@
#define SDHCI_QUIRK2_BROKEN_HOST_CONTROL (1<<5)
@@ -96887,9 +97043,9 @@ diff -Nur linux-3.12.11.orig/include/linux/mmc/sdhci.h linux-3.12.11/include/lin
struct mmc_data *data; /* Current data request */
unsigned int data_early:1; /* Data finished before cmd */
-diff -Nur linux-3.12.11.orig/include/sound/soc-dai.h linux-3.12.11/include/sound/soc-dai.h
---- linux-3.12.11.orig/include/sound/soc-dai.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/include/sound/soc-dai.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/include/sound/soc-dai.h linux-raspberry-pi/include/sound/soc-dai.h
+--- linux-3.12.13/include/sound/soc-dai.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/include/sound/soc-dai.h 2014-03-11 17:33:22.000000000 +0100
@@ -105,6 +105,8 @@
int snd_soc_dai_set_pll(struct snd_soc_dai *dai,
int pll_id, int source, unsigned int freq_in, unsigned int freq_out);
@@ -96907,9 +97063,9 @@ diff -Nur linux-3.12.11.orig/include/sound/soc-dai.h linux-3.12.11/include/sound
/*
* DAI format configuration
-diff -Nur linux-3.12.11.orig/include/uapi/linux/fb.h linux-3.12.11/include/uapi/linux/fb.h
---- linux-3.12.11.orig/include/uapi/linux/fb.h 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/include/uapi/linux/fb.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/include/uapi/linux/fb.h linux-raspberry-pi/include/uapi/linux/fb.h
+--- linux-3.12.13/include/uapi/linux/fb.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/include/uapi/linux/fb.h 2014-03-11 17:33:22.000000000 +0100
@@ -34,6 +34,11 @@
#define FBIOPUT_MODEINFO 0x4617
#define FBIOGET_DISPINFO 0x4618
@@ -96922,9 +97078,9 @@ diff -Nur linux-3.12.11.orig/include/uapi/linux/fb.h linux-3.12.11/include/uapi/
#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
#define FB_TYPE_PLANES 1 /* Non interleaved planes */
-diff -Nur linux-3.12.11.orig/sound/arm/bcm2835.c linux-3.12.11/sound/arm/bcm2835.c
---- linux-3.12.11.orig/sound/arm/bcm2835.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/arm/bcm2835.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/bcm2835.c linux-raspberry-pi/sound/arm/bcm2835.c
+--- linux-3.12.13/sound/arm/bcm2835.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/arm/bcm2835.c 2014-03-11 17:51:48.000000000 +0100
@@ -0,0 +1,413 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -97339,9 +97495,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/bcm2835.c linux-3.12.11/sound/arm/bcm2835
+MODULE_DESCRIPTION("Alsa driver for BCM2835 chip");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:bcm2835_alsa");
-diff -Nur linux-3.12.11.orig/sound/arm/bcm2835-ctl.c linux-3.12.11/sound/arm/bcm2835-ctl.c
---- linux-3.12.11.orig/sound/arm/bcm2835-ctl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/arm/bcm2835-ctl.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/bcm2835-ctl.c linux-raspberry-pi/sound/arm/bcm2835-ctl.c
+--- linux-3.12.13/sound/arm/bcm2835-ctl.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/arm/bcm2835-ctl.c 2014-03-11 17:51:48.000000000 +0100
@@ -0,0 +1,200 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -97543,9 +97699,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/bcm2835-ctl.c linux-3.12.11/sound/arm/bcm
+ }
+ return 0;
+}
-diff -Nur linux-3.12.11.orig/sound/arm/bcm2835.h linux-3.12.11/sound/arm/bcm2835.h
---- linux-3.12.11.orig/sound/arm/bcm2835.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/arm/bcm2835.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/bcm2835.h linux-raspberry-pi/sound/arm/bcm2835.h
+--- linux-3.12.13/sound/arm/bcm2835.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/arm/bcm2835.h 2014-03-11 17:51:48.000000000 +0100
@@ -0,0 +1,157 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -97704,9 +97860,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/bcm2835.h linux-3.12.11/sound/arm/bcm2835
+void bcm2835_audio_flush_playback_buffers(bcm2835_alsa_stream_t * alsa_stream);
+
+#endif /* __SOUND_ARM_BCM2835_H */
-diff -Nur linux-3.12.11.orig/sound/arm/bcm2835-pcm.c linux-3.12.11/sound/arm/bcm2835-pcm.c
---- linux-3.12.11.orig/sound/arm/bcm2835-pcm.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/arm/bcm2835-pcm.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/bcm2835-pcm.c linux-raspberry-pi/sound/arm/bcm2835-pcm.c
+--- linux-3.12.13/sound/arm/bcm2835-pcm.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/arm/bcm2835-pcm.c 2014-03-11 17:51:48.000000000 +0100
@@ -0,0 +1,426 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -98134,9 +98290,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/bcm2835-pcm.c linux-3.12.11/sound/arm/bcm
+
+ return 0;
+}
-diff -Nur linux-3.12.11.orig/sound/arm/bcm2835-vchiq.c linux-3.12.11/sound/arm/bcm2835-vchiq.c
---- linux-3.12.11.orig/sound/arm/bcm2835-vchiq.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/arm/bcm2835-vchiq.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/bcm2835-vchiq.c linux-raspberry-pi/sound/arm/bcm2835-vchiq.c
+--- linux-3.12.13/sound/arm/bcm2835-vchiq.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/arm/bcm2835-vchiq.c 2014-03-11 17:51:48.000000000 +0100
@@ -0,0 +1,879 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -99017,9 +99173,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/bcm2835-vchiq.c linux-3.12.11/sound/arm/b
+
+module_param(force_bulk, bool, 0444);
+MODULE_PARM_DESC(force_bulk, "Force use of vchiq bulk for audio");
-diff -Nur linux-3.12.11.orig/sound/arm/Kconfig linux-3.12.11/sound/arm/Kconfig
---- linux-3.12.11.orig/sound/arm/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/sound/arm/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/Kconfig linux-raspberry-pi/sound/arm/Kconfig
+--- linux-3.12.13/sound/arm/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/arm/Kconfig 2014-03-11 17:33:39.000000000 +0100
@@ -39,5 +39,12 @@
Say Y or M if you want to support any AC97 codec attached to
the PXA2xx AC97 interface.
@@ -99033,9 +99189,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/Kconfig linux-3.12.11/sound/arm/Kconfig
+
endif # SND_ARM
-diff -Nur linux-3.12.11.orig/sound/arm/Makefile linux-3.12.11/sound/arm/Makefile
---- linux-3.12.11.orig/sound/arm/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/sound/arm/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/Makefile linux-raspberry-pi/sound/arm/Makefile
+--- linux-3.12.13/sound/arm/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/arm/Makefile 2014-03-11 17:51:47.000000000 +0100
@@ -14,3 +14,8 @@
obj-$(CONFIG_SND_PXA2XX_AC97) += snd-pxa2xx-ac97.o
@@ -99045,9 +99201,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/Makefile linux-3.12.11/sound/arm/Makefile
+snd-bcm2835-objs := bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o
+
+EXTRA_CFLAGS += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
-diff -Nur linux-3.12.11.orig/sound/arm/vc_vchi_audioserv_defs.h linux-3.12.11/sound/arm/vc_vchi_audioserv_defs.h
---- linux-3.12.11.orig/sound/arm/vc_vchi_audioserv_defs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/arm/vc_vchi_audioserv_defs.h 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/arm/vc_vchi_audioserv_defs.h linux-raspberry-pi/sound/arm/vc_vchi_audioserv_defs.h
+--- linux-3.12.13/sound/arm/vc_vchi_audioserv_defs.h 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/arm/vc_vchi_audioserv_defs.h 2014-03-11 17:33:39.000000000 +0100
@@ -0,0 +1,116 @@
+/*****************************************************************************
+* Copyright 2011 Broadcom Corporation. All rights reserved.
@@ -99165,9 +99321,9 @@ diff -Nur linux-3.12.11.orig/sound/arm/vc_vchi_audioserv_defs.h linux-3.12.11/so
+} VC_AUDIO_MSG_T;
+
+#endif // _VC_AUDIO_DEFS_H_
-diff -Nur linux-3.12.11.orig/sound/soc/bcm/bcm2708-i2s.c linux-3.12.11/sound/soc/bcm/bcm2708-i2s.c
---- linux-3.12.11.orig/sound/soc/bcm/bcm2708-i2s.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/soc/bcm/bcm2708-i2s.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/bcm/bcm2708-i2s.c linux-raspberry-pi/sound/soc/bcm/bcm2708-i2s.c
+--- linux-3.12.13/sound/soc/bcm/bcm2708-i2s.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/bcm/bcm2708-i2s.c 2014-03-11 17:33:43.000000000 +0100
@@ -0,0 +1,945 @@
+/*
+ * ALSA SoC I2S Audio Layer for Broadcom BCM2708 SoC
@@ -100114,9 +100270,9 @@ diff -Nur linux-3.12.11.orig/sound/soc/bcm/bcm2708-i2s.c linux-3.12.11/sound/soc
+MODULE_DESCRIPTION("BCM2708 I2S interface");
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-3.12.11.orig/sound/soc/bcm/hifiberry_dac.c linux-3.12.11/sound/soc/bcm/hifiberry_dac.c
---- linux-3.12.11.orig/sound/soc/bcm/hifiberry_dac.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/soc/bcm/hifiberry_dac.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/bcm/hifiberry_dac.c linux-raspberry-pi/sound/soc/bcm/hifiberry_dac.c
+--- linux-3.12.13/sound/soc/bcm/hifiberry_dac.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/bcm/hifiberry_dac.c 2014-03-11 17:33:43.000000000 +0100
@@ -0,0 +1,100 @@
+/*
+ * ASoC Driver for HifiBerry DAC
@@ -100218,10 +100374,167 @@ diff -Nur linux-3.12.11.orig/sound/soc/bcm/hifiberry_dac.c linux-3.12.11/sound/s
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-3.12.11.orig/sound/soc/bcm/Kconfig linux-3.12.11/sound/soc/bcm/Kconfig
---- linux-3.12.11.orig/sound/soc/bcm/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/soc/bcm/Kconfig 2014-02-18 11:52:14.000000000 +0100
-@@ -0,0 +1,24 @@
+diff -Nur linux-3.12.13/sound/soc/bcm/hifiberry_digi.c linux-raspberry-pi/sound/soc/bcm/hifiberry_digi.c
+--- linux-3.12.13/sound/soc/bcm/hifiberry_digi.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/bcm/hifiberry_digi.c 2014-03-11 17:51:48.000000000 +0100
+@@ -0,0 +1,153 @@
++/*
++ * ASoC Driver for HifiBerry Digi
++ *
++ * Author: Daniel Matuschek <info@crazy-audio.com>
++ * based on the HifiBerry DAC driver by Florian Meier <florian.meier@koalo.de>
++ * Copyright 2013
++ *
++ * 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.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ */
++
++#include <linux/module.h>
++#include <linux/platform_device.h>
++
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/pcm_params.h>
++#include <sound/soc.h>
++#include <sound/jack.h>
++
++#include "../codecs/wm8804.h"
++
++static int samplerate=44100;
++
++static int snd_rpi_hifiberry_digi_init(struct snd_soc_pcm_runtime *rtd)
++{
++ struct snd_soc_codec *codec = rtd->codec;
++
++ /* enable TX output */
++ snd_soc_update_bits(codec, WM8804_PWRDN, 0x4, 0x0);
++
++ return 0;
++}
++
++static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ struct snd_soc_dai *codec_dai = rtd->codec_dai;
++ struct snd_soc_codec *codec = rtd->codec;
++ struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
++
++ int sysclk = 27000000; /* This is fixed on this board */
++
++ long mclk_freq=0;
++ int mclk_div=1;
++
++ int ret;
++
++ samplerate = params_rate(params);
++
++ switch (samplerate) {
++ case 44100:
++ case 48000:
++ case 88200:
++ case 96000:
++ mclk_freq=samplerate*256;
++ mclk_div=WM8804_MCLKDIV_256FS;
++ break;
++ case 176400:
++ case 192000:
++ mclk_freq=samplerate*128;
++ mclk_div=WM8804_MCLKDIV_128FS;
++ break;
++ default:
++ dev_err(substream->pcm->dev,
++ "Failed to set WM8804 SYSCLK, unsupported samplerate\n");
++ }
++
++ snd_soc_dai_set_clkdiv(codec_dai, WM8804_MCLK_DIV, mclk_div);
++ snd_soc_dai_set_pll(codec_dai, 0, 0, sysclk, mclk_freq);
++
++ ret = snd_soc_dai_set_sysclk(codec_dai, WM8804_TX_CLKSRC_PLL,
++ sysclk, SND_SOC_CLOCK_OUT);
++ if (ret < 0) {
++ dev_err(substream->pcm->dev,
++ "Failed to set WM8804 SYSCLK: %d\n", ret);
++ return ret;
++ }
++
++ /* Enable TX output */
++ snd_soc_update_bits(codec, WM8804_PWRDN, 0x4, 0x0);
++
++ /* Power on */
++ snd_soc_update_bits(codec, WM8804_PWRDN, 0x9, 0);
++
++ return snd_soc_dai_set_bclk_ratio(cpu_dai,64);
++}
++
++/* machine stream operations */
++static struct snd_soc_ops snd_rpi_hifiberry_digi_ops = {
++ .hw_params = snd_rpi_hifiberry_digi_hw_params,
++};
++
++static struct snd_soc_dai_link snd_rpi_hifiberry_digi_dai[] = {
++{
++ .name = "HifiBerry Digi",
++ .stream_name = "HifiBerry Digi HiFi",
++ .cpu_dai_name = "bcm2708-i2s.0",
++ .codec_dai_name = "wm8804-spdif",
++ .platform_name = "bcm2708-i2s.0",
++ .codec_name = "wm8804.1-003b",
++ .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
++ SND_SOC_DAIFMT_CBM_CFM,
++ .ops = &snd_rpi_hifiberry_digi_ops,
++ .init = snd_rpi_hifiberry_digi_init,
++},
++};
++
++/* audio machine driver */
++static struct snd_soc_card snd_rpi_hifiberry_digi = {
++ .name = "snd_rpi_hifiberry_digi",
++ .dai_link = snd_rpi_hifiberry_digi_dai,
++ .num_links = ARRAY_SIZE(snd_rpi_hifiberry_digi_dai),
++};
++
++static int snd_rpi_hifiberry_digi_probe(struct platform_device *pdev)
++{
++ int ret = 0;
++
++ snd_rpi_hifiberry_digi.dev = &pdev->dev;
++ ret = snd_soc_register_card(&snd_rpi_hifiberry_digi);
++ if (ret)
++ dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", ret);
++
++ return ret;
++}
++
++static int snd_rpi_hifiberry_digi_remove(struct platform_device *pdev)
++{
++ return snd_soc_unregister_card(&snd_rpi_hifiberry_digi);
++}
++
++static struct platform_driver snd_rpi_hifiberry_digi_driver = {
++ .driver = {
++ .name = "snd-hifiberry-digi",
++ .owner = THIS_MODULE,
++ },
++ .probe = snd_rpi_hifiberry_digi_probe,
++ .remove = snd_rpi_hifiberry_digi_remove,
++};
++
++module_platform_driver(snd_rpi_hifiberry_digi_driver);
++
++MODULE_AUTHOR("Daniel Matuschek <info@crazy-audio.com>");
++MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi");
++MODULE_LICENSE("GPL v2");
+diff -Nur linux-3.12.13/sound/soc/bcm/Kconfig linux-raspberry-pi/sound/soc/bcm/Kconfig
+--- linux-3.12.13/sound/soc/bcm/Kconfig 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/bcm/Kconfig 2014-03-11 17:33:43.000000000 +0100
+@@ -0,0 +1,31 @@
+config SND_BCM2708_SOC_I2S
+ tristate "SoC Audio support for the Broadcom BCM2708 I2S module"
+ depends on MACH_BCM2708
@@ -100240,17 +100553,23 @@ diff -Nur linux-3.12.11.orig/sound/soc/bcm/Kconfig linux-3.12.11/sound/soc/bcm/K
+ help
+ Say Y or M if you want to add support for HifiBerry DAC.
+
++config SND_BCM2708_SOC_HIFIBERRY_DIGI
++ tristate "Support for HifiBerry Digi"
++ depends on SND_BCM2708_SOC_I2S
++ select SND_SOC_WM8804
++ help
++ Say Y or M if you want to add support for HifiBerry Digi S/PDIF output board.
++
+config SND_BCM2708_SOC_RPI_DAC
+ tristate "Support for RPi-DAC"
+ depends on SND_BCM2708_SOC_I2S
+ select SND_SOC_PCM1794A
+ help
+ Say Y or M if you want to add support for RPi-DAC.
-\ No newline at end of file
-diff -Nur linux-3.12.11.orig/sound/soc/bcm/Makefile linux-3.12.11/sound/soc/bcm/Makefile
---- linux-3.12.11.orig/sound/soc/bcm/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/soc/bcm/Makefile 2014-02-18 11:52:14.000000000 +0100
-@@ -0,0 +1,11 @@
+diff -Nur linux-3.12.13/sound/soc/bcm/Makefile linux-raspberry-pi/sound/soc/bcm/Makefile
+--- linux-3.12.13/sound/soc/bcm/Makefile 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/bcm/Makefile 2014-03-11 17:33:43.000000000 +0100
+@@ -0,0 +1,13 @@
+# BCM2708 Platform Support
+snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o
+
@@ -100258,13 +100577,15 @@ diff -Nur linux-3.12.11.orig/sound/soc/bcm/Makefile linux-3.12.11/sound/soc/bcm/
+
+# BCM2708 Machine Support
+snd-soc-hifiberry-dac-objs := hifiberry_dac.o
++snd-soc-hifiberry-digi-objs := hifiberry_digi.o
+snd-soc-rpi-dac-objs := rpi-dac.o
+
+obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
++obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o
+obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
-diff -Nur linux-3.12.11.orig/sound/soc/bcm/rpi-dac.c linux-3.12.11/sound/soc/bcm/rpi-dac.c
---- linux-3.12.11.orig/sound/soc/bcm/rpi-dac.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/soc/bcm/rpi-dac.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/bcm/rpi-dac.c linux-raspberry-pi/sound/soc/bcm/rpi-dac.c
+--- linux-3.12.13/sound/soc/bcm/rpi-dac.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/bcm/rpi-dac.c 2014-03-11 17:33:43.000000000 +0100
@@ -0,0 +1,97 @@
+/*
+ * ASoC Driver for RPi-DAC.
@@ -100363,9 +100684,9 @@ diff -Nur linux-3.12.11.orig/sound/soc/bcm/rpi-dac.c linux-3.12.11/sound/soc/bcm
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_DESCRIPTION("ASoC Driver for RPi-DAC");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-3.12.11.orig/sound/soc/codecs/Kconfig linux-3.12.11/sound/soc/codecs/Kconfig
---- linux-3.12.11.orig/sound/soc/codecs/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/sound/soc/codecs/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/codecs/Kconfig linux-raspberry-pi/sound/soc/codecs/Kconfig
+--- linux-3.12.13/sound/soc/codecs/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/soc/codecs/Kconfig 2014-03-11 17:51:48.000000000 +0100
@@ -59,6 +59,8 @@
select SND_SOC_PCM1681 if I2C
select SND_SOC_PCM1792A if SPI_MASTER
@@ -100388,9 +100709,9 @@ diff -Nur linux-3.12.11.orig/sound/soc/codecs/Kconfig linux-3.12.11/sound/soc/co
config SND_SOC_RT5631
tristate
-diff -Nur linux-3.12.11.orig/sound/soc/codecs/Makefile linux-3.12.11/sound/soc/codecs/Makefile
---- linux-3.12.11.orig/sound/soc/codecs/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/sound/soc/codecs/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/codecs/Makefile linux-raspberry-pi/sound/soc/codecs/Makefile
+--- linux-3.12.13/sound/soc/codecs/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/soc/codecs/Makefile 2014-03-11 17:51:48.000000000 +0100
@@ -46,6 +46,8 @@
snd-soc-pcm1681-objs := pcm1681.o
snd-soc-pcm1792a-codec-objs := pcm1792a.o
@@ -100409,9 +100730,9 @@ diff -Nur linux-3.12.11.orig/sound/soc/codecs/Makefile linux-3.12.11/sound/soc/c
obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o
obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o
obj-$(CONFIG_SND_SOC_SGTL5000) += snd-soc-sgtl5000.o
-diff -Nur linux-3.12.11.orig/sound/soc/codecs/pcm1794a.c linux-3.12.11/sound/soc/codecs/pcm1794a.c
---- linux-3.12.11.orig/sound/soc/codecs/pcm1794a.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/soc/codecs/pcm1794a.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/codecs/pcm1794a.c linux-raspberry-pi/sound/soc/codecs/pcm1794a.c
+--- linux-3.12.13/sound/soc/codecs/pcm1794a.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/codecs/pcm1794a.c 2014-03-11 17:33:43.000000000 +0100
@@ -0,0 +1,62 @@
+/*
+ * Driver for the PCM1794A codec
@@ -100475,9 +100796,9 @@ diff -Nur linux-3.12.11.orig/sound/soc/codecs/pcm1794a.c linux-3.12.11/sound/soc
+MODULE_DESCRIPTION("ASoC PCM1794A codec driver");
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-3.12.11.orig/sound/soc/codecs/pcm5102a.c linux-3.12.11/sound/soc/codecs/pcm5102a.c
---- linux-3.12.11.orig/sound/soc/codecs/pcm5102a.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-3.12.11/sound/soc/codecs/pcm5102a.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/codecs/pcm5102a.c linux-raspberry-pi/sound/soc/codecs/pcm5102a.c
+--- linux-3.12.13/sound/soc/codecs/pcm5102a.c 1970-01-01 01:00:00.000000000 +0100
++++ linux-raspberry-pi/sound/soc/codecs/pcm5102a.c 2014-03-11 17:51:49.000000000 +0100
@@ -0,0 +1,63 @@
+/*
+ * Driver for the PCM5102A codec
@@ -100542,9 +100863,110 @@ diff -Nur linux-3.12.11.orig/sound/soc/codecs/pcm5102a.c linux-3.12.11/sound/soc
+MODULE_DESCRIPTION("ASoC PCM5102A codec driver");
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_LICENSE("GPL v2");
-diff -Nur linux-3.12.11.orig/sound/soc/Kconfig linux-3.12.11/sound/soc/Kconfig
---- linux-3.12.11.orig/sound/soc/Kconfig 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/sound/soc/Kconfig 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/codecs/wm8804.c linux-raspberry-pi/sound/soc/codecs/wm8804.c
+--- linux-3.12.13/sound/soc/codecs/wm8804.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/soc/codecs/wm8804.c 2014-03-11 17:33:43.000000000 +0100
+@@ -63,6 +63,7 @@
+ struct regmap *regmap;
+ struct regulator_bulk_data supplies[WM8804_NUM_SUPPLIES];
+ struct notifier_block disable_nb[WM8804_NUM_SUPPLIES];
++ int mclk_div;
+ };
+
+ static int txsrc_get(struct snd_kcontrol *kcontrol,
+@@ -277,6 +278,7 @@
+ blen = 0x1;
+ break;
+ case SNDRV_PCM_FORMAT_S24_LE:
++ case SNDRV_PCM_FORMAT_S32_LE:
+ blen = 0x2;
+ break;
+ default:
+@@ -318,7 +320,7 @@
+
+ #define FIXED_PLL_SIZE ((1ULL << 22) * 10)
+ static int pll_factors(struct pll_div *pll_div, unsigned int target,
+- unsigned int source)
++ unsigned int source, unsigned int mclk_div)
+ {
+ u64 Kpart;
+ unsigned long int K, Ndiv, Nmod, tmp;
+@@ -330,7 +332,8 @@
+ */
+ for (i = 0; i < ARRAY_SIZE(post_table); i++) {
+ tmp = target * post_table[i].div;
+- if (tmp >= 90000000 && tmp <= 100000000) {
++ if ((tmp >= 90000000 && tmp <= 100000000) &&
++ (mclk_div == post_table[i].mclkdiv)) {
+ pll_div->freqmode = post_table[i].freqmode;
+ pll_div->mclkdiv = post_table[i].mclkdiv;
+ target *= post_table[i].div;
+@@ -387,8 +390,11 @@
+ } else {
+ int ret;
+ struct pll_div pll_div;
++ struct wm8804_priv *wm8804;
+
+- ret = pll_factors(&pll_div, freq_out, freq_in);
++ wm8804 = snd_soc_codec_get_drvdata(codec);
++
++ ret = pll_factors(&pll_div, freq_out, freq_in, wm8804->mclk_div);
+ if (ret)
+ return ret;
+
+@@ -452,6 +458,7 @@
+ int div_id, int div)
+ {
+ struct snd_soc_codec *codec;
++ struct wm8804_priv *wm8804;
+
+ codec = dai->codec;
+ switch (div_id) {
+@@ -459,6 +466,10 @@
+ snd_soc_update_bits(codec, WM8804_PLL5, 0x30,
+ (div & 0x3) << 4);
+ break;
++ case WM8804_MCLK_DIV:
++ wm8804 = snd_soc_codec_get_drvdata(codec);
++ wm8804->mclk_div = div;
++ break;
+ default:
+ dev_err(dai->dev, "Unknown clock divider: %d\n", div_id);
+ return -EINVAL;
+@@ -641,7 +652,7 @@
+ };
+
+ #define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
+- SNDRV_PCM_FMTBIT_S24_LE)
++ SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE)
+
+ #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
+ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
+@@ -674,7 +685,7 @@
+ .suspend = wm8804_suspend,
+ .resume = wm8804_resume,
+ .set_bias_level = wm8804_set_bias_level,
+- .idle_bias_off = true,
++ .idle_bias_off = false,
+
+ .controls = wm8804_snd_controls,
+ .num_controls = ARRAY_SIZE(wm8804_snd_controls),
+diff -Nur linux-3.12.13/sound/soc/codecs/wm8804.h linux-raspberry-pi/sound/soc/codecs/wm8804.h
+--- linux-3.12.13/sound/soc/codecs/wm8804.h 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/soc/codecs/wm8804.h 2014-03-11 17:33:43.000000000 +0100
+@@ -57,5 +57,9 @@
+ #define WM8804_CLKOUT_SRC_OSCCLK 4
+
+ #define WM8804_CLKOUT_DIV 1
++#define WM8804_MCLK_DIV 2
++
++#define WM8804_MCLKDIV_256FS 0
++#define WM8804_MCLKDIV_128FS 1
+
+ #endif /* _WM8804_H */
+diff -Nur linux-3.12.13/sound/soc/Kconfig linux-raspberry-pi/sound/soc/Kconfig
+--- linux-3.12.13/sound/soc/Kconfig 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/soc/Kconfig 2014-03-11 17:51:48.000000000 +0100
@@ -33,6 +33,7 @@
# All the supported SoCs
source "sound/soc/atmel/Kconfig"
@@ -100553,9 +100975,9 @@ diff -Nur linux-3.12.11.orig/sound/soc/Kconfig linux-3.12.11/sound/soc/Kconfig
source "sound/soc/blackfin/Kconfig"
source "sound/soc/cirrus/Kconfig"
source "sound/soc/davinci/Kconfig"
-diff -Nur linux-3.12.11.orig/sound/soc/Makefile linux-3.12.11/sound/soc/Makefile
---- linux-3.12.11.orig/sound/soc/Makefile 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/sound/soc/Makefile 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/Makefile linux-raspberry-pi/sound/soc/Makefile
+--- linux-3.12.13/sound/soc/Makefile 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/soc/Makefile 2014-03-11 17:51:48.000000000 +0100
@@ -10,6 +10,7 @@
obj-$(CONFIG_SND_SOC) += generic/
obj-$(CONFIG_SND_SOC) += atmel/
@@ -100564,9 +100986,9 @@ diff -Nur linux-3.12.11.orig/sound/soc/Makefile linux-3.12.11/sound/soc/Makefile
obj-$(CONFIG_SND_SOC) += blackfin/
obj-$(CONFIG_SND_SOC) += cirrus/
obj-$(CONFIG_SND_SOC) += davinci/
-diff -Nur linux-3.12.11.orig/sound/soc/soc-core.c linux-3.12.11/sound/soc/soc-core.c
---- linux-3.12.11.orig/sound/soc/soc-core.c 2014-02-13 22:51:06.000000000 +0100
-+++ linux-3.12.11/sound/soc/soc-core.c 2014-02-18 11:52:14.000000000 +0100
+diff -Nur linux-3.12.13/sound/soc/soc-core.c linux-raspberry-pi/sound/soc/soc-core.c
+--- linux-3.12.13/sound/soc/soc-core.c 2014-02-22 22:32:50.000000000 +0100
++++ linux-raspberry-pi/sound/soc/soc-core.c 2014-03-11 17:51:55.000000000 +0100
@@ -3576,6 +3576,22 @@
EXPORT_SYMBOL_GPL(snd_soc_codec_set_pll);