2
0
Эх сурвалжийг харах

kernel: refresh patches

Signed-off-by: Felix Fietkau <[email protected]>

SVN-Revision: 43564
Felix Fietkau 11 жил өмнө
parent
commit
9a495f6bbb
100 өөрчлөгдсөн 578 нэмэгдсэн , 1911 устгасан
  1. 2 2
      target/linux/adm8668/patches-3.14/004-tulip_pci_split.patch
  2. 1 1
      target/linux/adm8668/patches-3.14/005-tulip_platform.patch
  3. 2 2
      target/linux/adm8668/patches-3.14/200-amba_pl010_hacks.patch
  4. 1 6
      target/linux/ar7/patches-3.14/001-mips-ar7-fix-serial.patch
  5. 2 2
      target/linux/ar7/patches-3.14/120-gpio_chrdev.patch
  6. 3 3
      target/linux/ar7/patches-3.14/160-vlynq_try_remote_first.patch
  7. 2 2
      target/linux/ar7/patches-3.14/300-add-ac49x-platform.patch
  8. 1 1
      target/linux/ar7/patches-3.14/320-ac49x-mtd-partitions.patch
  9. 1 1
      target/linux/ar7/patches-3.14/500-serial_kludge.patch
  10. 2 2
      target/linux/ar7/patches-3.14/920-ar7part.patch
  11. 4 4
      target/linux/ar7/patches-3.14/950-cpmac_titan.patch
  12. 1 1
      target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch
  13. 2 2
      target/linux/ar71xx/patches-3.14/634-MIPS-ath79-WNR2000V4-support.patch
  14. 1 1
      target/linux/ar71xx/patches-3.14/700-MIPS-ath79-add-TL-WA801NDv2-suport.patch
  15. 1 1
      target/linux/ar71xx/patches-3.14/701-MIPS-ath79-add-TL-WA901ND-v3-support.patch
  16. 3 3
      target/linux/ar71xx/patches-3.14/702-MIPS-ath79-add-MyNet-N750-support.patch
  17. 2 2
      target/linux/ar71xx/patches-3.14/703-MIPS-ath79-add-RB91x-support.patch
  18. 1 1
      target/linux/ar71xx/patches-3.14/704-MIPS-ath79-TL-WDR4900v2-support.patch
  19. 1 1
      target/linux/ar71xx/patches-3.14/705-MIPS-ath79-add-RB951Ui-2HnD-support.patch
  20. 2 2
      target/linux/ar71xx/patches-3.14/706-MIPS-ath79-oolite-v1-support.patch
  21. 2 2
      target/linux/ar71xx/patches-3.14/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch
  22. 3 3
      target/linux/ar71xx/patches-3.14/708-MIPS-ath79-TL-WR841v9-support.patch
  23. 2 2
      target/linux/ar71xx/patches-3.14/709-MIPS-ath79-HiWiFi-HC6361-support.patch
  24. 3 3
      target/linux/ar71xx/patches-3.14/709-MIPS-ath79-add-NBG6716.patch
  25. 1 1
      target/linux/ar71xx/patches-3.14/710-MIPS-ath79-add-OM2Pv2.patch
  26. 1 1
      target/linux/ar71xx/patches-3.14/711-MIPS-ath79-add-OM2P-HSv2.patch
  27. 2 2
      target/linux/ar71xx/patches-3.14/712-MIPS-ath79-add-EasyLink-support.patch
  28. 2 2
      target/linux/ar71xx/patches-3.14/713-MIPS-ath79-add-RBSXTLite-support.patch
  29. 3 3
      target/linux/ar71xx/patches-3.14/714-MIPS-ath79-add-TL-WA830REv2-support.patch
  30. 1 1
      target/linux/ar71xx/patches-3.14/715-MIPS-ath79-add-TL-WA860RE-support.patch
  31. 1 1
      target/linux/ar71xx/patches-3.14/716-MIPS-ath79-add_mikrotik_rb2011uias.patch
  32. 2 2
      target/linux/ar71xx/patches-3.14/717-MIPS-ath79-add-gl-inet-v1-support.patch
  33. 2 2
      target/linux/ar71xx/patches-3.14/718-MIPS-ath79-add-ESR1750-support.patch
  34. 2 2
      target/linux/ar71xx/patches-3.14/719-MIPS-ath79-add-ESR900-support.patch
  35. 2 2
      target/linux/ar71xx/patches-3.14/720-MIPS-ath79-add-Tube2H-support.patch
  36. 2 2
      target/linux/ar71xx/patches-3.14/721-MIPS-ath79-add-EAP300v2-support.patch
  37. 1 1
      target/linux/ar71xx/patches-3.14/722-MIPS-ath79-add-airGateway-support.patch
  38. 2 2
      target/linux/ar71xx/patches-3.14/723-MIPS-ath79-add-om5p-support.patch
  39. 2 2
      target/linux/ar71xx/patches-3.14/725-MIPS-ath79-add-smart-300-support.patch
  40. 1 1
      target/linux/ar71xx/patches-3.14/725-MIPS-ath79-add_mikrotik_rb2011uias-2hnd.patch
  41. 3 3
      target/linux/ar71xx/patches-3.14/726-MIPS-ath79-add-qihoo-360-c301-support.patch
  42. 2 2
      target/linux/ar71xx/patches-3.14/729-MIPS-ath79-add-WZR-450HP2.patch
  43. 4 4
      target/linux/ar71xx/patches-3.14/730-MIPS-ath79-add-DHP-1565A1.patch
  44. 2 2
      target/linux/ar71xx/patches-3.14/730-MIPS-ath79-add-mr900-support.patch
  45. 1 1
      target/linux/ar71xx/patches-3.14/731-MIPS-ath79-add-mr900v2-support.patch
  46. 2 2
      target/linux/ar71xx/patches-3.14/732-MIPS-ath79-add-R6100-support.patch
  47. 1 1
      target/linux/au1000/patches/002-openwrt_rootfs.patch
  48. 1 1
      target/linux/au1000/patches/003-au1000_eth_ioctl.patch
  49. 1 1
      target/linux/au1000/patches/004-watchdog_low_init.patch
  50. 27 170
      target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch
  51. 0 6
      target/linux/brcm2708/patches-3.14/0002-Add-quick-config.patch
  52. 44 228
      target/linux/brcm2708/patches-3.14/0003-Add-dwc_otg-driver.patch
  53. 1 11
      target/linux/brcm2708/patches-3.14/0004-bcm2708-watchdog-driver.patch
  54. 1 13
      target/linux/brcm2708/patches-3.14/0005-bcm2708-framebuffer-driver.patch
  55. 0 100
      target/linux/brcm2708/patches-3.14/0006-bcm2708-vchiq-driver.patch
  56. 0 18
      target/linux/brcm2708/patches-3.14/0007-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch
  57. 0 24
      target/linux/brcm2708/patches-3.14/0008-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
  58. 2 33
      target/linux/brcm2708/patches-3.14/0009-bcm2708-alsa-sound-driver.patch
  59. 16 27
      target/linux/brcm2708/patches-3.14/0010-alsa-add-mmap-support-and-some-cleanups-to-bcm2835-A.patch
  60. 1 13
      target/linux/brcm2708/patches-3.14/0011-Add-hwrng-hardware-random-number-generator-driver.patch
  61. 0 10
      target/linux/brcm2708/patches-3.14/0012-lirc-added-support-for-RaspberryPi-GPIO.patch
  62. 69 87
      target/linux/brcm2708/patches-3.14/0013-Fixes-for-sdhci-bcm2708.patch
  63. 1 13
      target/linux/brcm2708/patches-3.14/0014-Add-cpufreq-driver.patch
  64. 17 29
      target/linux/brcm2708/patches-3.14/0015-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
  65. 1 6
      target/linux/brcm2708/patches-3.14/0016-Allow-mac-address-to-be-set-in-smsc95xx.patch
  66. 3 30
      target/linux/brcm2708/patches-3.14/0017-Add-Chris-Boot-s-i2c-and-spi-drivers.patch
  67. 3 8
      target/linux/brcm2708/patches-3.14/0018-Perform-I2C-combined-transactions-when-possible.patch
  68. 7 20
      target/linux/brcm2708/patches-3.14/0019-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
  69. 1 299
      target/linux/brcm2708/patches-3.14/0020-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch
  70. 2 15
      target/linux/brcm2708/patches-3.14/0021-wifi-add-patches-from-3.6.y-tree-to-make-rtl8192cu-w.patch
  71. 1 6
      target/linux/brcm2708/patches-3.14/0022-Added-Device-IDs-for-August-DVB-T-205.patch
  72. 0 5
      target/linux/brcm2708/patches-3.14/0023-config-add-missing-options-from-3.6.y-kernel.patch
  73. 2 7
      target/linux/brcm2708/patches-3.14/0024-Speed-up-console-framebuffer-imageblit-function.patch
  74. 4 11
      target/linux/brcm2708/patches-3.14/0025-fbdev-add-FBIOCOPYAREA-ioctl.patch
  75. 9 18
      target/linux/brcm2708/patches-3.14/0026-bcm2708_fb-DMA-acceleration-for-fb_copyarea.patch
  76. 2 11
      target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
  77. 97 140
      target/linux/brcm2708/patches-3.14/0028-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch
  78. 90 128
      target/linux/brcm2708/patches-3.14/0029-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch
  79. 0 52
      target/linux/brcm2708/patches-3.14/0030-bcm2835-add-v4l2-camera-device.patch
  80. 41 60
      target/linux/brcm2708/patches-3.14/0031-V4L2-Fixes-from-6by9.patch
  81. 15 26
      target/linux/brcm2708/patches-3.14/0032-snd-bcm2835-Add-support-for-spdif-hdmi-passthrough.patch
  82. 0 10
      target/linux/brcm2708/patches-3.14/0033-dmaengine-Add-support-for-BCM2708.patch
  83. 1 11
      target/linux/brcm2708/patches-3.14/0034-ASoC-Add-support-for-BCM2708.patch
  84. 0 7
      target/linux/brcm2708/patches-3.14/0035-BCM2708-Extend-mach-header.patch
  85. 1 11
      target/linux/brcm2708/patches-3.14/0036-ASoC-Add-support-for-PCM5102A-codec.patch
  86. 1 6
      target/linux/brcm2708/patches-3.14/0037-BCM2708-Add-I2S-support-to-board-file.patch
  87. 1 11
      target/linux/brcm2708/patches-3.14/0038-ASoC-Add-support-for-HifiBerry-DAC.patch
  88. 1 6
      target/linux/brcm2708/patches-3.14/0039-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
  89. 4 9
      target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch
  90. 0 5
      target/linux/brcm2708/patches-3.14/0041-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch
  91. 3 24
      target/linux/brcm2708/patches-3.14/0042-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
  92. 6 13
      target/linux/brcm2708/patches-3.14/0043-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
  93. 1 11
      target/linux/brcm2708/patches-3.14/0044-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
  94. 1 6
      target/linux/brcm2708/patches-3.14/0045-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
  95. 0 5
      target/linux/brcm2708/patches-3.14/0046-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch
  96. 1 6
      target/linux/brcm2708/patches-3.14/0047-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
  97. 2 9
      target/linux/brcm2708/patches-3.14/0048-ASoc-Don-t-report-S24_LE-support-it-produces-white-n.patch
  98. 4 28
      target/linux/brcm2708/patches-3.14/0049-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
  99. 4 9
      target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch
  100. 1 6
      target/linux/brcm2708/patches-3.14/0051-Use-a-range-macro-for-Playback-Volume.patch

+ 2 - 2
target/linux/adm8668/patches-3.14/004-tulip_pci_split.patch

@@ -197,7 +197,7 @@
  }
  }
  
  
  
  
-@@ -887,7 +913,9 @@ static int tulip_ethtool_set_wol(struct
+@@ -887,7 +913,9 @@ static int tulip_ethtool_set_wol(struct 
  		   return -EOPNOTSUPP;
  		   return -EOPNOTSUPP;
  
  
  	tp->wolinfo.wolopts = wolinfo->wolopts;
  	tp->wolinfo.wolopts = wolinfo->wolopts;
@@ -295,7 +295,7 @@
  	.name		= DRV_NAME,
  	.name		= DRV_NAME,
  	.id_table	= tulip_pci_tbl,
  	.id_table	= tulip_pci_tbl,
  	.probe		= tulip_init_one,
  	.probe		= tulip_init_one,
-@@ -1974,10 +2014,12 @@ static struct pci_driver tulip_driver =
+@@ -1974,10 +2014,12 @@ static struct pci_driver tulip_driver = 
  	.resume		= tulip_resume,
  	.resume		= tulip_resume,
  #endif /* CONFIG_PM */
  #endif /* CONFIG_PM */
  };
  };

+ 1 - 1
target/linux/adm8668/patches-3.14/005-tulip_platform.patch

@@ -122,7 +122,7 @@
  }
  }
  
  
  
  
-@@ -916,6 +951,9 @@ static int tulip_ethtool_set_wol(struct
+@@ -916,6 +951,9 @@ static int tulip_ethtool_set_wol(struct 
  #ifdef CONFIG_TULIP_PCI
  #ifdef CONFIG_TULIP_PCI
  	device_set_wakeup_enable(tp->kdev, tp->wolinfo.wolopts);
  	device_set_wakeup_enable(tp->kdev, tp->wolinfo.wolopts);
  #endif
  #endif

+ 2 - 2
target/linux/adm8668/patches-3.14/200-amba_pl010_hacks.patch

@@ -266,7 +266,7 @@
  }
  }
  
  
  static void
  static void
-@@ -573,8 +572,8 @@ pl010_console_write(struct console *co,
+@@ -573,8 +572,8 @@ pl010_console_write(struct console *co, 
  	/*
  	/*
  	 *	First save the CR then disable the interrupts
  	 *	First save the CR then disable the interrupts
  	 */
  	 */
@@ -277,7 +277,7 @@
  
  
  	uart_console_write(&uap->port, s, count, pl010_console_putchar);
  	uart_console_write(&uap->port, s, count, pl010_console_putchar);
  
  
-@@ -583,10 +582,10 @@ pl010_console_write(struct console *co,
+@@ -583,10 +582,10 @@ pl010_console_write(struct console *co, 
  	 *	and restore the TCR
  	 *	and restore the TCR
  	 */
  	 */
  	do {
  	do {

+ 1 - 6
target/linux/ar7/patches-3.14/001-mips-ar7-fix-serial.patch

@@ -11,11 +11,9 @@ Signed-off-by: Oswald Buddenhagen <[email protected]>
  arch/mips/ar7/platform.c | 1 +
  arch/mips/ar7/platform.c | 1 +
  1 file changed, 1 insertion(+)
  1 file changed, 1 insertion(+)
 
 
-diff --git a/arch/mips/ar7/platform.c b/arch/mips/ar7/platform.c
-index 7e2356f..e4f47d3 100644
 --- a/arch/mips/ar7/platform.c
 --- a/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
 +++ b/arch/mips/ar7/platform.c
-@@ -581,6 +581,7 @@ static int __init ar7_register_uarts(void)
+@@ -581,6 +581,7 @@ static int __init ar7_register_uarts(voi
  	uart_port.type		= PORT_AR7;
  	uart_port.type		= PORT_AR7;
  	uart_port.uartclk	= clk_get_rate(bus_clk) / 2;
  	uart_port.uartclk	= clk_get_rate(bus_clk) / 2;
  	uart_port.iotype	= UPIO_MEM32;
  	uart_port.iotype	= UPIO_MEM32;
@@ -23,6 +21,3 @@ index 7e2356f..e4f47d3 100644
  	uart_port.regshift	= 2;
  	uart_port.regshift	= 2;
  
  
  	uart_port.line		= 0;
  	uart_port.line		= 0;
--- 
-1.8.5.3.2.g3dbf181
-

+ 2 - 2
target/linux/ar7/patches-3.14/120-gpio_chrdev.patch

@@ -1,6 +1,6 @@
 --- a/drivers/char/Kconfig
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
-@@ -464,6 +464,15 @@ config MWAVE
+@@ -452,6 +452,15 @@ config MWAVE
  	  To compile this driver as a module, choose M here: the
  	  To compile this driver as a module, choose M here: the
  	  module will be called mwave.
  	  module will be called mwave.
  
  
@@ -18,7 +18,7 @@
  	depends on SCx200
  	depends on SCx200
 --- a/drivers/char/Makefile
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
 +++ b/drivers/char/Makefile
-@@ -43,6 +43,7 @@ obj-$(CONFIG_HW_RANDOM)		+= hw_random/
+@@ -42,6 +42,7 @@ obj-$(CONFIG_HW_RANDOM)		+= hw_random/
  obj-$(CONFIG_PPDEV)		+= ppdev.o
  obj-$(CONFIG_PPDEV)		+= ppdev.o
  obj-$(CONFIG_NWBUTTON)		+= nwbutton.o
  obj-$(CONFIG_NWBUTTON)		+= nwbutton.o
  obj-$(CONFIG_NWFLASH)		+= nwflash.o
  obj-$(CONFIG_NWFLASH)		+= nwflash.o

+ 3 - 3
target/linux/ar7/patches-3.14/160-vlynq_try_remote_first.patch

@@ -199,7 +199,7 @@
  		return 0;
  		return 0;
  	}
  	}
  
  
-@@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct
+@@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct 
  		return result;
  		return result;
  
  
  	switch (dev->divisor) {
  	switch (dev->divisor) {
@@ -229,7 +229,7 @@
  		break;
  		break;
  	case vlynq_ldiv1:
  	case vlynq_ldiv1:
  	case vlynq_ldiv2:
  	case vlynq_ldiv2:
-@@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct
+@@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct 
  	case vlynq_ldiv6:
  	case vlynq_ldiv6:
  	case vlynq_ldiv7:
  	case vlynq_ldiv7:
  	case vlynq_ldiv8:
  	case vlynq_ldiv8:
@@ -251,7 +251,7 @@
  			return 0;
  			return 0;
  		}
  		}
  		break;
  		break;
-@@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct
+@@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct 
  	case vlynq_rdiv6:
  	case vlynq_rdiv6:
  	case vlynq_rdiv7:
  	case vlynq_rdiv7:
  	case vlynq_rdiv8:
  	case vlynq_rdiv8:

+ 2 - 2
target/linux/ar7/patches-3.14/300-add-ac49x-platform.patch

@@ -37,7 +37,7 @@
  #define AR7_IRQ_UART0	15
  #define AR7_IRQ_UART0	15
 --- a/arch/mips/Kconfig
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -86,7 +86,7 @@ config AR7
+@@ -89,7 +89,7 @@ config AR7
  	select HAVE_CLK
  	select HAVE_CLK
  	help
  	help
  	  Support for the Texas Instruments AR7 System-on-a-Chip
  	  Support for the Texas Instruments AR7 System-on-a-Chip
@@ -46,7 +46,7 @@
  
  
  config ATH79
  config ATH79
  	bool "Atheros AR71XX/AR724X/AR913X based boards"
  	bool "Atheros AR71XX/AR724X/AR913X based boards"
-@@ -839,6 +839,7 @@ config NLM_XLP_BOARD
+@@ -796,6 +796,7 @@ config NLM_XLP_BOARD
  endchoice
  endchoice
  
  
  source "arch/mips/alchemy/Kconfig"
  source "arch/mips/alchemy/Kconfig"

+ 1 - 1
target/linux/ar7/patches-3.14/320-ac49x-mtd-partitions.patch

@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -192,6 +192,11 @@ config MTD_OF_PARTS
+@@ -169,6 +169,11 @@ config MTD_OF_PARTS
  	  the partition map from the children of the flash node,
  	  the partition map from the children of the flash node,
  	  as described in Documentation/devicetree/booting-without-of.txt.
  	  as described in Documentation/devicetree/booting-without-of.txt.
  
  

+ 1 - 1
target/linux/ar7/patches-3.14/500-serial_kludge.patch

@@ -14,7 +14,7 @@
  };
  };
  
  
  /* Uart divisor latch read */
  /* Uart divisor latch read */
-@@ -2843,7 +2850,11 @@ static void serial8250_console_putchar(s
+@@ -2861,7 +2868,11 @@ static void serial8250_console_putchar(s
  	struct uart_8250_port *up =
  	struct uart_8250_port *up =
  		container_of(port, struct uart_8250_port, port);
  		container_of(port, struct uart_8250_port, port);
  
  

+ 2 - 2
target/linux/ar7/patches-3.14/920-ar7part.patch

@@ -33,7 +33,7 @@
  	size_t len;
  	size_t len;
  	unsigned int pre_size = master->erasesize, post_size = 0;
  	unsigned int pre_size = master->erasesize, post_size = 0;
  	unsigned int root_offset = ROOT_OFFSET;
  	unsigned int root_offset = ROOT_OFFSET;
-@@ -55,6 +62,16 @@ static int create_mtd_partitions(struct
+@@ -55,6 +62,16 @@ static int create_mtd_partitions(struct 
  	int retries = 10;
  	int retries = 10;
  	struct mtd_partition *ar7_parts;
  	struct mtd_partition *ar7_parts;
  
  
@@ -50,7 +50,7 @@
  	ar7_parts = kzalloc(sizeof(*ar7_parts) * AR7_PARTS, GFP_KERNEL);
  	ar7_parts = kzalloc(sizeof(*ar7_parts) * AR7_PARTS, GFP_KERNEL);
  	if (!ar7_parts)
  	if (!ar7_parts)
  		return -ENOMEM;
  		return -ENOMEM;
-@@ -83,34 +100,39 @@ static int create_mtd_partitions(struct
+@@ -83,34 +100,39 @@ static int create_mtd_partitions(struct 
  
  
  	pre_size = offset;
  	pre_size = offset;
  
  

+ 4 - 4
target/linux/ar7/patches-3.14/950-cpmac_titan.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/ti/cpmac.c
 --- a/drivers/net/ethernet/ti/cpmac.c
 +++ b/drivers/net/ethernet/ti/cpmac.c
 +++ b/drivers/net/ethernet/ti/cpmac.c
-@@ -1155,6 +1155,8 @@ static int cpmac_probe(struct platform_d
+@@ -1154,6 +1154,8 @@ static int cpmac_probe(struct platform_d
  		goto fail;
  		goto fail;
  	}
  	}
  
  
@@ -9,7 +9,7 @@
  	dev->irq = platform_get_irq_byname(pdev, "irq");
  	dev->irq = platform_get_irq_byname(pdev, "irq");
  
  
  	dev->netdev_ops = &cpmac_netdev_ops;
  	dev->netdev_ops = &cpmac_netdev_ops;
-@@ -1233,7 +1235,7 @@ int cpmac_init(void)
+@@ -1232,7 +1234,7 @@ int cpmac_init(void)
  	cpmac_mii->reset = cpmac_mdio_reset;
  	cpmac_mii->reset = cpmac_mdio_reset;
  	cpmac_mii->irq = mii_irqs;
  	cpmac_mii->irq = mii_irqs;
  
  
@@ -18,7 +18,7 @@
  
  
  	if (!cpmac_mii->priv) {
  	if (!cpmac_mii->priv) {
  		printk(KERN_ERR "Can't ioremap mdio registers\n");
  		printk(KERN_ERR "Can't ioremap mdio registers\n");
-@@ -1244,10 +1246,16 @@ int cpmac_init(void)
+@@ -1243,10 +1245,16 @@ int cpmac_init(void)
  #warning FIXME: unhardcode gpio&reset bits
  #warning FIXME: unhardcode gpio&reset bits
  	ar7_gpio_disable(26);
  	ar7_gpio_disable(26);
  	ar7_gpio_disable(27);
  	ar7_gpio_disable(27);
@@ -37,7 +37,7 @@
  	cpmac_mii->reset(cpmac_mii);
  	cpmac_mii->reset(cpmac_mii);
  
  
  	for (i = 0; i < 300; i++) {
  	for (i = 0; i < 300; i++) {
-@@ -1264,7 +1272,11 @@ int cpmac_init(void)
+@@ -1263,7 +1271,11 @@ int cpmac_init(void)
  		mask = 0;
  		mask = 0;
  	}
  	}
  
  

+ 1 - 1
target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch

@@ -81,7 +81,7 @@
 +	     ubnt_loco_m_xw_setup);
 +	     ubnt_loco_m_xw_setup);
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -121,9 +121,11 @@ enum ath79_mach_type {
+@@ -122,9 +122,11 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WR941ND,		/* TP-LINK TL-WR941ND */
  	ATH79_MACH_TL_WR941ND,		/* TP-LINK TL-WR941ND */
  	ATH79_MACH_UBNT_AIRROUTER,	/* Ubiquiti AirRouter */
  	ATH79_MACH_UBNT_AIRROUTER,	/* Ubiquiti AirRouter */
  	ATH79_MACH_UBNT_BULLET_M,	/* Ubiquiti Bullet M */
  	ATH79_MACH_UBNT_BULLET_M,	/* Ubiquiti Bullet M */

+ 2 - 2
target/linux/ar71xx/patches-3.14/634-MIPS-ath79-WNR2000V4-support.patch

@@ -19,7 +19,7 @@
  	select SOC_AR724X
  	select SOC_AR724X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -114,6 +114,7 @@ obj-$(CONFIG_ATH79_MACH_WNDR3700)	+= mac
+@@ -115,6 +115,7 @@ obj-$(CONFIG_ATH79_MACH_WNDR3700)	+= mac
  obj-$(CONFIG_ATH79_MACH_WNDR4300)	+= mach-wndr4300.o
  obj-$(CONFIG_ATH79_MACH_WNDR4300)	+= mach-wndr4300.o
  obj-$(CONFIG_ATH79_MACH_WNR2000)	+= mach-wnr2000.o
  obj-$(CONFIG_ATH79_MACH_WNR2000)	+= mach-wnr2000.o
  obj-$(CONFIG_ATH79_MACH_WNR2000_V3)	+= mach-wnr2000-v3.o
  obj-$(CONFIG_ATH79_MACH_WNR2000_V3)	+= mach-wnr2000-v3.o
@@ -29,7 +29,7 @@
  obj-$(CONFIG_ATH79_MACH_WPE72)		+= mach-wpe72.o
  obj-$(CONFIG_ATH79_MACH_WPE72)		+= mach-wpe72.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -144,6 +144,7 @@ enum ath79_mach_type {
+@@ -145,6 +145,7 @@ enum ath79_mach_type {
  	ATH79_MACH_WNDR4300,		/* NETGEAR WNDR4300 */
  	ATH79_MACH_WNDR4300,		/* NETGEAR WNDR4300 */
  	ATH79_MACH_WNR2000,		/* NETGEAR WNR2000 */
  	ATH79_MACH_WNR2000,		/* NETGEAR WNR2000 */
  	ATH79_MACH_WNR2000_V3,		/* NETGEAR WNR2000 v3 */
  	ATH79_MACH_WNR2000_V3,		/* NETGEAR WNR2000 v3 */

+ 1 - 1
target/linux/ar71xx/patches-3.14/700-MIPS-ath79-add-TL-WA801NDv2-suport.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -101,6 +101,7 @@ enum ath79_mach_type {
+@@ -102,6 +102,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WA750RE,		/* TP-LINK TL-WA750RE */
  	ATH79_MACH_TL_WA750RE,		/* TP-LINK TL-WA750RE */
  	ATH79_MACH_TL_WA7510N_V1,	/* TP-LINK TL-WA7510N v1*/
  	ATH79_MACH_TL_WA7510N_V1,	/* TP-LINK TL-WA7510N v1*/
  	ATH79_MACH_TL_WA850RE,		/* TP-LINK TL-WA850RE */
  	ATH79_MACH_TL_WA850RE,		/* TP-LINK TL-WA850RE */

+ 1 - 1
target/linux/ar71xx/patches-3.14/701-MIPS-ath79-add-TL-WA901ND-v3-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -104,6 +104,7 @@ enum ath79_mach_type {
+@@ -105,6 +105,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WA801ND_V2,	/* TP-LINK TL-WA801ND v2 */
  	ATH79_MACH_TL_WA801ND_V2,	/* TP-LINK TL-WA801ND v2 */
  	ATH79_MACH_TL_WA901ND,		/* TP-LINK TL-WA901ND */
  	ATH79_MACH_TL_WA901ND,		/* TP-LINK TL-WA901ND */
  	ATH79_MACH_TL_WA901ND_V2,	/* TP-LINK TL-WA901ND v2 */
  	ATH79_MACH_TL_WA901ND_V2,	/* TP-LINK TL-WA901ND v2 */

+ 3 - 3
target/linux/ar71xx/patches-3.14/702-MIPS-ath79-add-MyNet-N750-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -57,6 +57,7 @@ enum ath79_mach_type {
+@@ -58,6 +58,7 @@ enum ath79_mach_type {
  	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
  	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
  	ATH79_MACH_MR600,		/* OpenMesh MR600 */
  	ATH79_MACH_MR600,		/* OpenMesh MR600 */
  	ATH79_MACH_MYNET_N600,		/* WD My Net N600 */
  	ATH79_MACH_MYNET_N600,		/* WD My Net N600 */
@@ -10,7 +10,7 @@
  	ATH79_MACH_MZK_W300NH,		/* Planex MZK-W300NH */
  	ATH79_MACH_MZK_W300NH,		/* Planex MZK-W300NH */
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -830,6 +830,16 @@ config ATH79_MACH_MYNET_N600
+@@ -839,6 +839,16 @@ config ATH79_MACH_MYNET_N600
  	select ATH79_DEV_WMAC
  	select ATH79_DEV_WMAC
  	select ATH79_NVRAM
  	select ATH79_NVRAM
  
  
@@ -29,7 +29,7 @@
  	select SOC_AR934X
  	select SOC_AR934X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -67,6 +67,7 @@ obj-$(CONFIG_ATH79_MACH_JWAP003)	+= mach
+@@ -68,6 +68,7 @@ obj-$(CONFIG_ATH79_MACH_JWAP003)	+= mach
  obj-$(CONFIG_ATH79_MACH_HORNET_UB)	+= mach-hornet-ub.o
  obj-$(CONFIG_ATH79_MACH_HORNET_UB)	+= mach-hornet-ub.o
  obj-$(CONFIG_ATH79_MACH_MR600)		+= mach-mr600.o
  obj-$(CONFIG_ATH79_MACH_MR600)		+= mach-mr600.o
  obj-$(CONFIG_ATH79_MACH_MYNET_N600)	+= mach-mynet-n600.o
  obj-$(CONFIG_ATH79_MACH_MYNET_N600)	+= mach-mynet-n600.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/703-MIPS-ath79-add-RB91x-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -76,6 +76,7 @@ enum ath79_mach_type {
+@@ -77,6 +77,7 @@ enum ath79_mach_type {
  	ATH79_MACH_RB_450,		/* MikroTik RouterBOARD 450 */
  	ATH79_MACH_RB_450,		/* MikroTik RouterBOARD 450 */
  	ATH79_MACH_RB_493,		/* Mikrotik RouterBOARD 493/493AH */
  	ATH79_MACH_RB_493,		/* Mikrotik RouterBOARD 493/493AH */
  	ATH79_MACH_RB_493G,		/* Mikrotik RouterBOARD 493G */
  	ATH79_MACH_RB_493G,		/* Mikrotik RouterBOARD 493G */
@@ -29,7 +29,7 @@
         select SOC_AR934X
         select SOC_AR934X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -78,6 +78,7 @@ obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-p
+@@ -79,6 +79,7 @@ obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-p
  obj-$(CONFIG_ATH79_MACH_PB92)		+= mach-pb92.o
  obj-$(CONFIG_ATH79_MACH_PB92)		+= mach-pb92.o
  obj-$(CONFIG_ATH79_MACH_RB4XX)		+= mach-rb4xx.o
  obj-$(CONFIG_ATH79_MACH_RB4XX)		+= mach-rb4xx.o
  obj-$(CONFIG_ATH79_MACH_RB750)		+= mach-rb750.o
  obj-$(CONFIG_ATH79_MACH_RB750)		+= mach-rb750.o

+ 1 - 1
target/linux/ar71xx/patches-3.14/704-MIPS-ath79-TL-WDR4900v2-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -109,6 +109,7 @@ enum ath79_mach_type {
+@@ -110,6 +110,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WA901ND_V3,	/* TP-LINK TL-WA901ND v3 */
  	ATH79_MACH_TL_WA901ND_V3,	/* TP-LINK TL-WA901ND v3 */
  	ATH79_MACH_TL_WDR3500,		/* TP-LINK TL-WDR3500 */
  	ATH79_MACH_TL_WDR3500,		/* TP-LINK TL-WDR3500 */
  	ATH79_MACH_TL_WDR4300,		/* TP-LINK TL-WDR4300 */
  	ATH79_MACH_TL_WDR4300,		/* TP-LINK TL-WDR4300 */

+ 1 - 1
target/linux/ar71xx/patches-3.14/705-MIPS-ath79-add-RB951Ui-2HnD-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -82,6 +82,7 @@ enum ath79_mach_type {
+@@ -83,6 +83,7 @@ enum ath79_mach_type {
  	ATH79_MACH_RB_751,		/* MikroTik RouterBOARD 751 */
  	ATH79_MACH_RB_751,		/* MikroTik RouterBOARD 751 */
  	ATH79_MACH_RB_751G,		/* Mikrotik RouterBOARD 751G */
  	ATH79_MACH_RB_751G,		/* Mikrotik RouterBOARD 751G */
  	ATH79_MACH_RB_951G,		/* Mikrotik RouterBOARD 951G */
  	ATH79_MACH_RB_951G,		/* Mikrotik RouterBOARD 951G */

+ 2 - 2
target/linux/ar71xx/patches-3.14/706-MIPS-ath79-oolite-v1-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -50,6 +50,7 @@ enum ath79_mach_type {
+@@ -51,6 +51,7 @@ enum ath79_mach_type {
  	ATH79_MACH_EW_DORIN,		/* embedded wireless Dorin Platform */
  	ATH79_MACH_EW_DORIN,		/* embedded wireless Dorin Platform */
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
@@ -29,7 +29,7 @@
  	select SOC_AR71XX
  	select SOC_AR71XX
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -62,6 +62,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= m
+@@ -63,6 +63,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= m
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/707-MIPS-ath79-add-support-for-QCA953x-SoC.patch

@@ -22,7 +22,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
 
 
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -939,6 +939,10 @@ config SOC_AR934X
+@@ -948,6 +948,10 @@ config SOC_AR934X
  	select PCI_AR724X if PCI
  	select PCI_AR724X if PCI
  	def_bool n
  	def_bool n
  
  
@@ -33,7 +33,7 @@ meaning of the bits CPUCLK_FROM_CPUPLL and DDRCLK_FROM_DDRPLL is reversed.
  config SOC_QCA955X
  config SOC_QCA955X
  	select USB_ARCH_HAS_EHCI
  	select USB_ARCH_HAS_EHCI
  	select HW_HAS_PCI
  	select HW_HAS_PCI
-@@ -982,7 +986,7 @@ config ATH79_DEV_USB
+@@ -991,7 +995,7 @@ config ATH79_DEV_USB
  	def_bool n
  	def_bool n
  
  
  config ATH79_DEV_WMAC
  config ATH79_DEV_WMAC

+ 3 - 3
target/linux/ar71xx/patches-3.14/708-MIPS-ath79-TL-WR841v9-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -726,6 +726,15 @@ config ATH79_MACH_TL_WR841N_V8
+@@ -735,6 +735,15 @@ config ATH79_MACH_TL_WR841N_V8
  	select ATH79_DEV_USB
  	select ATH79_DEV_USB
  	select ATH79_DEV_WMAC
  	select ATH79_DEV_WMAC
  
  
@@ -18,7 +18,7 @@
  	select SOC_AR913X
  	select SOC_AR913X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -100,6 +100,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR741ND)	+= m
+@@ -101,6 +101,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR741ND)	+= m
  obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4)	+= mach-tl-wr741nd-v4.o
  obj-$(CONFIG_ATH79_MACH_TL_WR741ND_V4)	+= mach-tl-wr741nd-v4.o
  obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1)	+= mach-tl-wr841n.o
  obj-$(CONFIG_ATH79_MACH_TL_WR841N_V1)	+= mach-tl-wr841n.o
  obj-$(CONFIG_ATH79_MACH_TL_WR841N_V8)	+= mach-tl-wr841n-v8.o
  obj-$(CONFIG_ATH79_MACH_TL_WR841N_V8)	+= mach-tl-wr841n-v8.o
@@ -28,7 +28,7 @@
  obj-$(CONFIG_ATH79_MACH_TL_WR1043ND)	+= mach-tl-wr1043nd.o
  obj-$(CONFIG_ATH79_MACH_TL_WR1043ND)	+= mach-tl-wr1043nd.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -124,6 +124,7 @@ enum ath79_mach_type {
+@@ -125,6 +125,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WR841N_V1,	/* TP-LINK TL-WR841N v1 */
  	ATH79_MACH_TL_WR841N_V1,	/* TP-LINK TL-WR841N v1 */
  	ATH79_MACH_TL_WR841N_V7,	/* TP-LINK TL-WR841N/ND v7 */
  	ATH79_MACH_TL_WR841N_V7,	/* TP-LINK TL-WR841N/ND v7 */
  	ATH79_MACH_TL_WR841N_V8,	/* TP-LINK TL-WR841N/ND v8 */
  	ATH79_MACH_TL_WR841N_V8,	/* TP-LINK TL-WR841N/ND v8 */

+ 2 - 2
target/linux/ar71xx/patches-3.14/709-MIPS-ath79-HiWiFi-HC6361-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -63,6 +63,7 @@ obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mac
+@@ -64,6 +64,7 @@ obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mac
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_GS_OOLITE)	+= mach-gs-oolite.o
  obj-$(CONFIG_ATH79_MACH_GS_OOLITE)	+= mach-gs-oolite.o
@@ -10,7 +10,7 @@
  obj-$(CONFIG_ATH79_MACH_HORNET_UB)	+= mach-hornet-ub.o
  obj-$(CONFIG_ATH79_MACH_HORNET_UB)	+= mach-hornet-ub.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -51,6 +51,7 @@ enum ath79_mach_type {
+@@ -52,6 +52,7 @@ enum ath79_mach_type {
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_GS_OOLITE,           /* GS OOLITE V1.0 */
  	ATH79_MACH_GS_OOLITE,           /* GS OOLITE V1.0 */

+ 3 - 3
target/linux/ar71xx/patches-3.14/709-MIPS-ath79-add-NBG6716.patch

@@ -1,13 +1,13 @@
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -131,3 +131,4 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H)	+
+@@ -132,3 +132,4 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H)	+
  obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H)	+= mach-wzr-hp-g450h.o
  obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H)	+= mach-wzr-hp-g450h.o
  obj-$(CONFIG_ATH79_MACH_ZCN_1523H)	+= mach-zcn-1523h.o
  obj-$(CONFIG_ATH79_MACH_ZCN_1523H)	+= mach-zcn-1523h.o
  obj-$(CONFIG_ATH79_MACH_CARAMBOLA2)	+= mach-carambola2.o
  obj-$(CONFIG_ATH79_MACH_CARAMBOLA2)	+= mach-carambola2.o
 +obj-$(CONFIG_ATH79_MACH_NBG6716)	+= mach-nbg6716.o
 +obj-$(CONFIG_ATH79_MACH_NBG6716)	+= mach-nbg6716.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -64,6 +64,7 @@ enum ath79_mach_type {
+@@ -65,6 +65,7 @@ enum ath79_mach_type {
  	ATH79_MACH_MZK_W04NU,		/* Planex MZK-W04NU */
  	ATH79_MACH_MZK_W04NU,		/* Planex MZK-W04NU */
  	ATH79_MACH_MZK_W300NH,		/* Planex MZK-W300NH */
  	ATH79_MACH_MZK_W300NH,		/* Planex MZK-W300NH */
  	ATH79_MACH_NBG460N,		/* Zyxel NBG460N/550N/550NH */
  	ATH79_MACH_NBG460N,		/* Zyxel NBG460N/550N/550NH */
@@ -17,7 +17,7 @@
  	ATH79_MACH_OM2P,		/* OpenMesh OM2P */
  	ATH79_MACH_OM2P,		/* OpenMesh OM2P */
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -909,6 +909,17 @@ config ATH79_MACH_NBG460N
+@@ -918,6 +918,17 @@ config ATH79_MACH_NBG460N
  	select ATH79_DEV_M25P80
  	select ATH79_DEV_M25P80
  	select ATH79_DEV_WMAC
  	select ATH79_DEV_WMAC
  
  

+ 1 - 1
target/linux/ar71xx/patches-3.14/710-MIPS-ath79-add-OM2Pv2.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -67,6 +67,7 @@ enum ath79_mach_type {
+@@ -68,6 +68,7 @@ enum ath79_mach_type {
  	ATH79_MACH_NBG6716,		/* Zyxel NBG6716 */
  	ATH79_MACH_NBG6716,		/* Zyxel NBG6716 */
  	ATH79_MACH_OM2P_HS,		/* OpenMesh OM2P-HS */
  	ATH79_MACH_OM2P_HS,		/* OpenMesh OM2P-HS */
  	ATH79_MACH_OM2P_LC,		/* OpenMesh OM2P-LC */
  	ATH79_MACH_OM2P_LC,		/* OpenMesh OM2P-LC */

+ 1 - 1
target/linux/ar71xx/patches-3.14/711-MIPS-ath79-add-OM2P-HSv2.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -65,6 +65,7 @@ enum ath79_mach_type {
+@@ -66,6 +66,7 @@ enum ath79_mach_type {
  	ATH79_MACH_MZK_W300NH,		/* Planex MZK-W300NH */
  	ATH79_MACH_MZK_W300NH,		/* Planex MZK-W300NH */
  	ATH79_MACH_NBG460N,		/* Zyxel NBG460N/550N/550NH */
  	ATH79_MACH_NBG460N,		/* Zyxel NBG460N/550N/550NH */
  	ATH79_MACH_NBG6716,		/* Zyxel NBG6716 */
  	ATH79_MACH_NBG6716,		/* Zyxel NBG6716 */

+ 2 - 2
target/linux/ar71xx/patches-3.14/712-MIPS-ath79-add-EasyLink-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -50,6 +50,8 @@ enum ath79_mach_type {
+@@ -51,6 +51,8 @@ enum ath79_mach_type {
  	ATH79_MACH_EW_DORIN,		/* embedded wireless Dorin Platform */
  	ATH79_MACH_EW_DORIN,		/* embedded wireless Dorin Platform */
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
@@ -40,7 +40,7 @@
         select SOC_AR933X
         select SOC_AR933X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -62,6 +62,8 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= m
+@@ -63,6 +63,8 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= m
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/713-MIPS-ath79-add-RBSXTLite-support.patch

@@ -17,7 +17,7 @@
  	select SOC_AR71XX
  	select SOC_AR71XX
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -93,6 +93,8 @@ enum ath79_mach_type {
+@@ -94,6 +94,8 @@ enum ath79_mach_type {
  	ATH79_MACH_RB_2011G,		/* Mikrotik RouterBOARD 2011UAS-2HnD */
  	ATH79_MACH_RB_2011G,		/* Mikrotik RouterBOARD 2011UAS-2HnD */
  	ATH79_MACH_RB_2011L,		/* Mikrotik RouterBOARD 2011L */
  	ATH79_MACH_RB_2011L,		/* Mikrotik RouterBOARD 2011L */
  	ATH79_MACH_RB_2011US,		/* Mikrotik RouterBOARD 2011UAS */
  	ATH79_MACH_RB_2011US,		/* Mikrotik RouterBOARD 2011UAS */
@@ -28,7 +28,7 @@
  	ATH79_MACH_TEW_673GRU,		/* TRENDnet TEW-673GRU */
  	ATH79_MACH_TEW_673GRU,		/* TRENDnet TEW-673GRU */
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -85,6 +85,7 @@ obj-$(CONFIG_ATH79_MACH_RB750)		+= mach-
+@@ -86,6 +86,7 @@ obj-$(CONFIG_ATH79_MACH_RB750)		+= mach-
  obj-$(CONFIG_ATH79_MACH_RB91X)		+= mach-rb91x.o
  obj-$(CONFIG_ATH79_MACH_RB91X)		+= mach-rb91x.o
  obj-$(CONFIG_ATH79_MACH_RB95X)		+= mach-rb95x.o
  obj-$(CONFIG_ATH79_MACH_RB95X)		+= mach-rb95x.o
  obj-$(CONFIG_ATH79_MACH_RB2011)		+= mach-rb2011.o
  obj-$(CONFIG_ATH79_MACH_RB2011)		+= mach-rb2011.o

+ 3 - 3
target/linux/ar71xx/patches-3.14/714-MIPS-ath79-add-TL-WA830REv2-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -666,6 +666,16 @@ config ATH79_MACH_TL_WAX50RE
+@@ -675,6 +675,16 @@ config ATH79_MACH_TL_WAX50RE
  	select ATH79_DEV_M25P80
  	select ATH79_DEV_M25P80
  	select ATH79_DEV_WMAC
  	select ATH79_DEV_WMAC
  
  
@@ -19,7 +19,7 @@
  	select SOC_AR724X
  	select SOC_AR724X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -96,6 +96,7 @@ obj-$(CONFIG_ATH79_MACH_TL_MR13U)	+= mac
+@@ -97,6 +97,7 @@ obj-$(CONFIG_ATH79_MACH_TL_MR13U)	+= mac
  obj-$(CONFIG_ATH79_MACH_TL_MR3020)	+= mach-tl-mr3020.o
  obj-$(CONFIG_ATH79_MACH_TL_MR3020)	+= mach-tl-mr3020.o
  obj-$(CONFIG_ATH79_MACH_TL_MR3X20)	+= mach-tl-mr3x20.o
  obj-$(CONFIG_ATH79_MACH_TL_MR3X20)	+= mach-tl-mr3x20.o
  obj-$(CONFIG_ATH79_MACH_TL_WAX50RE)     += mach-tl-wax50re.o
  obj-$(CONFIG_ATH79_MACH_TL_WAX50RE)     += mach-tl-wax50re.o
@@ -29,7 +29,7 @@
  obj-$(CONFIG_ATH79_MACH_TL_WDR3500)     += mach-tl-wdr3500.o
  obj-$(CONFIG_ATH79_MACH_TL_WDR3500)     += mach-tl-wdr3500.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -114,6 +114,7 @@ enum ath79_mach_type {
+@@ -115,6 +115,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WA7510N_V1,	/* TP-LINK TL-WA7510N v1*/
  	ATH79_MACH_TL_WA7510N_V1,	/* TP-LINK TL-WA7510N v1*/
  	ATH79_MACH_TL_WA850RE,		/* TP-LINK TL-WA850RE */
  	ATH79_MACH_TL_WA850RE,		/* TP-LINK TL-WA850RE */
  	ATH79_MACH_TL_WA801ND_V2,	/* TP-LINK TL-WA801ND v2 */
  	ATH79_MACH_TL_WA801ND_V2,	/* TP-LINK TL-WA801ND v2 */

+ 1 - 1
target/linux/ar71xx/patches-3.14/715-MIPS-ath79-add-TL-WA860RE-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -113,6 +113,7 @@ enum ath79_mach_type {
+@@ -114,6 +114,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WA750RE,		/* TP-LINK TL-WA750RE */
  	ATH79_MACH_TL_WA750RE,		/* TP-LINK TL-WA750RE */
  	ATH79_MACH_TL_WA7510N_V1,	/* TP-LINK TL-WA7510N v1*/
  	ATH79_MACH_TL_WA7510N_V1,	/* TP-LINK TL-WA7510N v1*/
  	ATH79_MACH_TL_WA850RE,		/* TP-LINK TL-WA850RE */
  	ATH79_MACH_TL_WA850RE,		/* TP-LINK TL-WA850RE */

+ 1 - 1
target/linux/ar71xx/patches-3.14/716-MIPS-ath79-add_mikrotik_rb2011uias.patch

@@ -16,7 +16,7 @@
  	rb2011_setup(RB2011_FLAG_SFP |
  	rb2011_setup(RB2011_FLAG_SFP |
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -93,6 +93,7 @@ enum ath79_mach_type {
+@@ -94,6 +94,7 @@ enum ath79_mach_type {
  	ATH79_MACH_RB_2011G,		/* Mikrotik RouterBOARD 2011UAS-2HnD */
  	ATH79_MACH_RB_2011G,		/* Mikrotik RouterBOARD 2011UAS-2HnD */
  	ATH79_MACH_RB_2011L,		/* Mikrotik RouterBOARD 2011L */
  	ATH79_MACH_RB_2011L,		/* Mikrotik RouterBOARD 2011L */
  	ATH79_MACH_RB_2011US,		/* Mikrotik RouterBOARD 2011UAS */
  	ATH79_MACH_RB_2011US,		/* Mikrotik RouterBOARD 2011UAS */

+ 2 - 2
target/linux/ar71xx/patches-3.14/717-MIPS-ath79-add-gl-inet-v1-support.patch

@@ -19,7 +19,7 @@
         select SOC_AR933X
         select SOC_AR933X
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -52,6 +52,7 @@ enum ath79_mach_type {
+@@ -53,6 +53,7 @@ enum ath79_mach_type {
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_EL_M150,		/* EasyLink EL-M150 */
  	ATH79_MACH_EL_M150,		/* EasyLink EL-M150 */
  	ATH79_MACH_EL_MINI,		/* EasyLink EL-MINI */
  	ATH79_MACH_EL_MINI,		/* EasyLink EL-MINI */
@@ -29,7 +29,7 @@
  	ATH79_MACH_JA76PF,		/* jjPlus JA76PF */
  	ATH79_MACH_JA76PF,		/* jjPlus JA76PF */
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -64,6 +64,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mac
+@@ -65,6 +65,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mac
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_EL_M150)	+= mach-el-m150.o
  obj-$(CONFIG_ATH79_MACH_EL_M150)	+= mach-el-m150.o
  obj-$(CONFIG_ATH79_MACH_EL_MINI)	+= mach-el-mini.o
  obj-$(CONFIG_ATH79_MACH_EL_MINI)	+= mach-el-mini.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/718-MIPS-ath79-add-ESR1750-support.patch

@@ -19,7 +19,7 @@
  	select SOC_AR724X
  	select SOC_AR724X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -64,6 +64,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mac
+@@ -65,6 +65,7 @@ obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mac
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_EAP7660D)	+= mach-eap7660d.o
  obj-$(CONFIG_ATH79_MACH_EL_M150)	+= mach-el-m150.o
  obj-$(CONFIG_ATH79_MACH_EL_M150)	+= mach-el-m150.o
  obj-$(CONFIG_ATH79_MACH_EL_MINI)	+= mach-el-mini.o
  obj-$(CONFIG_ATH79_MACH_EL_MINI)	+= mach-el-mini.o
@@ -29,7 +29,7 @@
  obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361)	+= mach-hiwifi-hc6361.o
  obj-$(CONFIG_ATH79_MACH_HIWIFI_HC6361)	+= mach-hiwifi-hc6361.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -52,6 +52,7 @@ enum ath79_mach_type {
+@@ -53,6 +53,7 @@ enum ath79_mach_type {
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_EAP7660D,		/* Senao EAP7660D */
  	ATH79_MACH_EL_M150,		/* EasyLink EL-M150 */
  	ATH79_MACH_EL_M150,		/* EasyLink EL-M150 */
  	ATH79_MACH_EL_MINI,		/* EasyLink EL-MINI */
  	ATH79_MACH_EL_MINI,		/* EasyLink EL-MINI */

+ 2 - 2
target/linux/ar71xx/patches-3.14/719-MIPS-ath79-add-ESR900-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -47,6 +47,7 @@ enum ath79_mach_type {
+@@ -48,6 +48,7 @@ enum ath79_mach_type {
  	ATH79_MACH_DIR_825_C1,		/* D-Link DIR-825 rev. C1 */
  	ATH79_MACH_DIR_825_C1,		/* D-Link DIR-825 rev. C1 */
  	ATH79_MACH_DIR_835_A1,		/* D-Link DIR-835 rev. A1 */
  	ATH79_MACH_DIR_835_A1,		/* D-Link DIR-835 rev. A1 */
  	ATH79_MACH_DRAGINO2,		/* Dragino Version 2 */
  	ATH79_MACH_DRAGINO2,		/* Dragino Version 2 */
@@ -29,7 +29,7 @@
  	select SOC_AR933X
  	select SOC_AR933X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_615_C1)	+= m
+@@ -61,6 +61,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_615_C1)	+= m
  obj-$(CONFIG_ATH79_MACH_DIR_825_B1)	+= mach-dir-825-b1.o
  obj-$(CONFIG_ATH79_MACH_DIR_825_B1)	+= mach-dir-825-b1.o
  obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= mach-dir-825-c1.o
  obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= mach-dir-825-c1.o
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/720-MIPS-ath79-add-Tube2H-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -141,6 +141,7 @@ enum ath79_mach_type {
+@@ -142,6 +142,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WR841N_V9,	/* TP-LINK TL-WR841N/ND v9 */
  	ATH79_MACH_TL_WR841N_V9,	/* TP-LINK TL-WR841N/ND v9 */
  	ATH79_MACH_TL_WR842N_V2,	/* TP-LINK TL-WR842N/ND v2 */
  	ATH79_MACH_TL_WR842N_V2,	/* TP-LINK TL-WR842N/ND v2 */
  	ATH79_MACH_TL_WR941ND,		/* TP-LINK TL-WR941ND */
  	ATH79_MACH_TL_WR941ND,		/* TP-LINK TL-WR941ND */
@@ -28,7 +28,7 @@
  	select SOC_AR724X
  	select SOC_AR724X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -116,6 +116,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2)	
+@@ -117,6 +117,7 @@ obj-$(CONFIG_ATH79_MACH_TL_WR1043ND_V2)	
  obj-$(CONFIG_ATH79_MACH_TL_WR2543N)	+= mach-tl-wr2543n.o
  obj-$(CONFIG_ATH79_MACH_TL_WR2543N)	+= mach-tl-wr2543n.o
  obj-$(CONFIG_ATH79_MACH_TL_WR703N)	+= mach-tl-wr703n.o
  obj-$(CONFIG_ATH79_MACH_TL_WR703N)	+= mach-tl-wr703n.o
  obj-$(CONFIG_ATH79_MACH_TL_WR720N_V3)	+= mach-tl-wr720n-v3.o
  obj-$(CONFIG_ATH79_MACH_TL_WR720N_V3)	+= mach-tl-wr720n-v3.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/721-MIPS-ath79-add-EAP300v2-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -50,6 +50,7 @@ enum ath79_mach_type {
+@@ -51,6 +51,7 @@ enum ath79_mach_type {
  	ATH79_MACH_ESR900,		/* EnGenius ESR900 */
  	ATH79_MACH_ESR900,		/* EnGenius ESR900 */
  	ATH79_MACH_EW_DORIN,		/* embedded wireless Dorin Platform */
  	ATH79_MACH_EW_DORIN,		/* embedded wireless Dorin Platform */
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
  	ATH79_MACH_EW_DORIN_ROUTER,	/* embedded wireless Dorin Router Platform */
@@ -28,7 +28,7 @@
         select SOC_AR933X
         select SOC_AR933X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -62,6 +62,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= m
+@@ -63,6 +63,7 @@ obj-$(CONFIG_ATH79_MACH_DIR_825_C1)	+= m
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o
  obj-$(CONFIG_ATH79_MACH_DRAGINO2)	+= mach-dragino2.o
  obj-$(CONFIG_ATH79_MACH_ESR900)	+= mach-esr900.o
  obj-$(CONFIG_ATH79_MACH_ESR900)	+= mach-esr900.o
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o
  obj-$(CONFIG_ATH79_MACH_EW_DORIN)	+= mach-ew-dorin.o

+ 1 - 1
target/linux/ar71xx/patches-3.14/722-MIPS-ath79-add-airGateway-support.patch

@@ -80,7 +80,7 @@
 +
 +
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -143,6 +143,7 @@ enum ath79_mach_type {
+@@ -144,6 +144,7 @@ enum ath79_mach_type {
  	ATH79_MACH_TL_WR842N_V2,	/* TP-LINK TL-WR842N/ND v2 */
  	ATH79_MACH_TL_WR842N_V2,	/* TP-LINK TL-WR842N/ND v2 */
  	ATH79_MACH_TL_WR941ND,		/* TP-LINK TL-WR941ND */
  	ATH79_MACH_TL_WR941ND,		/* TP-LINK TL-WR941ND */
  	ATH79_MACH_TUBE2H,		/* Alfa Network Tube2H */
  	ATH79_MACH_TUBE2H,		/* Alfa Network Tube2H */

+ 2 - 2
target/linux/ar71xx/patches-3.14/723-MIPS-ath79-add-om5p-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -76,6 +76,7 @@ enum ath79_mach_type {
+@@ -77,6 +77,7 @@ enum ath79_mach_type {
  	ATH79_MACH_OM2P_LC,		/* OpenMesh OM2P-LC */
  	ATH79_MACH_OM2P_LC,		/* OpenMesh OM2P-LC */
  	ATH79_MACH_OM2Pv2,		/* OpenMesh OM2Pv2 */
  	ATH79_MACH_OM2Pv2,		/* OpenMesh OM2Pv2 */
  	ATH79_MACH_OM2P,		/* OpenMesh OM2P */
  	ATH79_MACH_OM2P,		/* OpenMesh OM2P */
@@ -28,7 +28,7 @@
  	select SOC_AR934X
  	select SOC_AR934X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -81,6 +81,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W04NU)	+= ma
+@@ -82,6 +82,7 @@ obj-$(CONFIG_ATH79_MACH_MZK_W04NU)	+= ma
  obj-$(CONFIG_ATH79_MACH_MZK_W300NH)	+= mach-mzk-w300nh.o
  obj-$(CONFIG_ATH79_MACH_MZK_W300NH)	+= mach-mzk-w300nh.o
  obj-$(CONFIG_ATH79_MACH_NBG460N)	+= mach-nbg460n.o
  obj-$(CONFIG_ATH79_MACH_NBG460N)	+= mach-nbg460n.o
  obj-$(CONFIG_ATH79_MACH_OM2P)		+= mach-om2p.o
  obj-$(CONFIG_ATH79_MACH_OM2P)		+= mach-om2p.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/725-MIPS-ath79-add-smart-300-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -103,6 +103,7 @@ enum ath79_mach_type {
+@@ -104,6 +104,7 @@ enum ath79_mach_type {
  	ATH79_MACH_RB_SXTLITE2ND,	/* Mikrotik RouterBOARD SXT Lite 2nD */
  	ATH79_MACH_RB_SXTLITE2ND,	/* Mikrotik RouterBOARD SXT Lite 2nD */
  	ATH79_MACH_RB_SXTLITE5ND,	/* Mikrotik RouterBOARD SXT Lite 5nD */
  	ATH79_MACH_RB_SXTLITE5ND,	/* Mikrotik RouterBOARD SXT Lite 5nD */
  	ATH79_MACH_RW2458N,		/* Redwave RW2458N */
  	ATH79_MACH_RW2458N,		/* Redwave RW2458N */
@@ -28,7 +28,7 @@
  	select SOC_AR71XX
  	select SOC_AR71XX
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -92,6 +92,7 @@ obj-$(CONFIG_ATH79_MACH_RB95X)		+= mach-
+@@ -93,6 +93,7 @@ obj-$(CONFIG_ATH79_MACH_RB95X)		+= mach-
  obj-$(CONFIG_ATH79_MACH_RB2011)		+= mach-rb2011.o
  obj-$(CONFIG_ATH79_MACH_RB2011)		+= mach-rb2011.o
  obj-$(CONFIG_ATH79_MACH_RBSXTLITE)	+= mach-rbsxtlite.o
  obj-$(CONFIG_ATH79_MACH_RBSXTLITE)	+= mach-rbsxtlite.o
  obj-$(CONFIG_ATH79_MACH_RW2458N)	+= mach-rw2458n.o
  obj-$(CONFIG_ATH79_MACH_RW2458N)	+= mach-rw2458n.o

+ 1 - 1
target/linux/ar71xx/patches-3.14/725-MIPS-ath79-add_mikrotik_rb2011uias-2hnd.patch

@@ -11,7 +11,7 @@
  MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011R5, "2011r5", rb2011r5_setup);
  MIPS_MACHINE_NONAME(ATH79_MACH_RB_2011R5, "2011r5", rb2011r5_setup);
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -99,7 +99,7 @@ enum ath79_mach_type {
+@@ -100,7 +100,7 @@ enum ath79_mach_type {
  	ATH79_MACH_RB_2011G,		/* Mikrotik RouterBOARD 2011UAS-2HnD */
  	ATH79_MACH_RB_2011G,		/* Mikrotik RouterBOARD 2011UAS-2HnD */
  	ATH79_MACH_RB_2011L,		/* Mikrotik RouterBOARD 2011L */
  	ATH79_MACH_RB_2011L,		/* Mikrotik RouterBOARD 2011L */
  	ATH79_MACH_RB_2011US,		/* Mikrotik RouterBOARD 2011UAS */
  	ATH79_MACH_RB_2011US,		/* Mikrotik RouterBOARD 2011UAS */

+ 3 - 3
target/linux/ar71xx/patches-3.14/726-MIPS-ath79-add-qihoo-360-c301-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/Kconfig
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -1044,6 +1044,17 @@ config ATH79_MACH_BHU_BXU2000N2_A
+@@ -1053,6 +1053,17 @@ config ATH79_MACH_BHU_BXU2000N2_A
  	select ATH79_DEV_USB
  	select ATH79_DEV_USB
  	select ATH79_DEV_WMAC
  	select ATH79_DEV_WMAC
  
  
@@ -20,7 +20,7 @@
  config SOC_AR71XX
  config SOC_AR71XX
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -80,6 +80,7 @@ enum ath79_mach_type {
+@@ -81,6 +81,7 @@ enum ath79_mach_type {
  	ATH79_MACH_OM5P,		/* OpenMesh OM5P */
  	ATH79_MACH_OM5P,		/* OpenMesh OM5P */
  	ATH79_MACH_PB42,		/* Atheros PB42 */
  	ATH79_MACH_PB42,		/* Atheros PB42 */
  	ATH79_MACH_PB92,		/* Atheros PB92 */
  	ATH79_MACH_PB92,		/* Atheros PB92 */
@@ -30,7 +30,7 @@
  	ATH79_MACH_RB_433,		/* MikroTik RouterBOARD 433/433AH */
  	ATH79_MACH_RB_433,		/* MikroTik RouterBOARD 433/433AH */
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -85,6 +85,7 @@ obj-$(CONFIG_ATH79_MACH_OM5P)		+= mach-o
+@@ -86,6 +86,7 @@ obj-$(CONFIG_ATH79_MACH_OM5P)		+= mach-o
  obj-$(CONFIG_ATH79_MACH_PB42)		+= mach-pb42.o
  obj-$(CONFIG_ATH79_MACH_PB42)		+= mach-pb42.o
  obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
  obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
  obj-$(CONFIG_ATH79_MACH_PB92)		+= mach-pb92.o
  obj-$(CONFIG_ATH79_MACH_PB92)		+= mach-pb92.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/729-MIPS-ath79-add-WZR-450HP2.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -184,6 +184,7 @@ enum ath79_mach_type {
+@@ -185,6 +185,7 @@ enum ath79_mach_type {
  	ATH79_MACH_WZR_HP_G300NH,	/* Buffalo WZR-HP-G300NH */
  	ATH79_MACH_WZR_HP_G300NH,	/* Buffalo WZR-HP-G300NH */
  	ATH79_MACH_WZR_HP_G300NH2,	/* Buffalo WZR-HP-G300NH2 */
  	ATH79_MACH_WZR_HP_G300NH2,	/* Buffalo WZR-HP-G300NH2 */
  	ATH79_MACH_WZR_HP_G450H,	/* Buffalo WZR-HP-G450H */
  	ATH79_MACH_WZR_HP_G450H,	/* Buffalo WZR-HP-G450H */
@@ -29,7 +29,7 @@
  	select SOC_AR71XX
  	select SOC_AR71XX
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -141,6 +141,7 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH)	+
+@@ -142,6 +142,7 @@ obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH)	+
  obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2)	+= mach-wzr-hp-g300nh2.o
  obj-$(CONFIG_ATH79_MACH_WZR_HP_G300NH2)	+= mach-wzr-hp-g300nh2.o
  obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H)	+= mach-wzr-hp-ag300h.o
  obj-$(CONFIG_ATH79_MACH_WZR_HP_AG300H)	+= mach-wzr-hp-ag300h.o
  obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H)	+= mach-wzr-hp-g450h.o
  obj-$(CONFIG_ATH79_MACH_WZR_HP_G450H)	+= mach-wzr-hp-g450h.o

+ 4 - 4
target/linux/ar71xx/patches-3.14/730-MIPS-ath79-add-DHP-1565A1.patch

@@ -1,7 +1,7 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -39,6 +39,7 @@ enum ath79_mach_type {
- 	ATH79_MACH_CARAMBOLA2,		/* 8devices Carambola2 */
+@@ -40,6 +40,7 @@ enum ath79_mach_type {
+ 	ATH79_MACH_CPE510,		/* TP-LINK CPE510 */
  	ATH79_MACH_DB120,		/* Atheros DB120 reference board */
  	ATH79_MACH_DB120,		/* Atheros DB120 reference board */
  	ATH79_MACH_PB44,		/* Atheros PB44 reference board */
  	ATH79_MACH_PB44,		/* Atheros PB44 reference board */
 +	ATH79_MACH_DHP_1565_A1,		/* D-Link DHP-1565 rev. A1 */
 +	ATH79_MACH_DHP_1565_A1,		/* D-Link DHP-1565 rev. A1 */
@@ -30,9 +30,9 @@
  	select SOC_AR933X
  	select SOC_AR933X
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -54,6 +54,7 @@ obj-$(CONFIG_ATH79_MACH_AW_NR580)	+= mac
- obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)+= mach-bhu-bxu2000n2-a.o
+@@ -55,6 +55,7 @@ obj-$(CONFIG_ATH79_MACH_BHU_BXU2000N2_A)
  obj-$(CONFIG_ATH79_MACH_CAP4200AG)	+= mach-cap4200ag.o
  obj-$(CONFIG_ATH79_MACH_CAP4200AG)	+= mach-cap4200ag.o
+ obj-$(CONFIG_ATH79_MACH_CPE510)		+= mach-cpe510.o
  obj-$(CONFIG_ATH79_MACH_DB120)		+= mach-db120.o
  obj-$(CONFIG_ATH79_MACH_DB120)		+= mach-db120.o
 +obj-$(CONFIG_ATH79_MACH_DHP_1565_A1)	+= mach-dhp-1565-a1.o
 +obj-$(CONFIG_ATH79_MACH_DHP_1565_A1)	+= mach-dhp-1565-a1.o
  obj-$(CONFIG_ATH79_MACH_DIR_505_A1)	+= mach-dir-505-a1.o
  obj-$(CONFIG_ATH79_MACH_DIR_505_A1)	+= mach-dir-505-a1.o

+ 2 - 2
target/linux/ar71xx/patches-3.14/730-MIPS-ath79-add-mr900-support.patch

@@ -19,7 +19,7 @@
  	select SOC_AR71XX
  	select SOC_AR71XX
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -75,6 +75,7 @@ obj-$(CONFIG_ATH79_MACH_JA76PF)		+= mach
+@@ -76,6 +76,7 @@ obj-$(CONFIG_ATH79_MACH_JA76PF)		+= mach
  obj-$(CONFIG_ATH79_MACH_JWAP003)	+= mach-jwap003.o
  obj-$(CONFIG_ATH79_MACH_JWAP003)	+= mach-jwap003.o
  obj-$(CONFIG_ATH79_MACH_HORNET_UB)	+= mach-hornet-ub.o
  obj-$(CONFIG_ATH79_MACH_HORNET_UB)	+= mach-hornet-ub.o
  obj-$(CONFIG_ATH79_MACH_MR600)		+= mach-mr600.o
  obj-$(CONFIG_ATH79_MACH_MR600)		+= mach-mr600.o
@@ -29,7 +29,7 @@
  obj-$(CONFIG_ATH79_MACH_MYNET_REXT)	+= mach-mynet-rext.o
  obj-$(CONFIG_ATH79_MACH_MYNET_REXT)	+= mach-mynet-rext.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -66,6 +66,7 @@ enum ath79_mach_type {
+@@ -67,6 +67,7 @@ enum ath79_mach_type {
  	ATH79_MACH_HORNET_UB,		/* ALFA Networks Hornet-UB */
  	ATH79_MACH_HORNET_UB,		/* ALFA Networks Hornet-UB */
  	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
  	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
  	ATH79_MACH_MR600,		/* OpenMesh MR600 */
  	ATH79_MACH_MR600,		/* OpenMesh MR600 */

+ 1 - 1
target/linux/ar71xx/patches-3.14/731-MIPS-ath79-add-mr900v2-support.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -67,6 +67,7 @@ enum ath79_mach_type {
+@@ -68,6 +68,7 @@ enum ath79_mach_type {
  	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
  	ATH79_MACH_MR600V2,		/* OpenMesh MR600v2 */
  	ATH79_MACH_MR600,		/* OpenMesh MR600 */
  	ATH79_MACH_MR600,		/* OpenMesh MR600 */
  	ATH79_MACH_MR900,		/* OpenMesh MR900 */
  	ATH79_MACH_MR900,		/* OpenMesh MR900 */

+ 2 - 2
target/linux/ar71xx/patches-3.14/732-MIPS-ath79-add-R6100-support.patch

@@ -20,7 +20,7 @@
  	select SOC_AR71XX
  	select SOC_AR71XX
 --- a/arch/mips/ath79/Makefile
 --- a/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
 +++ b/arch/mips/ath79/Makefile
-@@ -88,6 +88,7 @@ obj-$(CONFIG_ATH79_MACH_PB42)		+= mach-p
+@@ -89,6 +89,7 @@ obj-$(CONFIG_ATH79_MACH_PB42)		+= mach-p
  obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
  obj-$(CONFIG_ATH79_MACH_PB44)		+= mach-pb44.o
  obj-$(CONFIG_ATH79_MACH_PB92)		+= mach-pb92.o
  obj-$(CONFIG_ATH79_MACH_PB92)		+= mach-pb92.o
  obj-$(CONFIG_ATH79_MACH_QIHOO_C301)	+= mach-qihoo-c301.o
  obj-$(CONFIG_ATH79_MACH_QIHOO_C301)	+= mach-qihoo-c301.o
@@ -30,7 +30,7 @@
  obj-$(CONFIG_ATH79_MACH_RB91X)		+= mach-rb91x.o
  obj-$(CONFIG_ATH79_MACH_RB91X)		+= mach-rb91x.o
 --- a/arch/mips/ath79/machtypes.h
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -84,6 +84,7 @@ enum ath79_mach_type {
+@@ -85,6 +85,7 @@ enum ath79_mach_type {
  	ATH79_MACH_PB42,		/* Atheros PB42 */
  	ATH79_MACH_PB42,		/* Atheros PB42 */
  	ATH79_MACH_PB92,		/* Atheros PB92 */
  	ATH79_MACH_PB92,		/* Atheros PB92 */
  	ATH79_MACH_QIHOO_C301,		/* Qihoo 360 C301 */
  	ATH79_MACH_QIHOO_C301,		/* Qihoo 360 C301 */

+ 1 - 1
target/linux/au1000/patches/002-openwrt_rootfs.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/alchemy/board-mtx1.c
 --- a/arch/mips/alchemy/board-mtx1.c
 +++ b/arch/mips/alchemy/board-mtx1.c
 +++ b/arch/mips/alchemy/board-mtx1.c
-@@ -171,7 +171,7 @@ static struct platform_device mtx1_gpio_
+@@ -169,7 +169,7 @@ static struct platform_device mtx1_gpio_
  
  
  static struct mtd_partition mtx1_mtd_partitions[] = {
  static struct mtd_partition mtx1_mtd_partitions[] = {
  	{
  	{

+ 1 - 1
target/linux/au1000/patches/003-au1000_eth_ioctl.patch

@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/amd/au1000_eth.c
 --- a/drivers/net/ethernet/amd/au1000_eth.c
 +++ b/drivers/net/ethernet/amd/au1000_eth.c
 +++ b/drivers/net/ethernet/amd/au1000_eth.c
-@@ -990,10 +990,14 @@ static void au1000_multicast_list(struct
+@@ -988,10 +988,14 @@ static void au1000_multicast_list(struct
  	writel(reg, &aup->mac->control);
  	writel(reg, &aup->mac->control);
  }
  }
  
  

+ 1 - 1
target/linux/au1000/patches/004-watchdog_low_init.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/alchemy/board-mtx1.c
 --- a/arch/mips/alchemy/board-mtx1.c
 +++ b/arch/mips/alchemy/board-mtx1.c
 +++ b/arch/mips/alchemy/board-mtx1.c
-@@ -100,6 +100,9 @@ void __init board_setup(void)
+@@ -98,6 +98,9 @@ void __init board_setup(void)
  	alchemy_gpio_direction_output(211, 1);	/* green on */
  	alchemy_gpio_direction_output(211, 1);	/* green on */
  	alchemy_gpio_direction_output(212, 0);	/* red off */
  	alchemy_gpio_direction_output(212, 0);	/* red off */
  
  

+ 27 - 170
target/linux/brcm2708/patches-3.14/0001-Main-bcm2708-linux-port.patch

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

+ 0 - 6
target/linux/brcm2708/patches-3.14/0002-Add-quick-config.patch

@@ -10,9 +10,6 @@ No modules are needed and it includes all Pi specific drivers
  1 file changed, 197 insertions(+)
  1 file changed, 197 insertions(+)
  create mode 100644 arch/arm/configs/bcmrpi_quick_defconfig
  create mode 100644 arch/arm/configs/bcmrpi_quick_defconfig
 
 
-diff --git a/arch/arm/configs/bcmrpi_quick_defconfig b/arch/arm/configs/bcmrpi_quick_defconfig
-new file mode 100644
-index 0000000..e5efe75
 --- /dev/null
 --- /dev/null
 +++ b/arch/arm/configs/bcmrpi_quick_defconfig
 +++ b/arch/arm/configs/bcmrpi_quick_defconfig
 @@ -0,0 +1,197 @@
 @@ -0,0 +1,197 @@
@@ -213,6 +210,3 @@ index 0000000..e5efe75
 +# CONFIG_CRYPTO_HW is not set
 +# CONFIG_CRYPTO_HW is not set
 +CONFIG_CRC_ITU_T=y
 +CONFIG_CRC_ITU_T=y
 +CONFIG_LIBCRC32C=y
 +CONFIG_LIBCRC32C=y
--- 
-1.9.1
-

+ 44 - 228
target/linux/brcm2708/patches-3.14/0003-Add-dwc_otg-driver.patch

@@ -129,8 +129,6 @@ Signed-off-by: popcornmix <[email protected]>
  create mode 100644 drivers/usb/host/dwc_otg/test/test_mod_param.pl
  create mode 100644 drivers/usb/host/dwc_otg/test/test_mod_param.pl
  create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl
  create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl
 
 
-diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
-index 1ae2bf3..c4a45aa 100644
 --- a/drivers/usb/Makefile
 --- a/drivers/usb/Makefile
 +++ b/drivers/usb/Makefile
 +++ b/drivers/usb/Makefile
 @@ -24,6 +24,7 @@ obj-$(CONFIG_USB_U132_HCD)	+= host/
 @@ -24,6 +24,7 @@ obj-$(CONFIG_USB_U132_HCD)	+= host/
@@ -141,11 +139,9 @@ index 1ae2bf3..c4a45aa 100644
  obj-$(CONFIG_USB_IMX21_HCD)	+= host/
  obj-$(CONFIG_USB_IMX21_HCD)	+= host/
  obj-$(CONFIG_USB_FSL_MPH_DR_OF)	+= host/
  obj-$(CONFIG_USB_FSL_MPH_DR_OF)	+= host/
  obj-$(CONFIG_USB_FUSBH200_HCD)	+= host/
  obj-$(CONFIG_USB_FUSBH200_HCD)	+= host/
-diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c
-index acbfeb0..7d675c8 100644
 --- a/drivers/usb/core/generic.c
 --- a/drivers/usb/core/generic.c
 +++ b/drivers/usb/core/generic.c
 +++ b/drivers/usb/core/generic.c
-@@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_device *udev)
+@@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_
  		dev_warn(&udev->dev,
  		dev_warn(&udev->dev,
  			"no configuration chosen from %d choice%s\n",
  			"no configuration chosen from %d choice%s\n",
  			num_configs, plural(num_configs));
  			num_configs, plural(num_configs));
@@ -153,8 +149,6 @@ index acbfeb0..7d675c8 100644
  	}
  	}
  	return i;
  	return i;
  }
  }
-diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
-index f829a1a..4a44ae7 100644
 --- a/drivers/usb/core/message.c
 --- a/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
 +++ b/drivers/usb/core/message.c
 @@ -1888,6 +1888,85 @@ free_interfaces:
 @@ -1888,6 +1888,85 @@ free_interfaces:
@@ -243,8 +237,6 @@ index f829a1a..4a44ae7 100644
  
  
  	/* Now that the interfaces are installed, re-enable LPM. */
  	/* Now that the interfaces are installed, re-enable LPM. */
  	usb_unlocked_enable_lpm(dev);
  	usb_unlocked_enable_lpm(dev);
-diff --git a/drivers/usb/core/otg_whitelist.h b/drivers/usb/core/otg_whitelist.h
-index e8cdce5..ca0ac47 100644
 --- a/drivers/usb/core/otg_whitelist.h
 --- a/drivers/usb/core/otg_whitelist.h
 +++ b/drivers/usb/core/otg_whitelist.h
 +++ b/drivers/usb/core/otg_whitelist.h
 @@ -19,33 +19,82 @@
 @@ -19,33 +19,82 @@
@@ -336,7 +328,7 @@ index e8cdce5..ca0ac47 100644
  static int is_targeted(struct usb_device *dev)
  static int is_targeted(struct usb_device *dev)
  {
  {
  	struct usb_device_id	*id = whitelist_table;
  	struct usb_device_id	*id = whitelist_table;
-@@ -55,58 +104,83 @@ static int is_targeted(struct usb_device *dev)
+@@ -55,58 +104,83 @@ static int is_targeted(struct usb_device
  		return 1;
  		return 1;
  
  
  	/* HNP test device is _never_ targeted (see OTG spec 6.6.6) */
  	/* HNP test device is _never_ targeted (see OTG spec 6.6.6) */
@@ -349,7 +341,40 @@ index e8cdce5..ca0ac47 100644
 +	} else if (!enable_whitelist) {
 +	} else if (!enable_whitelist) {
 +		return 1;
 +		return 1;
 +        } else {
 +        } else {
-+
+ 
+-	/* NOTE: can't use usb_match_id() since interface caches
+-	 * aren't set up yet. this is cut/paste from that code.
+-	 */
+-	for (id = whitelist_table; id->match_flags; id++) {
+-		if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) &&
+-		    id->idVendor != le16_to_cpu(dev->descriptor.idVendor))
+-			continue;
+-
+-		if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) &&
+-		    id->idProduct != le16_to_cpu(dev->descriptor.idProduct))
+-			continue;
+-
+-		/* No need to test id->bcdDevice_lo != 0, since 0 is never
+-		   greater than any unsigned number. */
+-		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) &&
+-		    (id->bcdDevice_lo > le16_to_cpu(dev->descriptor.bcdDevice)))
+-			continue;
+-
+-		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_HI) &&
+-		    (id->bcdDevice_hi < le16_to_cpu(dev->descriptor.bcdDevice)))
+-			continue;
+-
+-		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_CLASS) &&
+-		    (id->bDeviceClass != dev->descriptor.bDeviceClass))
+-			continue;
+-
+-		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_SUBCLASS) &&
+-		    (id->bDeviceSubClass != dev->descriptor.bDeviceSubClass))
+-			continue;
+-
+-		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) &&
+-		    (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol))
+-			continue;
 +#ifdef DEBUG
 +#ifdef DEBUG
 +                dev_dbg(&dev->dev, "device V:%04x P:%04x DC:%04x SC:%04x PR:%04x \n",
 +                dev_dbg(&dev->dev, "device V:%04x P:%04x DC:%04x SC:%04x PR:%04x \n",
 +                        dev->descriptor.idVendor,
 +                        dev->descriptor.idVendor,
@@ -359,14 +384,7 @@ index e8cdce5..ca0ac47 100644
 +                        dev->descriptor.bDeviceProtocol);
 +                        dev->descriptor.bDeviceProtocol);
 +#endif
 +#endif
  
  
--	/* NOTE: can't use usb_match_id() since interface caches
--	 * aren't set up yet. this is cut/paste from that code.
--	 */
--	for (id = whitelist_table; id->match_flags; id++) {
--		if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) &&
--		    id->idVendor != le16_to_cpu(dev->descriptor.idVendor))
--			continue;
-+		return 1;
+ 		return 1;
 +		/* NOTE: can't use usb_match_id() since interface caches
 +		/* NOTE: can't use usb_match_id() since interface caches
 +		 * aren't set up yet. this is cut/paste from that code.
 +		 * aren't set up yet. this is cut/paste from that code.
 +		 */
 +		 */
@@ -380,54 +398,33 @@ index e8cdce5..ca0ac47 100644
 +				id->bDeviceSubClass,
 +				id->bDeviceSubClass,
 +				id->bDeviceProtocol);
 +				id->bDeviceProtocol);
 +#endif
 +#endif
- 
--		if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) &&
--		    id->idProduct != le16_to_cpu(dev->descriptor.idProduct))
--			continue;
++
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) &&
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_VENDOR) &&
 +			    id->idVendor != le16_to_cpu(dev->descriptor.idVendor))
 +			    id->idVendor != le16_to_cpu(dev->descriptor.idVendor))
 +				continue;
 +				continue;
- 
--		/* No need to test id->bcdDevice_lo != 0, since 0 is never
--		   greater than any unsigned number. */
--		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) &&
--		    (id->bcdDevice_lo > le16_to_cpu(dev->descriptor.bcdDevice)))
--			continue;
++
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) &&
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_PRODUCT) &&
 +			    id->idProduct != le16_to_cpu(dev->descriptor.idProduct))
 +			    id->idProduct != le16_to_cpu(dev->descriptor.idProduct))
 +				continue;
 +				continue;
- 
--		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_HI) &&
--		    (id->bcdDevice_hi < le16_to_cpu(dev->descriptor.bcdDevice)))
--			continue;
++
 +			/* No need to test id->bcdDevice_lo != 0, since 0 is never
 +			/* No need to test id->bcdDevice_lo != 0, since 0 is never
 +			   greater than any unsigned number. */
 +			   greater than any unsigned number. */
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) &&
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_LO) &&
 +			    (id->bcdDevice_lo > le16_to_cpu(dev->descriptor.bcdDevice)))
 +			    (id->bcdDevice_lo > le16_to_cpu(dev->descriptor.bcdDevice)))
 +				continue;
 +				continue;
- 
--		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_CLASS) &&
--		    (id->bDeviceClass != dev->descriptor.bDeviceClass))
--			continue;
++
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_HI) &&
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_HI) &&
 +			    (id->bcdDevice_hi < le16_to_cpu(dev->descriptor.bcdDevice)))
 +			    (id->bcdDevice_hi < le16_to_cpu(dev->descriptor.bcdDevice)))
 +				continue;
 +				continue;
- 
--		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_SUBCLASS) &&
--		    (id->bDeviceSubClass != dev->descriptor.bDeviceSubClass))
--			continue;
++
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_CLASS) &&
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_CLASS) &&
 +			    (id->bDeviceClass != dev->descriptor.bDeviceClass))
 +			    (id->bDeviceClass != dev->descriptor.bDeviceClass))
 +				continue;
 +				continue;
- 
--		if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) &&
--		    (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol))
--			continue;
++
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_SUBCLASS) &&
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_SUBCLASS) &&
 +			    (id->bDeviceSubClass != dev->descriptor.bDeviceSubClass))
 +			    (id->bDeviceSubClass != dev->descriptor.bDeviceSubClass))
 +				continue;
 +				continue;
- 
--		return 1;
++
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) &&
 +			if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) &&
 +			    (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol))
 +			    (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol))
 +				continue;
 +				continue;
@@ -457,9 +454,6 @@ index e8cdce5..ca0ac47 100644
  #endif
  #endif
  }
  }
  
  
-diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c
-new file mode 100644
-index 0000000..a896d73
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/gadget/file_storage.c
 +++ b/drivers/usb/gadget/file_storage.c
 @@ -0,0 +1,3676 @@
 @@ -0,0 +1,3676 @@
@@ -4139,8 +4133,6 @@ index 0000000..a896d73
 +	kref_put(&fsg->ref, fsg_release);
 +	kref_put(&fsg->ref, fsg_release);
 +}
 +}
 +module_exit(fsg_cleanup);
 +module_exit(fsg_cleanup);
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index a9707da..e252b95 100644
 --- a/drivers/usb/host/Kconfig
 --- a/drivers/usb/host/Kconfig
 +++ b/drivers/usb/host/Kconfig
 +++ b/drivers/usb/host/Kconfig
 @@ -689,6 +689,19 @@ config USB_HWA_HCD
 @@ -689,6 +689,19 @@ config USB_HWA_HCD
@@ -4163,8 +4155,6 @@ index a9707da..e252b95 100644
  config USB_IMX21_HCD
  config USB_IMX21_HCD
         tristate "i.MX21 HCD support"
         tristate "i.MX21 HCD support"
         depends on ARM && ARCH_MXC
         depends on ARM && ARCH_MXC
-diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
-index 7530468..876f024 100644
 --- a/drivers/usb/host/Makefile
 --- a/drivers/usb/host/Makefile
 +++ b/drivers/usb/host/Makefile
 +++ b/drivers/usb/host/Makefile
 @@ -63,6 +63,8 @@ obj-$(CONFIG_USB_U132_HCD)	+= u132-hcd.o
 @@ -63,6 +63,8 @@ obj-$(CONFIG_USB_U132_HCD)	+= u132-hcd.o
@@ -4176,9 +4166,6 @@ index 7530468..876f024 100644
  obj-$(CONFIG_USB_IMX21_HCD)	+= imx21-hcd.o
  obj-$(CONFIG_USB_IMX21_HCD)	+= imx21-hcd.o
  obj-$(CONFIG_USB_FSL_MPH_DR_OF)	+= fsl-mph-dr-of.o
  obj-$(CONFIG_USB_FSL_MPH_DR_OF)	+= fsl-mph-dr-of.o
  obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o
  obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o
-diff --git a/drivers/usb/host/dwc_common_port/Makefile b/drivers/usb/host/dwc_common_port/Makefile
-new file mode 100644
-index 0000000..f10d466
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/Makefile
 +++ b/drivers/usb/host/dwc_common_port/Makefile
 @@ -0,0 +1,58 @@
 @@ -0,0 +1,58 @@
@@ -4240,9 +4227,6 @@ index 0000000..f10d466
 +
 +
 +clean:
 +clean:
 +	rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
 +	rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
-diff --git a/drivers/usb/host/dwc_common_port/Makefile.fbsd b/drivers/usb/host/dwc_common_port/Makefile.fbsd
-new file mode 100644
-index 0000000..45db991
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd
 +++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd
 @@ -0,0 +1,17 @@
 @@ -0,0 +1,17 @@
@@ -4263,9 +4247,6 @@ index 0000000..45db991
 +       dwc_common_fbsd.c dwc_mem.c
 +       dwc_common_fbsd.c dwc_mem.c
 +
 +
 +.include <bsd.kmod.mk>
 +.include <bsd.kmod.mk>
-diff --git a/drivers/usb/host/dwc_common_port/Makefile.linux b/drivers/usb/host/dwc_common_port/Makefile.linux
-new file mode 100644
-index 0000000..0cef7b4
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/Makefile.linux
 +++ b/drivers/usb/host/dwc_common_port/Makefile.linux
 @@ -0,0 +1,49 @@
 @@ -0,0 +1,49 @@
@@ -4318,9 +4299,6 @@ index 0000000..0cef7b4
 +
 +
 +clean:
 +clean:
 +	rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
 +	rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/
-diff --git a/drivers/usb/host/dwc_common_port/changes.txt b/drivers/usb/host/dwc_common_port/changes.txt
-new file mode 100644
-index 0000000..f6839f9
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/changes.txt
 +++ b/drivers/usb/host/dwc_common_port/changes.txt
 @@ -0,0 +1,174 @@
 @@ -0,0 +1,174 @@
@@ -4498,9 +4476,6 @@ index 0000000..f6839f9
 +A DWC_LIBMODULE #define has also been added. If this is not defined, then the
 +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
 +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.
 +library code directly into a driver module, instead of as a standalone module.
-diff --git a/drivers/usb/host/dwc_common_port/doc/doxygen.cfg b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
-new file mode 100644
-index 0000000..89aa887
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
 +++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
 @@ -0,0 +1,270 @@
 @@ -0,0 +1,270 @@
@@ -4774,9 +4749,6 @@ index 0000000..89aa887
 +# Configuration::additions related to the search engine
 +# Configuration::additions related to the search engine
 +#---------------------------------------------------------------------------
 +#---------------------------------------------------------------------------
 +SEARCHENGINE           = NO
 +SEARCHENGINE           = NO
-diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.c b/drivers/usb/host/dwc_common_port/dwc_cc.c
-new file mode 100644
-index 0000000..5ec2ae2
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_cc.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_cc.c
 @@ -0,0 +1,532 @@
 @@ -0,0 +1,532 @@
@@ -5312,9 +5284,6 @@ index 0000000..5ec2ae2
 +}
 +}
 +
 +
 +#endif	/* DWC_CCLIB */
 +#endif	/* DWC_CCLIB */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.h b/drivers/usb/host/dwc_common_port/dwc_cc.h
-new file mode 100644
-index 0000000..f86e6f2
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_cc.h
 +++ b/drivers/usb/host/dwc_common_port/dwc_cc.h
 @@ -0,0 +1,224 @@
 @@ -0,0 +1,224 @@
@@ -5542,9 +5511,6 @@ index 0000000..f86e6f2
 +#endif
 +#endif
 +
 +
 +#endif /* _DWC_CC_H_ */
 +#endif /* _DWC_CC_H_ */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
-new file mode 100644
-index 0000000..6dd04b5
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
 @@ -0,0 +1,1308 @@
 @@ -0,0 +1,1308 @@
@@ -6856,9 +6822,6 @@ index 0000000..6dd04b5
 +{
 +{
 +	return wq->pending;
 +	return wq->pending;
 +}
 +}
-diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
-new file mode 100644
-index 0000000..440bcfc
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
 @@ -0,0 +1,1421 @@
 @@ -0,0 +1,1421 @@
@@ -8283,9 +8246,6 @@ index 0000000..440bcfc
 +MODULE_LICENSE ("GPL");
 +MODULE_LICENSE ("GPL");
 +
 +
 +#endif	/* DWC_LIBMODULE */
 +#endif	/* DWC_LIBMODULE */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
-new file mode 100644
-index 0000000..49b07e1
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
 @@ -0,0 +1,1275 @@
 @@ -0,0 +1,1275 @@
@@ -9564,9 +9524,6 @@ index 0000000..49b07e1
 +{
 +{
 +	return wq->pending;
 +	return wq->pending;
 +}
 +}
-diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.c b/drivers/usb/host/dwc_common_port/dwc_crypto.c
-new file mode 100644
-index 0000000..3b03532
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c
 @@ -0,0 +1,308 @@
 @@ -0,0 +1,308 @@
@@ -9878,9 +9835,6 @@ index 0000000..3b03532
 +}
 +}
 +
 +
 +#endif	/* DWC_CRYPTOLIB */
 +#endif	/* DWC_CRYPTOLIB */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.h b/drivers/usb/host/dwc_common_port/dwc_crypto.h
-new file mode 100644
-index 0000000..26fcddc
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h
 +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h
 @@ -0,0 +1,111 @@
 @@ -0,0 +1,111 @@
@@ -9995,9 +9949,6 @@ index 0000000..26fcddc
 +#endif
 +#endif
 +
 +
 +#endif /* _DWC_CRYPTO_H_ */
 +#endif /* _DWC_CRYPTO_H_ */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.c b/drivers/usb/host/dwc_common_port/dwc_dh.c
-new file mode 100644
-index 0000000..2b429a3
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_dh.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_dh.c
 @@ -0,0 +1,291 @@
 @@ -0,0 +1,291 @@
@@ -10292,9 +10243,6 @@ index 0000000..2b429a3
 +#endif /* !CONFIG_MACH_IPMATE */
 +#endif /* !CONFIG_MACH_IPMATE */
 +
 +
 +#endif /* DWC_CRYPTOLIB */
 +#endif /* DWC_CRYPTOLIB */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.h b/drivers/usb/host/dwc_common_port/dwc_dh.h
-new file mode 100644
-index 0000000..25c1cc0
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_dh.h
 +++ b/drivers/usb/host/dwc_common_port/dwc_dh.h
 @@ -0,0 +1,106 @@
 @@ -0,0 +1,106 @@
@@ -10404,9 +10352,6 @@ index 0000000..25c1cc0
 +#endif
 +#endif
 +
 +
 +#endif /* _DWC_DH_H_ */
 +#endif /* _DWC_DH_H_ */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h
-new file mode 100644
-index 0000000..89cc325
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_list.h
 +++ b/drivers/usb/host/dwc_common_port/dwc_list.h
 @@ -0,0 +1,594 @@
 @@ -0,0 +1,594 @@
@@ -11004,9 +10949,6 @@ index 0000000..89cc325
 +#endif
 +#endif
 +
 +
 +#endif /* _DWC_LIST_H_ */
 +#endif /* _DWC_LIST_H_ */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_mem.c b/drivers/usb/host/dwc_common_port/dwc_mem.c
-new file mode 100644
-index 0000000..ad645ff
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_mem.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_mem.c
 @@ -0,0 +1,245 @@
 @@ -0,0 +1,245 @@
@@ -11255,9 +11197,6 @@ index 0000000..ad645ff
 +}
 +}
 +
 +
 +#endif /* DWC_DEBUG_MEMORY */
 +#endif /* DWC_DEBUG_MEMORY */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.c b/drivers/usb/host/dwc_common_port/dwc_modpow.c
-new file mode 100644
-index 0000000..2004538
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c
 @@ -0,0 +1,636 @@
 @@ -0,0 +1,636 @@
@@ -11897,9 +11836,6 @@ index 0000000..2004538
 +#endif /* CONFIG_MACH_IPMATE */
 +#endif /* CONFIG_MACH_IPMATE */
 +
 +
 +#endif /*DWC_CRYPTOLIB */
 +#endif /*DWC_CRYPTOLIB */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.h b/drivers/usb/host/dwc_common_port/dwc_modpow.h
-new file mode 100644
-index 0000000..64f00c2
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h
 +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h
 @@ -0,0 +1,34 @@
 @@ -0,0 +1,34 @@
@@ -11937,9 +11873,6 @@ index 0000000..64f00c2
 +#endif
 +#endif
 +
 +
 +#endif /* _LINUX_BIGNUM_H */
 +#endif /* _LINUX_BIGNUM_H */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.c b/drivers/usb/host/dwc_common_port/dwc_notifier.c
-new file mode 100644
-index 0000000..8b3772a
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c
 +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c
 @@ -0,0 +1,319 @@
 @@ -0,0 +1,319 @@
@@ -12262,9 +12195,6 @@ index 0000000..8b3772a
 +}
 +}
 +
 +
 +#endif	/* DWC_NOTIFYLIB */
 +#endif	/* DWC_NOTIFYLIB */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.h b/drivers/usb/host/dwc_common_port/dwc_notifier.h
-new file mode 100644
-index 0000000..4a8cdfe
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h
 +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h
 @@ -0,0 +1,122 @@
 @@ -0,0 +1,122 @@
@@ -12390,9 +12320,6 @@ index 0000000..4a8cdfe
 +#endif
 +#endif
 +
 +
 +#endif /* __DWC_NOTIFIER_H__ */
 +#endif /* __DWC_NOTIFIER_H__ */
-diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h
-new file mode 100644
-index 0000000..9ffe929
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/dwc_os.h
 +++ b/drivers/usb/host/dwc_common_port/dwc_os.h
 @@ -0,0 +1,1260 @@
 @@ -0,0 +1,1260 @@
@@ -13656,9 +13583,6 @@ index 0000000..9ffe929
 +#endif
 +#endif
 +
 +
 +#endif /* _DWC_OS_H_ */
 +#endif /* _DWC_OS_H_ */
-diff --git a/drivers/usb/host/dwc_common_port/usb.h b/drivers/usb/host/dwc_common_port/usb.h
-new file mode 100644
-index 0000000..27bda82
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_common_port/usb.h
 +++ b/drivers/usb/host/dwc_common_port/usb.h
 @@ -0,0 +1,946 @@
 @@ -0,0 +1,946 @@
@@ -14608,9 +14532,6 @@ index 0000000..27bda82
 +#endif
 +#endif
 +
 +
 +#endif /* _USB_H_ */
 +#endif /* _USB_H_ */
-diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile
-new file mode 100644
-index 0000000..236c47c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/Makefile
 +++ b/drivers/usb/host/dwc_otg/Makefile
 @@ -0,0 +1,80 @@
 @@ -0,0 +1,80 @@
@@ -14694,9 +14615,6 @@ index 0000000..236c47c
 +	rm -rf   *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers
 +	rm -rf   *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers
 +
 +
 +endif
 +endif
-diff --git a/drivers/usb/host/dwc_otg/doc/doxygen.cfg b/drivers/usb/host/dwc_otg/doc/doxygen.cfg
-new file mode 100644
-index 0000000..712b057
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg
 +++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg
 @@ -0,0 +1,224 @@
 @@ -0,0 +1,224 @@
@@ -14924,9 +14842,6 @@ index 0000000..712b057
 +# Configuration::additions related to the search engine
 +# Configuration::additions related to the search engine
 +#---------------------------------------------------------------------------
 +#---------------------------------------------------------------------------
 +SEARCHENGINE           = NO
 +SEARCHENGINE           = NO
-diff --git a/drivers/usb/host/dwc_otg/dummy_audio.c b/drivers/usb/host/dwc_otg/dummy_audio.c
-new file mode 100644
-index 0000000..225decf
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dummy_audio.c
 +++ b/drivers/usb/host/dwc_otg/dummy_audio.c
 @@ -0,0 +1,1575 @@
 @@ -0,0 +1,1575 @@
@@ -16505,9 +16420,6 @@ index 0000000..225decf
 +	remove_proc_entry("isoc_test", NULL);
 +	remove_proc_entry("isoc_test", NULL);
 +}
 +}
 +module_exit (cleanup);
 +module_exit (cleanup);
-diff --git a/drivers/usb/host/dwc_otg/dwc_cfi_common.h b/drivers/usb/host/dwc_otg/dwc_cfi_common.h
-new file mode 100644
-index 0000000..7770e20
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h
 +++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h
 @@ -0,0 +1,142 @@
 @@ -0,0 +1,142 @@
@@ -16653,9 +16565,6 @@ index 0000000..7770e20
 +typedef struct cfi_string cfi_string_t;
 +typedef struct cfi_string cfi_string_t;
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.c b/drivers/usb/host/dwc_otg/dwc_otg_adp.c
-new file mode 100644
-index 0000000..ce0618d
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c
 @@ -0,0 +1,854 @@
 @@ -0,0 +1,854 @@
@@ -17513,9 +17422,6 @@ index 0000000..ce0618d
 +#endif
 +#endif
 +	return 1;
 +	return 1;
 +}
 +}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.h b/drivers/usb/host/dwc_otg/dwc_otg_adp.h
-new file mode 100644
-index 0000000..4110b25
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h
 @@ -0,0 +1,80 @@
 @@ -0,0 +1,80 @@
@@ -17599,9 +17505,6 @@ index 0000000..4110b25
 +extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if);
 +extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if);
 +
 +
 +#endif //__DWC_OTG_ADP_H__
 +#endif //__DWC_OTG_ADP_H__
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
-new file mode 100644
-index 0000000..fab2961
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
 @@ -0,0 +1,1210 @@
 @@ -0,0 +1,1210 @@
@@ -18815,9 +18718,6 @@ index 0000000..fab2961
 +	device_remove_file(&dev->dev, &dev_attr_sleep_status);
 +	device_remove_file(&dev->dev, &dev_attr_sleep_status);
 +#endif
 +#endif
 +}
 +}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h
-new file mode 100644
-index 0000000..e10b67f
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h
 @@ -0,0 +1,89 @@
 @@ -0,0 +1,89 @@
@@ -18910,9 +18810,6 @@ index 0000000..e10b67f
 +#endif
 +#endif
 +    );
 +    );
 +#endif
 +#endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.c b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
-new file mode 100644
-index 0000000..bbb3d32
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
 @@ -0,0 +1,1876 @@
 @@ -0,0 +1,1876 @@
@@ -20792,9 +20689,6 @@ index 0000000..bbb3d32
 +}
 +}
 +
 +
 +#endif //DWC_UTE_CFI
 +#endif //DWC_UTE_CFI
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.h b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
-new file mode 100644
-index 0000000..55fd337
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
 @@ -0,0 +1,320 @@
 @@ -0,0 +1,320 @@
@@ -21118,9 +21012,6 @@ index 0000000..55fd337
 +int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl);
 +int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl);
 +
 +
 +#endif /* (__DWC_OTG_CFI_H__) */
 +#endif /* (__DWC_OTG_CFI_H__) */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
-new file mode 100644
-index 0000000..6a32c5c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
 @@ -0,0 +1,7151 @@
 @@ -0,0 +1,7151 @@
@@ -28275,9 +28166,6 @@ index 0000000..6a32c5c
 +	dwc_otg_pcd_start_srp_timer(core_if);
 +	dwc_otg_pcd_start_srp_timer(core_if);
 +	return;
 +	return;
 +}
 +}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.h b/drivers/usb/host/dwc_otg/dwc_otg_cil.h
-new file mode 100644
-index 0000000..79dbf83
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h
 @@ -0,0 +1,1464 @@
 @@ -0,0 +1,1464 @@
@@ -29745,9 +29633,6 @@ index 0000000..79dbf83
 +//////////////////////////////////////////////////////////////////////
 +//////////////////////////////////////////////////////////////////////
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
-new file mode 100644
-index 0000000..59fc862
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
 @@ -0,0 +1,1563 @@
 @@ -0,0 +1,1563 @@
@@ -31314,9 +31199,6 @@ index 0000000..59fc862
 +
 +
 +	return retval;
 +	return retval;
 +}
 +}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_core_if.h b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
-new file mode 100644
-index 0000000..4138fd1
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
 @@ -0,0 +1,705 @@
 @@ -0,0 +1,705 @@
@@ -32025,9 +31907,6 @@ index 0000000..4138fd1
 +/** @} */
 +/** @} */
 +
 +
 +#endif				/* __DWC_CORE_IF_H__ */
 +#endif				/* __DWC_CORE_IF_H__ */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
-new file mode 100644
-index 0000000..8900318
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
 @@ -0,0 +1,116 @@
 @@ -0,0 +1,116 @@
@@ -32147,9 +32026,6 @@ index 0000000..8900318
 +
 +
 +#endif /*DEBUG*/
 +#endif /*DEBUG*/
 +#endif
 +#endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
-new file mode 100644
-index 0000000..ac2c846
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
 @@ -0,0 +1,1700 @@
 @@ -0,0 +1,1700 @@
@@ -33853,9 +33729,6 @@ index 0000000..ac2c846
 + </td></tr>
 + </td></tr>
 +
 +
 +*/
 +*/
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.h b/drivers/usb/host/dwc_otg/dwc_otg_driver.h
-new file mode 100644
-index 0000000..6a8be63
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h
 @@ -0,0 +1,86 @@
 @@ -0,0 +1,86 @@
@@ -33945,9 +33818,6 @@ index 0000000..6a8be63
 +#endif
 +#endif
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-new file mode 100644
-index 0000000..ab935c0
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
 @@ -0,0 +1,3473 @@
 @@ -0,0 +1,3473 @@
@@ -37424,9 +37294,6 @@ index 0000000..ab935c0
 +}
 +}
 +
 +
 +#endif /* DWC_DEVICE_ONLY */
 +#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
-new file mode 100644
-index 0000000..bb4f67a
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
 @@ -0,0 +1,824 @@
 @@ -0,0 +1,824 @@
@@ -38254,9 +38121,6 @@ index 0000000..bb4f67a
 +#endif
 +#endif
 +#endif
 +#endif
 +#endif /* DWC_DEVICE_ONLY */
 +#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
-new file mode 100644
-index 0000000..274967b
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
 @@ -0,0 +1,1133 @@
 @@ -0,0 +1,1133 @@
@@ -39393,9 +39257,6 @@ index 0000000..274967b
 +}
 +}
 +
 +
 +#endif /* DWC_DEVICE_ONLY */
 +#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
-new file mode 100644
-index 0000000..4823167
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
 @@ -0,0 +1,412 @@
 @@ -0,0 +1,412 @@
@@ -39811,9 +39672,6 @@ index 0000000..4823167
 +
 +
 +#endif /* __DWC_HCD_IF_H__ */
 +#endif /* __DWC_HCD_IF_H__ */
 +#endif /* DWC_DEVICE_ONLY */
 +#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
-new file mode 100644
-index 0000000..b41e164
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
 @@ -0,0 +1,2106 @@
 @@ -0,0 +1,2106 @@
@@ -41923,9 +41781,6 @@ index 0000000..b41e164
 +}
 +}
 +
 +
 +#endif /* DWC_DEVICE_ONLY */
 +#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
-new file mode 100644
-index 0000000..e4787f5
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
 @@ -0,0 +1,893 @@
 @@ -0,0 +1,893 @@
@@ -42822,9 +42677,6 @@ index 0000000..e4787f5
 +}
 +}
 +
 +
 +#endif /* DWC_DEVICE_ONLY */
 +#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
-new file mode 100644
-index 0000000..9761566
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
 @@ -0,0 +1,922 @@
 @@ -0,0 +1,922 @@
@@ -43750,9 +43602,6 @@ index 0000000..9761566
 +}
 +}
 +
 +
 +#endif /* DWC_DEVICE_ONLY */
 +#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
-new file mode 100644
-index 0000000..e46d9bb
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
 @@ -0,0 +1,185 @@
 @@ -0,0 +1,185 @@
@@ -43941,9 +43790,6 @@ index 0000000..e46d9bb
 +
 +
 +
 +
 +#endif /* _DWC_OS_DEP_H_ */
 +#endif /* _DWC_OS_DEP_H_ */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
-new file mode 100644
-index 0000000..40fb25c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
 @@ -0,0 +1,2708 @@
 @@ -0,0 +1,2708 @@
@@ -46655,9 +46501,6 @@ index 0000000..40fb25c
 +}
 +}
 +
 +
 +#endif /* DWC_HOST_ONLY */
 +#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
-new file mode 100644
-index 0000000..8ef7ba6
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
 @@ -0,0 +1,266 @@
 @@ -0,0 +1,266 @@
@@ -46927,9 +46770,6 @@ index 0000000..8ef7ba6
 +extern void do_test_mode(void *data);
 +extern void do_test_mode(void *data);
 +#endif
 +#endif
 +#endif /* DWC_HOST_ONLY */
 +#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
-new file mode 100644
-index 0000000..c8d2e0e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
 @@ -0,0 +1,360 @@
 @@ -0,0 +1,360 @@
@@ -47293,9 +47133,6 @@ index 0000000..c8d2e0e
 +#endif				/* __DWC_PCD_IF_H__ */
 +#endif				/* __DWC_PCD_IF_H__ */
 +
 +
 +#endif				/* DWC_HOST_ONLY */
 +#endif				/* DWC_HOST_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
-new file mode 100644
-index 0000000..1b1f83c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
 @@ -0,0 +1,5147 @@
 @@ -0,0 +1,5147 @@
@@ -52446,9 +52283,6 @@ index 0000000..1b1f83c
 +}
 +}
 +
 +
 +#endif /* DWC_HOST_ONLY */
 +#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
-new file mode 100644
-index 0000000..5d310df
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
 @@ -0,0 +1,1358 @@
 @@ -0,0 +1,1358 @@
@@ -53810,9 +53644,6 @@ index 0000000..5d310df
 +EXPORT_SYMBOL(usb_gadget_unregister_driver);
 +EXPORT_SYMBOL(usb_gadget_unregister_driver);
 +
 +
 +#endif /* DWC_HOST_ONLY */
 +#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_regs.h b/drivers/usb/host/dwc_otg/dwc_otg_regs.h
-new file mode 100644
-index 0000000..8e0e7b5
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h
 @@ -0,0 +1,2550 @@
 @@ -0,0 +1,2550 @@
@@ -56366,9 +56197,6 @@ index 0000000..8e0e7b5
 +} gpwrdn_data_t;
 +} gpwrdn_data_t;
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/usb/host/dwc_otg/test/Makefile b/drivers/usb/host/dwc_otg/test/Makefile
-new file mode 100644
-index 0000000..fc45375
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/test/Makefile
 +++ b/drivers/usb/host/dwc_otg/test/Makefile
 @@ -0,0 +1,16 @@
 @@ -0,0 +1,16 @@
@@ -56388,9 +56216,6 @@ index 0000000..fc45375
 +	  else echo "=======> $$test, FAILED" ; \
 +	  else echo "=======> $$test, FAILED" ; \
 +	  fi \
 +	  fi \
 +	done
 +	done
-diff --git a/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
-new file mode 100644
-index 0000000..85e55fd
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
 +++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
 @@ -0,0 +1,337 @@
 @@ -0,0 +1,337 @@
@@ -56731,9 +56556,6 @@ index 0000000..85e55fd
 +);
 +);
 +
 +
 +1;
 +1;
-diff --git a/drivers/usb/host/dwc_otg/test/test_mod_param.pl b/drivers/usb/host/dwc_otg/test/test_mod_param.pl
-new file mode 100644
-index 0000000..dc3820d
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl
 +++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl
 @@ -0,0 +1,133 @@
 @@ -0,0 +1,133 @@
@@ -56870,9 +56692,6 @@ index 0000000..dc3820d
 +
 +
 +test_main();
 +test_main();
 +0;
 +0;
-diff --git a/drivers/usb/host/dwc_otg/test/test_sysfs.pl b/drivers/usb/host/dwc_otg/test/test_sysfs.pl
-new file mode 100644
-index 0000000..cdc9963
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl
 +++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl
 @@ -0,0 +1,193 @@
 @@ -0,0 +1,193 @@
@@ -57069,6 +56888,3 @@ index 0000000..cdc9963
 +
 +
 +test_main();
 +test_main();
 +0;
 +0;
--- 
-1.9.1
-

+ 1 - 11
target/linux/brcm2708/patches-3.14/0004-bcm2708-watchdog-driver.patch

@@ -11,8 +11,6 @@ Signed-off-by: popcornmix <[email protected]>
  3 files changed, 391 insertions(+)
  3 files changed, 391 insertions(+)
  create mode 100644 drivers/watchdog/bcm2708_wdog.c
  create mode 100644 drivers/watchdog/bcm2708_wdog.c
 
 
-diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
-index 79d2589..3641dbd 100644
 --- a/drivers/watchdog/Kconfig
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
 @@ -402,6 +402,12 @@ config RETU_WATCHDOG
 @@ -402,6 +402,12 @@ config RETU_WATCHDOG
@@ -28,11 +26,9 @@ index 79d2589..3641dbd 100644
  config MOXART_WDT
  config MOXART_WDT
  	tristate "MOXART watchdog"
  	tristate "MOXART watchdog"
  	depends on ARCH_MOXART
  	depends on ARCH_MOXART
-diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
-index 985a66c..f68e32c 100644
 --- a/drivers/watchdog/Makefile
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -54,6 +54,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o
+@@ -54,6 +54,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_
  obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o
  obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o
  obj-$(CONFIG_UX500_WATCHDOG) += ux500_wdt.o
  obj-$(CONFIG_UX500_WATCHDOG) += ux500_wdt.o
  obj-$(CONFIG_RETU_WATCHDOG) += retu_wdt.o
  obj-$(CONFIG_RETU_WATCHDOG) += retu_wdt.o
@@ -40,9 +36,6 @@ index 985a66c..f68e32c 100644
  obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o
  obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o
  obj-$(CONFIG_MOXART_WDT) += moxart_wdt.o
  obj-$(CONFIG_MOXART_WDT) += moxart_wdt.o
  obj-$(CONFIG_SIRFSOC_WATCHDOG) += sirfsoc_wdt.o
  obj-$(CONFIG_SIRFSOC_WATCHDOG) += sirfsoc_wdt.o
-diff --git a/drivers/watchdog/bcm2708_wdog.c b/drivers/watchdog/bcm2708_wdog.c
-new file mode 100644
-index 0000000..2f19203
 --- /dev/null
 --- /dev/null
 +++ b/drivers/watchdog/bcm2708_wdog.c
 +++ b/drivers/watchdog/bcm2708_wdog.c
 @@ -0,0 +1,384 @@
 @@ -0,0 +1,384 @@
@@ -430,6 +423,3 @@ index 0000000..2f19203
 +MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
 +MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
 +MODULE_ALIAS_MISCDEV(TEMP_MINOR);
 +MODULE_ALIAS_MISCDEV(TEMP_MINOR);
 +MODULE_LICENSE("GPL");
 +MODULE_LICENSE("GPL");
--- 
-1.9.1
-

+ 1 - 13
target/linux/brcm2708/patches-3.14/0005-bcm2708-framebuffer-driver.patch

@@ -12,8 +12,6 @@ Signed-off-by: popcornmix <[email protected]>
  4 files changed, 1395 insertions(+), 1602 deletions(-)
  4 files changed, 1395 insertions(+), 1602 deletions(-)
  create mode 100644 drivers/video/bcm2708_fb.c
  create mode 100644 drivers/video/bcm2708_fb.c
 
 
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index dade5b7..4afc29b 100644
 --- a/drivers/video/Kconfig
 --- a/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
 @@ -310,6 +310,20 @@ config FB_PM2_FIFO_DISCONNECT
 @@ -310,6 +310,20 @@ config FB_PM2_FIFO_DISCONNECT
@@ -37,11 +35,9 @@ index dade5b7..4afc29b 100644
  config FB_ARMCLCD
  config FB_ARMCLCD
  	tristate "ARM PrimeCell PL110 support"
  	tristate "ARM PrimeCell PL110 support"
  	depends on ARM || ARM64 || COMPILE_TEST
  	depends on ARM || ARM64 || COMPILE_TEST
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index ae17ddf..35654ba 100644
 --- a/drivers/video/Makefile
 --- a/drivers/video/Makefile
 +++ b/drivers/video/Makefile
 +++ b/drivers/video/Makefile
-@@ -100,6 +100,7 @@ obj-$(CONFIG_FB_PVR2)             += pvr2fb.o
+@@ -100,6 +100,7 @@ obj-$(CONFIG_FB_PVR2)             += pvr
  obj-$(CONFIG_FB_VOODOO1)          += sstfb.o
  obj-$(CONFIG_FB_VOODOO1)          += sstfb.o
  obj-$(CONFIG_FB_ARMCLCD)	  += amba-clcd.o
  obj-$(CONFIG_FB_ARMCLCD)	  += amba-clcd.o
  obj-$(CONFIG_FB_GOLDFISH)         += goldfishfb.o
  obj-$(CONFIG_FB_GOLDFISH)         += goldfishfb.o
@@ -49,9 +45,6 @@ index ae17ddf..35654ba 100644
  obj-$(CONFIG_FB_68328)            += 68328fb.o
  obj-$(CONFIG_FB_68328)            += 68328fb.o
  obj-$(CONFIG_FB_GBE)              += gbefb.o
  obj-$(CONFIG_FB_GBE)              += gbefb.o
  obj-$(CONFIG_FB_CIRRUS)		  += cirrusfb.o
  obj-$(CONFIG_FB_CIRRUS)		  += cirrusfb.o
-diff --git a/drivers/video/bcm2708_fb.c b/drivers/video/bcm2708_fb.c
-new file mode 100644
-index 0000000..54cd760
 --- /dev/null
 --- /dev/null
 +++ b/drivers/video/bcm2708_fb.c
 +++ b/drivers/video/bcm2708_fb.c
 @@ -0,0 +1,499 @@
 @@ -0,0 +1,499 @@
@@ -554,8 +547,6 @@ index 0000000..54cd760
 +MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer");
 +MODULE_PARM_DESC(fbheight, "Height of ARM Framebuffer");
 +MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer");
 +MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer");
 +MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes");
 +MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes");
-diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm
-index 3c14e43..7626beb 100644
 --- a/drivers/video/logo/logo_linux_clut224.ppm
 --- a/drivers/video/logo/logo_linux_clut224.ppm
 +++ b/drivers/video/logo/logo_linux_clut224.ppm
 +++ b/drivers/video/logo/logo_linux_clut224.ppm
 @@ -1,1604 +1,883 @@
 @@ -1,1604 +1,883 @@
@@ -3044,6 +3035,3 @@ index 3c14e43..7626beb 100644
 +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  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
--- 
-1.9.1
-

+ 0 - 100
target/linux/brcm2708/patches-3.14/0006-bcm2708-vchiq-driver.patch

@@ -83,8 +83,6 @@ Signed-off-by: Daniel Stone <[email protected]>
  create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
  create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
  create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
  create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
 
 
-diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 6cb388e..56867fa 100644
 --- a/drivers/misc/Kconfig
 --- a/drivers/misc/Kconfig
 +++ b/drivers/misc/Kconfig
 +++ b/drivers/misc/Kconfig
 @@ -524,6 +524,7 @@ source "drivers/misc/carma/Kconfig"
 @@ -524,6 +524,7 @@ source "drivers/misc/carma/Kconfig"
@@ -95,8 +93,6 @@ index 6cb388e..56867fa 100644
  source "drivers/misc/mic/Kconfig"
  source "drivers/misc/mic/Kconfig"
  source "drivers/misc/genwqe/Kconfig"
  source "drivers/misc/genwqe/Kconfig"
  endmenu
  endmenu
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 99b9424..ad85616 100644
 --- a/drivers/misc/Makefile
 --- a/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
 @@ -52,5 +52,6 @@ obj-$(CONFIG_INTEL_MEI)		+= mei/
 @@ -52,5 +52,6 @@ obj-$(CONFIG_INTEL_MEI)		+= mei/
@@ -106,9 +102,6 @@ index 99b9424..ad85616 100644
 +obj-y				+= vc04_services/
 +obj-y				+= vc04_services/
  obj-y				+= mic/
  obj-y				+= mic/
  obj-$(CONFIG_GENWQE)		+= genwqe/
  obj-$(CONFIG_GENWQE)		+= genwqe/
-diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig
-new file mode 100644
-index 0000000..2663933
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/Kconfig
 +++ b/drivers/misc/vc04_services/Kconfig
 @@ -0,0 +1,9 @@
 @@ -0,0 +1,9 @@
@@ -121,9 +114,6 @@ index 0000000..2663933
 +		BCM2708 family of products.
 +		BCM2708 family of products.
 +		Defaults to Y when the Broadcom Videocore services
 +		Defaults to Y when the Broadcom Videocore services
 +		are included in the build, N otherwise.
 +		are included in the build, N otherwise.
-diff --git a/drivers/misc/vc04_services/Makefile b/drivers/misc/vc04_services/Makefile
-new file mode 100644
-index 0000000..4224f58
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/Makefile
 +++ b/drivers/misc/vc04_services/Makefile
 @@ -0,0 +1,17 @@
 @@ -0,0 +1,17 @@
@@ -144,9 +134,6 @@ index 0000000..4224f58
 +ccflags-y += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000
 +ccflags-y += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000
 +
 +
 +endif
 +endif
-diff --git a/drivers/misc/vc04_services/interface/vchi/connections/connection.h b/drivers/misc/vc04_services/interface/vchi/connections/connection.h
-new file mode 100644
-index 0000000..fef6ac3
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchi/connections/connection.h
 +++ b/drivers/misc/vc04_services/interface/vchi/connections/connection.h
 @@ -0,0 +1,328 @@
 @@ -0,0 +1,328 @@
@@ -478,9 +465,6 @@ index 0000000..fef6ac3
 +#endif /* CONNECTION_H_ */
 +#endif /* CONNECTION_H_ */
 +
 +
 +/****************************** End of file **********************************/
 +/****************************** End of file **********************************/
-diff --git a/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
-new file mode 100644
-index 0000000..8b3f767
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
 +++ b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
 @@ -0,0 +1,204 @@
 @@ -0,0 +1,204 @@
@@ -688,9 +672,6 @@ index 0000000..8b3f767
 +#endif // _VCHI_MESSAGE_H_
 +#endif // _VCHI_MESSAGE_H_
 +
 +
 +/****************************** End of file ***********************************/
 +/****************************** End of file ***********************************/
-diff --git a/drivers/misc/vc04_services/interface/vchi/vchi.h b/drivers/misc/vc04_services/interface/vchi/vchi.h
-new file mode 100644
-index 0000000..cee5291
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi.h
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi.h
 @@ -0,0 +1,373 @@
 @@ -0,0 +1,373 @@
@@ -1067,9 +1048,6 @@ index 0000000..cee5291
 +#endif /* VCHI_H_ */
 +#endif /* VCHI_H_ */
 +
 +
 +/****************************** End of file **********************************/
 +/****************************** End of file **********************************/
-diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
-new file mode 100644
-index 0000000..26bc2d3
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
 @@ -0,0 +1,224 @@
 @@ -0,0 +1,224 @@
@@ -1297,9 +1275,6 @@ index 0000000..26bc2d3
 +#endif /* VCHI_CFG_H_ */
 +#endif /* VCHI_CFG_H_ */
 +
 +
 +/****************************** End of file **********************************/
 +/****************************** End of file **********************************/
-diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
-new file mode 100644
-index 0000000..35dcba4
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
 @@ -0,0 +1,71 @@
 @@ -0,0 +1,71 @@
@@ -1374,9 +1349,6 @@ index 0000000..35dcba4
 +//#define VCHI_RX_NANOLOCKS
 +//#define VCHI_RX_NANOLOCKS
 +
 +
 +#endif /*VCHI_CFG_INTERNAL_H_*/
 +#endif /*VCHI_CFG_INTERNAL_H_*/
-diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_common.h b/drivers/misc/vc04_services/interface/vchi/vchi_common.h
-new file mode 100644
-index 0000000..9e6c00e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_common.h
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_common.h
 @@ -0,0 +1,163 @@
 @@ -0,0 +1,163 @@
@@ -1543,9 +1515,6 @@ index 0000000..9e6c00e
 +
 +
 +
 +
 +#endif // VCHI_COMMON_H_
 +#endif // VCHI_COMMON_H_
-diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_mh.h b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
-new file mode 100644
-index 0000000..198bd07
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
 +++ b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
 @@ -0,0 +1,42 @@
 @@ -0,0 +1,42 @@
@@ -1591,9 +1560,6 @@ index 0000000..198bd07
 +#define VCHI_MEM_HANDLE_INVALID 0
 +#define VCHI_MEM_HANDLE_INVALID 0
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
-new file mode 100644
-index 0000000..ad398ba
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
 @@ -0,0 +1,40 @@
 @@ -0,0 +1,40 @@
@@ -1637,9 +1603,6 @@ index 0000000..ad398ba
 +#include "vchiq_util.h"
 +#include "vchiq_util.h"
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
-new file mode 100644
-index 0000000..7ea5c64
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
 @@ -0,0 +1,42 @@
 @@ -0,0 +1,42 @@
@@ -1685,9 +1648,6 @@ index 0000000..7ea5c64
 +#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX  1
 +#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX  1
 +
 +
 +#endif /* VCHIQ_2835_H */
 +#endif /* VCHIQ_2835_H */
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-new file mode 100644
-index 0000000..b3bdaa2
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
 @@ -0,0 +1,561 @@
 @@ -0,0 +1,561 @@
@@ -2252,9 +2212,6 @@ index 0000000..b3bdaa2
 +
 +
 +	kfree(pagelist);
 +	kfree(pagelist);
 +}
 +}
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
-new file mode 100644
-index 0000000..c1fb8c3
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
 @@ -0,0 +1,2813 @@
 @@ -0,0 +1,2813 @@
@@ -5071,9 +5028,6 @@ index 0000000..c1fb8c3
 +module_exit(vchiq_exit);
 +module_exit(vchiq_exit);
 +MODULE_LICENSE("GPL");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Broadcom Corporation");
 +MODULE_AUTHOR("Broadcom Corporation");
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
-new file mode 100644
-index 0000000..75ad4c6
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
 @@ -0,0 +1,212 @@
 @@ -0,0 +1,212 @@
@@ -5289,9 +5243,6 @@ index 0000000..75ad4c6
 +
 +
 +
 +
 +#endif /* VCHIQ_ARM_H */
 +#endif /* VCHIQ_ARM_H */
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
-new file mode 100644
-index 0000000..df64581
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
 @@ -0,0 +1,37 @@
 @@ -0,0 +1,37 @@
@@ -5332,9 +5283,6 @@ index 0000000..df64581
 +const char *vchiq_get_build_version(void);
 +const char *vchiq_get_build_version(void);
 +const char *vchiq_get_build_time(void);
 +const char *vchiq_get_build_time(void);
 +const char *vchiq_get_build_date(void);
 +const char *vchiq_get_build_date(void);
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
-new file mode 100644
-index 0000000..493c86c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
 @@ -0,0 +1,60 @@
 @@ -0,0 +1,60 @@
@@ -5398,9 +5346,6 @@ index 0000000..493c86c
 +#endif
 +#endif
 +
 +
 +#endif /* VCHIQ_CFG_H */
 +#endif /* VCHIQ_CFG_H */
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
-new file mode 100644
-index 0000000..65f4b52
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
 @@ -0,0 +1,119 @@
 @@ -0,0 +1,119 @@
@@ -5523,9 +5468,6 @@ index 0000000..65f4b52
 +	mutex_unlock(&g_connected_mutex);
 +	mutex_unlock(&g_connected_mutex);
 +}
 +}
 +EXPORT_SYMBOL(vchiq_add_connected_callback);
 +EXPORT_SYMBOL(vchiq_add_connected_callback);
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
-new file mode 100644
-index 0000000..863b3e3
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
 @@ -0,0 +1,50 @@
 @@ -0,0 +1,50 @@
@@ -5579,9 +5521,6 @@ index 0000000..863b3e3
 +void vchiq_call_connected_callbacks(void);
 +void vchiq_call_connected_callbacks(void);
 +
 +
 +#endif /* VCHIQ_CONNECTED_H */
 +#endif /* VCHIQ_CONNECTED_H */
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
-new file mode 100644
-index 0000000..f35ed4f
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
 @@ -0,0 +1,3824 @@
 @@ -0,0 +1,3824 @@
@@ -9409,9 +9348,6 @@ index 0000000..f35ed4f
 +			numBytes = 0;
 +			numBytes = 0;
 +	}
 +	}
 +}
 +}
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
-new file mode 100644
-index 0000000..47cdf27
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
 @@ -0,0 +1,706 @@
 @@ -0,0 +1,706 @@
@@ -10121,9 +10057,6 @@ index 0000000..47cdf27
 +	size_t numBytes);
 +	size_t numBytes);
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
-new file mode 100644
-index 0000000..9f5b634
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
 @@ -0,0 +1,87 @@
 @@ -0,0 +1,87 @@
@@ -10214,9 +10147,6 @@ index 0000000..9f5b634
 +   return vchiq_build_time;
 +   return vchiq_build_time;
 +}
 +}
 +EOF
 +EOF
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
-new file mode 100644
-index 0000000..50359b0
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
 @@ -0,0 +1,188 @@
 @@ -0,0 +1,188 @@
@@ -10408,9 +10338,6 @@ index 0000000..50359b0
 +      short *peer_version);
 +      short *peer_version);
 +
 +
 +#endif /* VCHIQ_IF_H */
 +#endif /* VCHIQ_IF_H */
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
-new file mode 100644
-index 0000000..e248037
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
 @@ -0,0 +1,129 @@
 @@ -0,0 +1,129 @@
@@ -10543,9 +10470,6 @@ index 0000000..e248037
 +#define VCHIQ_IOC_MAX                  15
 +#define VCHIQ_IOC_MAX                  15
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
-new file mode 100644
-index 0000000..be9735f
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
 @@ -0,0 +1,456 @@
 @@ -0,0 +1,456 @@
@@ -11005,9 +10929,6 @@ index 0000000..be9735f
 +
 +
 +	return status;
 +	return status;
 +}
 +}
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
-new file mode 100644
-index 0000000..d02e776
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
 @@ -0,0 +1,71 @@
 @@ -0,0 +1,71 @@
@@ -11082,9 +11003,6 @@ index 0000000..d02e776
 +	const VCHIQ_PLATFORM_DATA_T * platform_data);
 +	const VCHIQ_PLATFORM_DATA_T * platform_data);
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
-new file mode 100644
-index 0000000..54a3ece
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
 @@ -0,0 +1,58 @@
 @@ -0,0 +1,58 @@
@@ -11146,9 +11064,6 @@ index 0000000..54a3ece
 +} FRAGMENTS_T;
 +} FRAGMENTS_T;
 +
 +
 +#endif /* VCHIQ_PAGELIST_H */
 +#endif /* VCHIQ_PAGELIST_H */
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c
-new file mode 100644
-index 0000000..8e59676
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_proc.c
 @@ -0,0 +1,253 @@
 @@ -0,0 +1,253 @@
@@ -11405,9 +11320,6 @@ index 0000000..8e59676
 +}
 +}
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
-new file mode 100644
-index 0000000..a0b069d
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
 @@ -0,0 +1,828 @@
 @@ -0,0 +1,828 @@
@@ -12239,9 +12151,6 @@ index 0000000..a0b069d
 +	return ret;
 +	return ret;
 +}
 +}
 +EXPORT_SYMBOL(vchi_service_release);
 +EXPORT_SYMBOL(vchi_service_release);
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
-new file mode 100644
-index 0000000..c2eefef
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
 @@ -0,0 +1,151 @@
 @@ -0,0 +1,151 @@
@@ -12396,9 +12305,6 @@ index 0000000..c2eefef
 +
 +
 +	return header;
 +	return header;
 +}
 +}
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
-new file mode 100644
-index 0000000..f4d0b66
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
 @@ -0,0 +1,81 @@
 @@ -0,0 +1,81 @@
@@ -12483,9 +12389,6 @@ index 0000000..f4d0b66
 +extern VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue);
 +extern VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue);
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
-new file mode 100644
-index 0000000..b6bfa21
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
 @@ -0,0 +1,59 @@
 @@ -0,0 +1,59 @@
@@ -12548,6 +12451,3 @@ index 0000000..b6bfa21
 +{
 +{
 +   return vchiq_build_time;
 +   return vchiq_build_time;
 +}
 +}
--- 
-1.9.1
-

+ 0 - 18
target/linux/brcm2708/patches-3.14/0007-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch

@@ -14,8 +14,6 @@ Subject: [PATCH 07/54] vchiq: Avoid high load when blocked and unkillable
  7 files changed, 75 insertions(+)
  7 files changed, 75 insertions(+)
  create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
  create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
 
 
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-index b3bdaa2..7e7b09f 100644
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
 @@ -56,6 +56,7 @@
 @@ -56,6 +56,7 @@
@@ -26,8 +24,6 @@ index b3bdaa2..7e7b09f 100644
  
  
  #define MAX_FRAGMENTS (VCHIQ_NUM_CURRENT_BULKS * 2)
  #define MAX_FRAGMENTS (VCHIQ_NUM_CURRENT_BULKS * 2)
  
  
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
-index c1fb8c3..99c8967e 100644
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
 @@ -49,6 +49,7 @@
 @@ -49,6 +49,7 @@
@@ -38,8 +34,6 @@ index c1fb8c3..99c8967e 100644
  
  
  #define DEVICE_NAME "vchiq"
  #define DEVICE_NAME "vchiq"
  
  
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
-index 65f4b52..5efc62f 100644
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
 @@ -33,6 +33,7 @@
 @@ -33,6 +33,7 @@
@@ -50,8 +44,6 @@ index 65f4b52..5efc62f 100644
  #include <linux/module.h>
  #include <linux/module.h>
  #include <linux/mutex.h>
  #include <linux/mutex.h>
  
  
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
-index f35ed4f..71ed0a5 100644
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
 @@ -32,6 +32,7 @@
 @@ -32,6 +32,7 @@
@@ -62,8 +54,6 @@ index f35ed4f..71ed0a5 100644
  
  
  #define VCHIQ_SLOT_HANDLER_STACK 8192
  #define VCHIQ_SLOT_HANDLER_STACK 8192
  
  
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
-index be9735f..5a4182e 100644
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
 @@ -39,6 +39,7 @@
 @@ -39,6 +39,7 @@
@@ -74,9 +64,6 @@ index be9735f..5a4182e 100644
  
  
  /* ---- Public Variables ------------------------------------------------- */
  /* ---- Public Variables ------------------------------------------------- */
  
  
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
-new file mode 100644
-index 0000000..505ee1a
 --- /dev/null
 --- /dev/null
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
 @@ -0,0 +1,69 @@
 @@ -0,0 +1,69 @@
@@ -149,8 +136,6 @@ index 0000000..505ee1a
 +#define mutex_lock_interruptible mutex_lock_interruptible_killable
 +#define mutex_lock_interruptible mutex_lock_interruptible_killable
 +
 +
 +#endif
 +#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
-index c2eefef..05e7979 100644
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
 --- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
 +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
 @@ -32,6 +32,7 @@
 @@ -32,6 +32,7 @@
@@ -161,6 +146,3 @@ index c2eefef..05e7979 100644
  
  
  static inline int is_pow2(int i)
  static inline int is_pow2(int i)
  {
  {
--- 
-1.9.1
-

+ 0 - 24
target/linux/brcm2708/patches-3.14/0008-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch

@@ -20,8 +20,6 @@ Signed-off-by: popcornmix <[email protected]>
  create mode 100644 drivers/char/broadcom/vc_cma/vc_cma.c
  create mode 100644 drivers/char/broadcom/vc_cma/vc_cma.c
  create mode 100644 include/linux/broadcom/vc_cma.h
  create mode 100644 include/linux/broadcom/vc_cma.h
 
 
-diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
-index 1386749..fcf51a3 100644
 --- a/drivers/char/Kconfig
 --- a/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
 +++ b/drivers/char/Kconfig
 @@ -581,6 +581,8 @@ config DEVPORT
 @@ -581,6 +581,8 @@ config DEVPORT
@@ -33,8 +31,6 @@ index 1386749..fcf51a3 100644
  config MSM_SMD_PKT
  config MSM_SMD_PKT
  	bool "Enable device interface for some SMD packet ports"
  	bool "Enable device interface for some SMD packet ports"
  	default n
  	default n
-diff --git a/drivers/char/Makefile b/drivers/char/Makefile
-index a324f93..aef3ed0 100644
 --- a/drivers/char/Makefile
 --- a/drivers/char/Makefile
 +++ b/drivers/char/Makefile
 +++ b/drivers/char/Makefile
 @@ -61,3 +61,5 @@ obj-$(CONFIG_JS_RTC)		+= js-rtc.o
 @@ -61,3 +61,5 @@ obj-$(CONFIG_JS_RTC)		+= js-rtc.o
@@ -43,9 +39,6 @@ index a324f93..aef3ed0 100644
  obj-$(CONFIG_TILE_SROM)		+= tile-srom.o
  obj-$(CONFIG_TILE_SROM)		+= tile-srom.o
 +
 +
 +obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/
 +obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/
-diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig
-new file mode 100644
-index 0000000..f089943
 --- /dev/null
 --- /dev/null
 +++ b/drivers/char/broadcom/Kconfig
 +++ b/drivers/char/broadcom/Kconfig
 @@ -0,0 +1,16 @@
 @@ -0,0 +1,16 @@
@@ -65,16 +58,10 @@ index 0000000..f089943
 +        help
 +        help
 +          Helper for videocore CMA access.
 +          Helper for videocore CMA access.
 +
 +
-diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile
-new file mode 100644
-index 0000000..13c5bca
 --- /dev/null
 --- /dev/null
 +++ b/drivers/char/broadcom/Makefile
 +++ b/drivers/char/broadcom/Makefile
 @@ -0,0 +1 @@
 @@ -0,0 +1 @@
 +obj-$(CONFIG_BCM_VC_CMA)	+= vc_cma/
 +obj-$(CONFIG_BCM_VC_CMA)	+= vc_cma/
-diff --git a/drivers/char/broadcom/vc_cma/Makefile b/drivers/char/broadcom/vc_cma/Makefile
-new file mode 100644
-index 0000000..6a94de4
 --- /dev/null
 --- /dev/null
 +++ b/drivers/char/broadcom/vc_cma/Makefile
 +++ b/drivers/char/broadcom/vc_cma/Makefile
 @@ -0,0 +1,14 @@
 @@ -0,0 +1,14 @@
@@ -92,9 +79,6 @@ index 0000000..6a94de4
 +obj-$(CONFIG_BCM_VC_CMA) += vc-cma.o
 +obj-$(CONFIG_BCM_VC_CMA) += vc-cma.o
 +
 +
 +vc-cma-objs := vc_cma.o
 +vc-cma-objs := vc_cma.o
-diff --git a/drivers/char/broadcom/vc_cma/vc_cma.c b/drivers/char/broadcom/vc_cma/vc_cma.c
-new file mode 100644
-index 0000000..a635f9f
 --- /dev/null
 --- /dev/null
 +++ b/drivers/char/broadcom/vc_cma/vc_cma.c
 +++ b/drivers/char/broadcom/vc_cma/vc_cma.c
 @@ -0,0 +1,1143 @@
 @@ -0,0 +1,1143 @@
@@ -1241,8 +1225,6 @@ index 0000000..a635f9f
 +module_exit(vc_cma_exit);
 +module_exit(vc_cma_exit);
 +MODULE_LICENSE("GPL");
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Broadcom Corporation");
 +MODULE_AUTHOR("Broadcom Corporation");
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index ad85616..8418ba7 100644
 --- a/drivers/misc/Makefile
 --- a/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
 @@ -52,6 +52,6 @@ obj-$(CONFIG_INTEL_MEI)		+= mei/
 @@ -52,6 +52,6 @@ obj-$(CONFIG_INTEL_MEI)		+= mei/
@@ -1253,9 +1235,6 @@ index ad85616..8418ba7 100644
 +obj-$(CONFIG_BCM2708_VCHIQ)	+= vc04_services/
 +obj-$(CONFIG_BCM2708_VCHIQ)	+= vc04_services/
  obj-y				+= mic/
  obj-y				+= mic/
  obj-$(CONFIG_GENWQE)		+= genwqe/
  obj-$(CONFIG_GENWQE)		+= genwqe/
-diff --git a/include/linux/broadcom/vc_cma.h b/include/linux/broadcom/vc_cma.h
-new file mode 100644
-index 0000000..5325832
 --- /dev/null
 --- /dev/null
 +++ b/include/linux/broadcom/vc_cma.h
 +++ b/include/linux/broadcom/vc_cma.h
 @@ -0,0 +1,29 @@
 @@ -0,0 +1,29 @@
@@ -1288,6 +1267,3 @@ index 0000000..5325832
 +#endif
 +#endif
 +
 +
 +#endif /* VC_CMA_H */
 +#endif /* VC_CMA_H */
--- 
-1.9.1
-

+ 2 - 33
target/linux/brcm2708/patches-3.14/0009-bcm2708-alsa-sound-driver.patch

@@ -24,8 +24,6 @@ Subject: [PATCH 09/54] bcm2708: alsa sound driver
  create mode 100755 sound/arm/bcm2835.h
  create mode 100755 sound/arm/bcm2835.h
  create mode 100644 sound/arm/vc_vchi_audioserv_defs.h
  create mode 100644 sound/arm/vc_vchi_audioserv_defs.h
 
 
-diff --git a/arch/arm/configs/bcmrpi_cutdown_defconfig b/arch/arm/configs/bcmrpi_cutdown_defconfig
-index 74f2dc9..e519412 100644
 --- a/arch/arm/configs/bcmrpi_cutdown_defconfig
 --- a/arch/arm/configs/bcmrpi_cutdown_defconfig
 +++ b/arch/arm/configs/bcmrpi_cutdown_defconfig
 +++ b/arch/arm/configs/bcmrpi_cutdown_defconfig
 @@ -208,6 +208,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
 @@ -208,6 +208,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -55,8 +53,6 @@ index 74f2dc9..e519412 100644
  CONFIG_HID_PID=y
  CONFIG_HID_PID=y
  CONFIG_USB_HIDDEV=y
  CONFIG_USB_HIDDEV=y
  CONFIG_HID_A4TECH=m
  CONFIG_HID_A4TECH=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 339aabf..df947e5 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -225,6 +225,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
 @@ -225,6 +225,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -86,11 +82,9 @@ index 339aabf..df947e5 100644
  CONFIG_HID_PID=y
  CONFIG_HID_PID=y
  CONFIG_USB_HIDDEV=y
  CONFIG_USB_HIDDEV=y
  CONFIG_HID_A4TECH=m
  CONFIG_HID_A4TECH=m
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index a5af6ec..1904066 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -431,6 +431,58 @@ struct platform_device bcm2708_powerman_device = {
+@@ -431,6 +431,58 @@ struct platform_device bcm2708_powerman_
  		.coherent_dma_mask = 0xffffffffUL},
  		.coherent_dma_mask = 0xffffffffUL},
  };
  };
  
  
@@ -158,8 +152,6 @@ index a5af6ec..1904066 100644
  
  
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  		struct amba_device *d = amba_devs[i];
  		struct amba_device *d = amba_devs[i];
-diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig
-index 885683a..f7ceafd 100644
 --- a/sound/arm/Kconfig
 --- a/sound/arm/Kconfig
 +++ b/sound/arm/Kconfig
 +++ b/sound/arm/Kconfig
 @@ -39,5 +39,12 @@ config SND_PXA2XX_AC97
 @@ -39,5 +39,12 @@ config SND_PXA2XX_AC97
@@ -175,11 +167,9 @@ index 885683a..f7ceafd 100644
 +
 +
  endif	# SND_ARM
  endif	# SND_ARM
  
  
-diff --git a/sound/arm/Makefile b/sound/arm/Makefile
-index 8c0c851..6796d7f 100644
 --- a/sound/arm/Makefile
 --- a/sound/arm/Makefile
 +++ b/sound/arm/Makefile
 +++ b/sound/arm/Makefile
-@@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_AC97)	+= pxa2xx-ac97-lib.o
+@@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_A
  
  
  obj-$(CONFIG_SND_PXA2XX_AC97)	+= snd-pxa2xx-ac97.o
  obj-$(CONFIG_SND_PXA2XX_AC97)	+= snd-pxa2xx-ac97.o
  snd-pxa2xx-ac97-objs		:= pxa2xx-ac97.o
  snd-pxa2xx-ac97-objs		:= pxa2xx-ac97.o
@@ -188,9 +178,6 @@ index 8c0c851..6796d7f 100644
 +snd-bcm2835-objs		:= bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o
 +snd-bcm2835-objs		:= bcm2835.o bcm2835-ctl.o bcm2835-pcm.o bcm2835-vchiq.o
 +
 +
 +ccflags-y += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
 +ccflags-y += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
-diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c
-new file mode 100755
-index 0000000..8c5334a
 --- /dev/null
 --- /dev/null
 +++ b/sound/arm/bcm2835-ctl.c
 +++ b/sound/arm/bcm2835-ctl.c
 @@ -0,0 +1,200 @@
 @@ -0,0 +1,200 @@
@@ -394,9 +381,6 @@ index 0000000..8c5334a
 +	}
 +	}
 +	return 0;
 +	return 0;
 +}
 +}
-diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c
-new file mode 100755
-index 0000000..2e7d405
 --- /dev/null
 --- /dev/null
 +++ b/sound/arm/bcm2835-pcm.c
 +++ b/sound/arm/bcm2835-pcm.c
 @@ -0,0 +1,409 @@
 @@ -0,0 +1,409 @@
@@ -809,9 +793,6 @@ index 0000000..2e7d405
 +
 +
 +	return 0;
 +	return 0;
 +}
 +}
-diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c
-new file mode 100755
-index 0000000..b9b4fe8
 --- /dev/null
 --- /dev/null
 +++ b/sound/arm/bcm2835-vchiq.c
 +++ b/sound/arm/bcm2835-vchiq.c
 @@ -0,0 +1,844 @@
 @@ -0,0 +1,844 @@
@@ -1659,9 +1640,6 @@ index 0000000..b9b4fe8
 +
 +
 +module_param(force_bulk, bool, 0444);
 +module_param(force_bulk, bool, 0444);
 +MODULE_PARM_DESC(force_bulk, "Force use of vchiq bulk for audio");
 +MODULE_PARM_DESC(force_bulk, "Force use of vchiq bulk for audio");
-diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c
-new file mode 100755
-index 0000000..317e7d9
 --- /dev/null
 --- /dev/null
 +++ b/sound/arm/bcm2835.c
 +++ b/sound/arm/bcm2835.c
 @@ -0,0 +1,413 @@
 @@ -0,0 +1,413 @@
@@ -2078,9 +2056,6 @@ index 0000000..317e7d9
 +MODULE_DESCRIPTION("Alsa driver for BCM2835 chip");
 +MODULE_DESCRIPTION("Alsa driver for BCM2835 chip");
 +MODULE_LICENSE("GPL");
 +MODULE_LICENSE("GPL");
 +MODULE_ALIAS("platform:bcm2835_alsa");
 +MODULE_ALIAS("platform:bcm2835_alsa");
-diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h
-new file mode 100755
-index 0000000..080bd5c
 --- /dev/null
 --- /dev/null
 +++ b/sound/arm/bcm2835.h
 +++ b/sound/arm/bcm2835.h
 @@ -0,0 +1,155 @@
 @@ -0,0 +1,155 @@
@@ -2239,9 +2214,6 @@ index 0000000..080bd5c
 +void bcm2835_audio_flush_playback_buffers(bcm2835_alsa_stream_t * alsa_stream);
 +void bcm2835_audio_flush_playback_buffers(bcm2835_alsa_stream_t * alsa_stream);
 +
 +
 +#endif /* __SOUND_ARM_BCM2835_H */
 +#endif /* __SOUND_ARM_BCM2835_H */
-diff --git a/sound/arm/vc_vchi_audioserv_defs.h b/sound/arm/vc_vchi_audioserv_defs.h
-new file mode 100644
-index 0000000..af3e6eb
 --- /dev/null
 --- /dev/null
 +++ b/sound/arm/vc_vchi_audioserv_defs.h
 +++ b/sound/arm/vc_vchi_audioserv_defs.h
 @@ -0,0 +1,116 @@
 @@ -0,0 +1,116 @@
@@ -2361,6 +2333,3 @@ index 0000000..af3e6eb
 +} VC_AUDIO_MSG_T;
 +} VC_AUDIO_MSG_T;
 +
 +
 +#endif // _VC_AUDIO_DEFS_H_
 +#endif // _VC_AUDIO_DEFS_H_
--- 
-1.9.1
-

+ 16 - 27
target/linux/brcm2708/patches-3.14/0010-alsa-add-mmap-support-and-some-cleanups-to-bcm2835-A.patch

@@ -11,8 +11,6 @@ Subject: [PATCH 10/54] alsa: add mmap support and some cleanups to bcm2835
  sound/arm/bcm2835.h       |  2 ++
  sound/arm/bcm2835.h       |  2 ++
  4 files changed, 124 insertions(+), 70 deletions(-)
  4 files changed, 124 insertions(+), 70 deletions(-)
 
 
-diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c
-index 2e7d405..b4084bb 100755
 --- a/sound/arm/bcm2835-pcm.c
 --- a/sound/arm/bcm2835-pcm.c
 +++ b/sound/arm/bcm2835-pcm.c
 +++ b/sound/arm/bcm2835-pcm.c
 @@ -19,7 +19,8 @@
 @@ -19,7 +19,8 @@
@@ -25,7 +23,7 @@ index 2e7d405..b4084bb 100755
  	.formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
  	.formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE,
  	.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
  	.rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_48000,
  	.rate_min = 8000,
  	.rate_min = 8000,
-@@ -251,6 +252,12 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
+@@ -251,6 +252,12 @@ static int snd_bcm2835_pcm_prepare(struc
  
  
  	audio_info(" .. IN\n");
  	audio_info(" .. IN\n");
  
  
@@ -38,7 +36,7 @@ index 2e7d405..b4084bb 100755
  	alsa_stream->buffer_size = snd_pcm_lib_buffer_bytes(substream);
  	alsa_stream->buffer_size = snd_pcm_lib_buffer_bytes(substream);
  	alsa_stream->period_size = snd_pcm_lib_period_bytes(substream);
  	alsa_stream->period_size = snd_pcm_lib_period_bytes(substream);
  	alsa_stream->pos = 0;
  	alsa_stream->pos = 0;
-@@ -263,6 +270,32 @@ static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
+@@ -263,6 +270,32 @@ static int snd_bcm2835_pcm_prepare(struc
  	return 0;
  	return 0;
  }
  }
  
  
@@ -71,7 +69,7 @@ index 2e7d405..b4084bb 100755
  /* trigger callback */
  /* trigger callback */
  static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
  static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
  {
  {
-@@ -279,6 +312,11 @@ static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
+@@ -279,6 +312,11 @@ static int snd_bcm2835_pcm_trigger(struc
  		if (!alsa_stream->running) {
  		if (!alsa_stream->running) {
  			err = bcm2835_audio_start(alsa_stream);
  			err = bcm2835_audio_start(alsa_stream);
  			if (err == 0) {
  			if (err == 0) {
@@ -83,7 +81,7 @@ index 2e7d405..b4084bb 100755
  				alsa_stream->running = 1;
  				alsa_stream->running = 1;
  				alsa_stream->draining = 1;
  				alsa_stream->draining = 1;
  			} else {
  			} else {
-@@ -327,30 +365,9 @@ snd_bcm2835_pcm_pointer(struct snd_pcm_substream *substream)
+@@ -327,30 +365,9 @@ snd_bcm2835_pcm_pointer(struct snd_pcm_s
  		      alsa_stream->pos);
  		      alsa_stream->pos);
  
  
  	audio_info(" .. OUT\n");
  	audio_info(" .. OUT\n");
@@ -117,7 +115,7 @@ index 2e7d405..b4084bb 100755
  }
  }
  
  
  static int snd_bcm2835_pcm_lib_ioctl(struct snd_pcm_substream *substream,
  static int snd_bcm2835_pcm_lib_ioctl(struct snd_pcm_substream *substream,
-@@ -372,7 +389,7 @@ static struct snd_pcm_ops snd_bcm2835_playback_ops = {
+@@ -372,7 +389,7 @@ static struct snd_pcm_ops snd_bcm2835_pl
  	.prepare = snd_bcm2835_pcm_prepare,
  	.prepare = snd_bcm2835_pcm_prepare,
  	.trigger = snd_bcm2835_pcm_trigger,
  	.trigger = snd_bcm2835_pcm_trigger,
  	.pointer = snd_bcm2835_pcm_pointer,
  	.pointer = snd_bcm2835_pcm_pointer,
@@ -126,8 +124,6 @@ index 2e7d405..b4084bb 100755
  };
  };
  
  
  /* create a pcm device */
  /* create a pcm device */
-diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c
-index b9b4fe8..ee09b13 100755
 --- a/sound/arm/bcm2835-vchiq.c
 --- a/sound/arm/bcm2835-vchiq.c
 +++ b/sound/arm/bcm2835-vchiq.c
 +++ b/sound/arm/bcm2835-vchiq.c
 @@ -27,6 +27,7 @@
 @@ -27,6 +27,7 @@
@@ -200,7 +196,7 @@ index b9b4fe8..ee09b13 100755
  		break;
  		break;
  	}
  	}
  	kfree((void *)work);
  	kfree((void *)work);
-@@ -107,7 +120,7 @@ int bcm2835_audio_start(bcm2835_alsa_stream_t * alsa_stream)
+@@ -107,7 +120,7 @@ int bcm2835_audio_start(bcm2835_alsa_str
  		if (work) {
  		if (work) {
  			INIT_WORK((struct work_struct *)work, my_wq_function);
  			INIT_WORK((struct work_struct *)work, my_wq_function);
  			work->alsa_stream = alsa_stream;
  			work->alsa_stream = alsa_stream;
@@ -209,7 +205,7 @@ index b9b4fe8..ee09b13 100755
  			if (queue_work
  			if (queue_work
  			    (alsa_stream->my_wq, (struct work_struct *)work))
  			    (alsa_stream->my_wq, (struct work_struct *)work))
  				ret = 0;
  				ret = 0;
-@@ -128,7 +141,31 @@ int bcm2835_audio_stop(bcm2835_alsa_stream_t * alsa_stream)
+@@ -128,7 +141,31 @@ int bcm2835_audio_stop(bcm2835_alsa_stre
  		if (work) {
  		if (work) {
  			INIT_WORK((struct work_struct *)work, my_wq_function);
  			INIT_WORK((struct work_struct *)work, my_wq_function);
  			work->alsa_stream = alsa_stream;
  			work->alsa_stream = alsa_stream;
@@ -242,7 +238,7 @@ index b9b4fe8..ee09b13 100755
  			if (queue_work
  			if (queue_work
  			    (alsa_stream->my_wq, (struct work_struct *)work))
  			    (alsa_stream->my_wq, (struct work_struct *)work))
  				ret = 0;
  				ret = 0;
-@@ -178,7 +215,7 @@ static void audio_vchi_callback(void *param,
+@@ -178,7 +215,7 @@ static void audio_vchi_callback(void *pa
  		    (" .. instance=%p, m.type=VC_AUDIO_MSG_TYPE_RESULT, success=%d\n",
  		    (" .. instance=%p, m.type=VC_AUDIO_MSG_TYPE_RESULT, success=%d\n",
  		     instance, m.u.result.success);
  		     instance, m.u.result.success);
  		instance->result = m.u.result.success;
  		instance->result = m.u.result.success;
@@ -251,7 +247,7 @@ index b9b4fe8..ee09b13 100755
  	} else if (m.type == VC_AUDIO_MSG_TYPE_COMPLETE) {
  	} else if (m.type == VC_AUDIO_MSG_TYPE_COMPLETE) {
  		irq_handler_t callback = (irq_handler_t) m.u.complete.callback;
  		irq_handler_t callback = (irq_handler_t) m.u.complete.callback;
  		LOG_DBG
  		LOG_DBG
-@@ -435,8 +472,8 @@ static int bcm2835_audio_set_ctls_chan(bcm2835_alsa_stream_t * alsa_stream,
+@@ -435,8 +472,8 @@ static int bcm2835_audio_set_ctls_chan(b
  	m.u.control.dest = chip->dest;
  	m.u.control.dest = chip->dest;
  	m.u.control.volume = chip->volume;
  	m.u.control.volume = chip->volume;
  
  
@@ -262,7 +258,7 @@ index b9b4fe8..ee09b13 100755
  
  
  	/* Send the message to the videocore */
  	/* Send the message to the videocore */
  	success = vchi_msg_queue(instance->vchi_handle[0],
  	success = vchi_msg_queue(instance->vchi_handle[0],
-@@ -452,11 +489,10 @@ static int bcm2835_audio_set_ctls_chan(bcm2835_alsa_stream_t * alsa_stream,
+@@ -452,11 +489,10 @@ static int bcm2835_audio_set_ctls_chan(b
  	}
  	}
  
  
  	/* We are expecting a reply from the videocore */
  	/* We are expecting a reply from the videocore */
@@ -276,7 +272,7 @@ index b9b4fe8..ee09b13 100755
  		goto unlock;
  		goto unlock;
  	}
  	}
  
  
-@@ -539,8 +575,8 @@ int bcm2835_audio_set_params(bcm2835_alsa_stream_t * alsa_stream,
+@@ -539,8 +575,8 @@ int bcm2835_audio_set_params(bcm2835_als
  	m.u.config.samplerate = samplerate;
  	m.u.config.samplerate = samplerate;
  	m.u.config.bps = bps;
  	m.u.config.bps = bps;
  
  
@@ -287,7 +283,7 @@ index b9b4fe8..ee09b13 100755
  
  
  	/* Send the message to the videocore */
  	/* Send the message to the videocore */
  	success = vchi_msg_queue(instance->vchi_handle[0],
  	success = vchi_msg_queue(instance->vchi_handle[0],
-@@ -556,11 +592,10 @@ int bcm2835_audio_set_params(bcm2835_alsa_stream_t * alsa_stream,
+@@ -556,11 +592,10 @@ int bcm2835_audio_set_params(bcm2835_als
  	}
  	}
  
  
  	/* We are expecting a reply from the videocore */
  	/* We are expecting a reply from the videocore */
@@ -301,7 +297,7 @@ index b9b4fe8..ee09b13 100755
  		goto unlock;
  		goto unlock;
  	}
  	}
  
  
-@@ -688,8 +723,8 @@ int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream)
+@@ -688,8 +723,8 @@ int bcm2835_audio_close(bcm2835_alsa_str
  
  
  	m.type = VC_AUDIO_MSG_TYPE_CLOSE;
  	m.type = VC_AUDIO_MSG_TYPE_CLOSE;
  
  
@@ -312,7 +308,7 @@ index b9b4fe8..ee09b13 100755
  
  
  	/* Send the message to the videocore */
  	/* Send the message to the videocore */
  	success = vchi_msg_queue(instance->vchi_handle[0],
  	success = vchi_msg_queue(instance->vchi_handle[0],
-@@ -702,11 +737,11 @@ int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream)
+@@ -702,11 +737,11 @@ int bcm2835_audio_close(bcm2835_alsa_str
  		ret = -1;
  		ret = -1;
  		goto unlock;
  		goto unlock;
  	}
  	}
@@ -338,11 +334,9 @@ index b9b4fe8..ee09b13 100755
  {
  {
  	VC_AUDIO_MSG_T m;
  	VC_AUDIO_MSG_T m;
  	AUDIO_INSTANCE_T *instance = alsa_stream->instance;
  	AUDIO_INSTANCE_T *instance = alsa_stream->instance;
-diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c
-index 317e7d9..e2047a7 100755
 --- a/sound/arm/bcm2835.c
 --- a/sound/arm/bcm2835.c
 +++ b/sound/arm/bcm2835.c
 +++ b/sound/arm/bcm2835.c
-@@ -110,20 +110,20 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev)
+@@ -110,20 +110,20 @@ static int snd_bcm2835_alsa_probe(struct
  
  
  	err = snd_bcm2835_create(g_card, pdev, &chip);
  	err = snd_bcm2835_create(g_card, pdev, &chip);
  	if (err < 0) {
  	if (err < 0) {
@@ -399,7 +393,7 @@ index 317e7d9..e2047a7 100755
  	return err;
  	return err;
  }
  }
  
  
-@@ -326,49 +326,49 @@ static int bcm2835_alsa_device_init(void)
+@@ -326,49 +326,49 @@ static int bcm2835_alsa_device_init(void
  	int err;
  	int err;
  	err = platform_driver_register(&bcm2835_alsa0_driver);
  	err = platform_driver_register(&bcm2835_alsa0_driver);
  	if (err) {
  	if (err) {
@@ -457,8 +451,6 @@ index 317e7d9..e2047a7 100755
  		goto unregister_6;
  		goto unregister_6;
  	}
  	}
  
  
-diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h
-index 080bd5c..36afee3 100755
 --- a/sound/arm/bcm2835.h
 --- a/sound/arm/bcm2835.h
 +++ b/sound/arm/bcm2835.h
 +++ b/sound/arm/bcm2835.h
 @@ -23,6 +23,7 @@
 @@ -23,6 +23,7 @@
@@ -477,6 +469,3 @@ index 080bd5c..36afee3 100755
  
  
  	struct semaphore buffers_update_sem;
  	struct semaphore buffers_update_sem;
  	struct semaphore control_sem;
  	struct semaphore control_sem;
--- 
-1.9.1
-

+ 1 - 13
target/linux/brcm2708/patches-3.14/0011-Add-hwrng-hardware-random-number-generator-driver.patch

@@ -11,8 +11,6 @@ Subject: [PATCH 11/54] Add hwrng (hardware random number generator) driver
  4 files changed, 130 insertions(+)
  4 files changed, 130 insertions(+)
  create mode 100755 drivers/char/hw_random/bcm2708-rng.c
  create mode 100755 drivers/char/hw_random/bcm2708-rng.c
 
 
-diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h
-index 110ce07..ecd854e 100644
 --- a/arch/arm/mach-bcm2708/include/mach/platform.h
 --- a/arch/arm/mach-bcm2708/include/mach/platform.h
 +++ b/arch/arm/mach-bcm2708/include/mach/platform.h
 +++ b/arch/arm/mach-bcm2708/include/mach/platform.h
 @@ -60,6 +60,7 @@
 @@ -60,6 +60,7 @@
@@ -23,8 +21,6 @@ index 110ce07..ecd854e 100644
  #define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO */
  #define GPIO_BASE                (BCM2708_PERI_BASE + 0x200000) /* GPIO */
  #define UART0_BASE               (BCM2708_PERI_BASE + 0x201000)	/* Uart 0 */
  #define UART0_BASE               (BCM2708_PERI_BASE + 0x201000)	/* Uart 0 */
  #define MMCI0_BASE               (BCM2708_PERI_BASE + 0x202000) /* MMC interface */
  #define MMCI0_BASE               (BCM2708_PERI_BASE + 0x202000) /* MMC interface */
-diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
-index 2f2b084..cfca8e9 100644
 --- a/drivers/char/hw_random/Kconfig
 --- a/drivers/char/hw_random/Kconfig
 +++ b/drivers/char/hw_random/Kconfig
 +++ b/drivers/char/hw_random/Kconfig
 @@ -341,6 +341,17 @@ config HW_RANDOM_TPM
 @@ -341,6 +341,17 @@ config HW_RANDOM_TPM
@@ -45,19 +41,14 @@ index 2f2b084..cfca8e9 100644
  config HW_RANDOM_MSM
  config HW_RANDOM_MSM
  	tristate "Qualcomm MSM Random Number Generator support"
  	tristate "Qualcomm MSM Random Number Generator support"
  	depends on HW_RANDOM && ARCH_MSM
  	depends on HW_RANDOM && ARCH_MSM
-diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile
-index 3ae7755..a7bfb80 100644
 --- a/drivers/char/hw_random/Makefile
 --- a/drivers/char/hw_random/Makefile
 +++ b/drivers/char/hw_random/Makefile
 +++ b/drivers/char/hw_random/Makefile
-@@ -29,4 +29,5 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += powernv-rng.o
+@@ -29,4 +29,5 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += power
  obj-$(CONFIG_HW_RANDOM_EXYNOS)	+= exynos-rng.o
  obj-$(CONFIG_HW_RANDOM_EXYNOS)	+= exynos-rng.o
  obj-$(CONFIG_HW_RANDOM_TPM) += tpm-rng.o
  obj-$(CONFIG_HW_RANDOM_TPM) += tpm-rng.o
  obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o
  obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o
 +obj-$(CONFIG_HW_RANDOM_BCM2708) += bcm2708-rng.o
 +obj-$(CONFIG_HW_RANDOM_BCM2708) += bcm2708-rng.o
  obj-$(CONFIG_HW_RANDOM_MSM) += msm-rng.o
  obj-$(CONFIG_HW_RANDOM_MSM) += msm-rng.o
-diff --git a/drivers/char/hw_random/bcm2708-rng.c b/drivers/char/hw_random/bcm2708-rng.c
-new file mode 100755
-index 0000000..1ffa7d7
 --- /dev/null
 --- /dev/null
 +++ b/drivers/char/hw_random/bcm2708-rng.c
 +++ b/drivers/char/hw_random/bcm2708-rng.c
 @@ -0,0 +1,117 @@
 @@ -0,0 +1,117 @@
@@ -178,6 +169,3 @@ index 0000000..1ffa7d7
 +
 +
 +MODULE_DESCRIPTION("BCM2708 H/W Random Number Generator (RNG) driver");
 +MODULE_DESCRIPTION("BCM2708 H/W Random Number Generator (RNG) driver");
 +MODULE_LICENSE("GPL and additional rights");
 +MODULE_LICENSE("GPL and additional rights");
--- 
-1.9.1
-

+ 0 - 10
target/linux/brcm2708/patches-3.14/0012-lirc-added-support-for-RaspberryPi-GPIO.patch

@@ -12,8 +12,6 @@ See: https://github.com/raspberrypi/linux/issues/525
  3 files changed, 702 insertions(+)
  3 files changed, 702 insertions(+)
  create mode 100644 drivers/staging/media/lirc/lirc_rpi.c
  create mode 100644 drivers/staging/media/lirc/lirc_rpi.c
 
 
-diff --git a/drivers/staging/media/lirc/Kconfig b/drivers/staging/media/lirc/Kconfig
-index e60a59f..6b7ff70 100644
 --- a/drivers/staging/media/lirc/Kconfig
 --- a/drivers/staging/media/lirc/Kconfig
 +++ b/drivers/staging/media/lirc/Kconfig
 +++ b/drivers/staging/media/lirc/Kconfig
 @@ -38,6 +38,12 @@ config LIRC_PARALLEL
 @@ -38,6 +38,12 @@ config LIRC_PARALLEL
@@ -29,8 +27,6 @@ index e60a59f..6b7ff70 100644
  config LIRC_SASEM
  config LIRC_SASEM
  	tristate "Sasem USB IR Remote"
  	tristate "Sasem USB IR Remote"
  	depends on LIRC && USB
  	depends on LIRC && USB
-diff --git a/drivers/staging/media/lirc/Makefile b/drivers/staging/media/lirc/Makefile
-index b90fcab..2b227fd 100644
 --- a/drivers/staging/media/lirc/Makefile
 --- a/drivers/staging/media/lirc/Makefile
 +++ b/drivers/staging/media/lirc/Makefile
 +++ b/drivers/staging/media/lirc/Makefile
 @@ -7,6 +7,7 @@ obj-$(CONFIG_LIRC_BT829)	+= lirc_bt829.o
 @@ -7,6 +7,7 @@ obj-$(CONFIG_LIRC_BT829)	+= lirc_bt829.o
@@ -41,9 +37,6 @@ index b90fcab..2b227fd 100644
  obj-$(CONFIG_LIRC_SASEM)	+= lirc_sasem.o
  obj-$(CONFIG_LIRC_SASEM)	+= lirc_sasem.o
  obj-$(CONFIG_LIRC_SERIAL)	+= lirc_serial.o
  obj-$(CONFIG_LIRC_SERIAL)	+= lirc_serial.o
  obj-$(CONFIG_LIRC_SIR)		+= lirc_sir.o
  obj-$(CONFIG_LIRC_SIR)		+= lirc_sir.o
-diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c
-new file mode 100644
-index 0000000..57ffacf
 --- /dev/null
 --- /dev/null
 +++ b/drivers/staging/media/lirc/lirc_rpi.c
 +++ b/drivers/staging/media/lirc/lirc_rpi.c
 @@ -0,0 +1,695 @@
 @@ -0,0 +1,695 @@
@@ -742,6 +735,3 @@ index 0000000..57ffacf
 +
 +
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +module_param(debug, bool, S_IRUGO | S_IWUSR);
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
 +MODULE_PARM_DESC(debug, "Enable debugging messages");
--- 
-1.9.1
-

+ 69 - 87
target/linux/brcm2708/patches-3.14/0013-Fixes-for-sdhci-bcm2708.patch

@@ -113,11 +113,9 @@ A typo also fixed in comments.
  include/linux/mmc/sdhci.h        |   1 +
  include/linux/mmc/sdhci.h        |   1 +
  7 files changed, 365 insertions(+), 191 deletions(-)
  7 files changed, 365 insertions(+), 191 deletions(-)
 
 
-diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
-index 7b5424f..687cccb 100644
 --- a/drivers/mmc/card/block.c
 --- a/drivers/mmc/card/block.c
 +++ b/drivers/mmc/card/block.c
 +++ b/drivers/mmc/card/block.c
-@@ -1361,7 +1361,7 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
+@@ -1361,7 +1361,7 @@ static void mmc_blk_rw_rq_prep(struct mm
  			brq->data.blocks = 1;
  			brq->data.blocks = 1;
  	}
  	}
  
  
@@ -126,8 +124,6 @@ index 7b5424f..687cccb 100644
  		/* SPI multiblock writes terminate using a special
  		/* SPI multiblock writes terminate using a special
  		 * token, not a STOP_TRANSMISSION request.
  		 * token, not a STOP_TRANSMISSION request.
  		 */
  		 */
-diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
-index 692fdb1..ea11f9c 100644
 --- a/drivers/mmc/core/sd.c
 --- a/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
 +++ b/drivers/mmc/core/sd.c
 @@ -15,6 +15,8 @@
 @@ -15,6 +15,8 @@
@@ -139,7 +135,7 @@ index 692fdb1..ea11f9c 100644
  
  
  #include <linux/mmc/host.h>
  #include <linux/mmc/host.h>
  #include <linux/mmc/card.h>
  #include <linux/mmc/card.h>
-@@ -67,6 +69,15 @@ static const unsigned int sd_au_size[] = {
+@@ -67,6 +69,15 @@ static const unsigned int sd_au_size[] =
  		__res & __mask;						\
  		__res & __mask;						\
  	})
  	})
  
  
@@ -155,7 +151,7 @@ index 692fdb1..ea11f9c 100644
  /*
  /*
   * Given the decoded CSD structure, decode the raw CID to our CID structure.
   * Given the decoded CSD structure, decode the raw CID to our CID structure.
   */
   */
-@@ -219,12 +230,63 @@ static int mmc_decode_scr(struct mmc_card *card)
+@@ -219,12 +230,63 @@ static int mmc_decode_scr(struct mmc_car
  }
  }
  
  
  /*
  /*
@@ -220,7 +216,7 @@ index 692fdb1..ea11f9c 100644
  	u32 *ssr;
  	u32 *ssr;
  
  
  	if (!(card->csd.cmdclass & CCC_APP_SPEC)) {
  	if (!(card->csd.cmdclass & CCC_APP_SPEC)) {
-@@ -237,14 +299,40 @@ static int mmc_read_ssr(struct mmc_card *card)
+@@ -237,14 +299,40 @@ static int mmc_read_ssr(struct mmc_card 
  	if (!ssr)
  	if (!ssr)
  		return -ENOMEM;
  		return -ENOMEM;
  
  
@@ -266,7 +262,7 @@ index 692fdb1..ea11f9c 100644
  	for (i = 0; i < 16; i++)
  	for (i = 0; i < 16; i++)
  		ssr[i] = be32_to_cpu(ssr[i]);
  		ssr[i] = be32_to_cpu(ssr[i]);
  
  
-@@ -826,14 +914,10 @@ int mmc_sd_setup_card(struct mmc_host *host, struct mmc_card *card,
+@@ -826,14 +914,10 @@ int mmc_sd_setup_card(struct mmc_host *h
  
  
  	if (!reinit) {
  	if (!reinit) {
  		/*
  		/*
@@ -284,8 +280,6 @@ index 692fdb1..ea11f9c 100644
  			return err;
  			return err;
  
  
  		/*
  		/*
-diff --git a/drivers/mmc/host/sdhci-bcm2708.c b/drivers/mmc/host/sdhci-bcm2708.c
-index d8ef77c..3173c18 100644
 --- a/drivers/mmc/host/sdhci-bcm2708.c
 --- a/drivers/mmc/host/sdhci-bcm2708.c
 +++ b/drivers/mmc/host/sdhci-bcm2708.c
 +++ b/drivers/mmc/host/sdhci-bcm2708.c
 @@ -51,7 +51,6 @@
 @@ -51,7 +51,6 @@
@@ -310,7 +304,7 @@ index d8ef77c..3173c18 100644
  
  
  /*****************************************************************************\
  /*****************************************************************************\
   *									     *
   *									     *
-@@ -129,6 +133,14 @@ static inline unsigned long int since_ns(hptime_t t)
+@@ -129,6 +133,14 @@ static inline unsigned long int since_ns
  	return (unsigned long)((hptime() - t) * HPTIME_CLK_NS);
  	return (unsigned long)((hptime() - t) * HPTIME_CLK_NS);
  }
  }
  
  
@@ -325,7 +319,7 @@ index d8ef77c..3173c18 100644
  #if 0
  #if 0
  static void hptime_test(void)
  static void hptime_test(void)
  {
  {
-@@ -241,19 +253,19 @@ static void sdhci_bcm2708_raw_writel(struct sdhci_host *host, u32 val, int reg)
+@@ -241,19 +253,19 @@ static void sdhci_bcm2708_raw_writel(str
  		/* host->clock is the clock freq in Hz */
  		/* host->clock is the clock freq in Hz */
  		static hptime_t last_write_hpt;
  		static hptime_t last_write_hpt;
  		hptime_t now = hptime();
  		hptime_t now = hptime();
@@ -349,7 +343,7 @@ index d8ef77c..3173c18 100644
  		}
  		}
  		last_write_hpt = now;
  		last_write_hpt = now;
  	}
  	}
-@@ -269,13 +281,13 @@ static void sdhci_bcm2708_raw_writel(struct sdhci_host *host, u32 val, int reg)
+@@ -269,13 +281,13 @@ static void sdhci_bcm2708_raw_writel(str
  		ier &= ~SDHCI_INT_DATA_TIMEOUT;
  		ier &= ~SDHCI_INT_DATA_TIMEOUT;
  		writel(ier, host->ioaddr + SDHCI_SIGNAL_ENABLE);
  		writel(ier, host->ioaddr + SDHCI_SIGNAL_ENABLE);
  		timeout_disabled = true;
  		timeout_disabled = true;
@@ -365,7 +359,7 @@ index d8ef77c..3173c18 100644
  	}
  	}
  #endif
  #endif
  	writel(val, host->ioaddr + reg);
  	writel(val, host->ioaddr + reg);
-@@ -353,68 +365,9 @@ void sdhci_bcm2708_writeb(struct sdhci_host *host, u8 val, int reg)
+@@ -353,68 +365,9 @@ void sdhci_bcm2708_writeb(struct sdhci_h
  
  
  static unsigned int sdhci_bcm2708_get_max_clock(struct sdhci_host *host)
  static unsigned int sdhci_bcm2708_get_max_clock(struct sdhci_host *host)
  {
  {
@@ -449,7 +443,7 @@ index d8ef77c..3173c18 100644
  
  
  	if (host_priv->dma_wanted) {
  	if (host_priv->dma_wanted) {
  		if (NULL == data) {
  		if (NULL == data) {
-@@ -720,13 +673,16 @@ sdhci_bcm2708_platdma_reset(struct sdhci_host *host, struct mmc_data *data)
+@@ -720,13 +673,16 @@ sdhci_bcm2708_platdma_reset(struct sdhci
  			cs = readl(host_priv->dma_chan_base + BCM2708_DMA_CS);
  			cs = readl(host_priv->dma_chan_base + BCM2708_DMA_CS);
  
  
  			if (!(BCM2708_DMA_ACTIVE & cs))
  			if (!(BCM2708_DMA_ACTIVE & cs))
@@ -467,7 +461,7 @@ index d8ef77c..3173c18 100644
  			else
  			else
  				printk(KERN_INFO "%s: resetting ongoing cmd %d"
  				printk(KERN_INFO "%s: resetting ongoing cmd %d"
  				       "DMA before %d/%d [%d]/[%d] complete\n",
  				       "DMA before %d/%d [%d]/[%d] complete\n",
-@@ -779,7 +735,7 @@ sdhci_bcm2708_platdma_reset(struct sdhci_host *host, struct mmc_data *data)
+@@ -779,7 +735,7 @@ sdhci_bcm2708_platdma_reset(struct sdhci
  #endif
  #endif
  	}
  	}
  
  
@@ -476,7 +470,7 @@ index d8ef77c..3173c18 100644
  }
  }
  
  
  
  
-@@ -792,11 +748,11 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
+@@ -792,11 +748,11 @@ static void sdhci_bcm2708_dma_complete_i
  	int sg_len;
  	int sg_len;
  	int sg_ix;
  	int sg_ix;
  	int sg_todo;
  	int sg_todo;
@@ -490,7 +484,7 @@ index d8ef77c..3173c18 100644
  	data = host->data;
  	data = host->data;
  
  
  #ifdef CHECK_DMA_USE
  #ifdef CHECK_DMA_USE
-@@ -821,7 +777,7 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
+@@ -821,7 +777,7 @@ static void sdhci_bcm2708_dma_complete_i
  
  
  	if (NULL == data) {
  	if (NULL == data) {
  		DBG("PDMA unused completion - status 0x%X\n", dma_cs);
  		DBG("PDMA unused completion - status 0x%X\n", dma_cs);
@@ -499,7 +493,7 @@ index d8ef77c..3173c18 100644
  		return;
  		return;
  	}
  	}
  	sg = data->sg;
  	sg = data->sg;
-@@ -878,40 +834,34 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
+@@ -878,40 +834,34 @@ static void sdhci_bcm2708_dma_complete_i
  						SDHCI_INT_SPACE_AVAIL);
  						SDHCI_INT_SPACE_AVAIL);
  		}
  		}
  	} else {
  	} else {
@@ -513,17 +507,6 @@ index d8ef77c..3173c18 100644
 -		u32 state_mask;
 -		u32 state_mask;
 -		int timeout=1000000;
 -		int timeout=1000000;
 -		hptime_t now = hptime();
 -		hptime_t now = hptime();
--
--		DBG("PDMA over - sync card\n");
--		if (data->flags & MMC_DATA_READ)
--			state_mask = SDHCI_DOING_READ;
--		else
--			state_mask = SDHCI_DOING_WRITE;
--
--		while (0 != (sdhci_bcm2708_raw_readl(host,
--						     SDHCI_PRESENT_STATE) &
--			     state_mask) && --timeout > 0)
--			continue;
 +		if (sync_after_dma) {
 +		if (sync_after_dma) {
 +			/* On the Arasan controller the stop command (which will be
 +			/* On the Arasan controller the stop command (which will be
 +			   scheduled after this completes) does not seem to work
 +			   scheduled after this completes) does not seem to work
@@ -533,13 +516,23 @@ index d8ef77c..3173c18 100644
 +			   the SD controller to finish reading/writing to the card. */
 +			   the SD controller to finish reading/writing to the card. */
 +			u32 state_mask;
 +			u32 state_mask;
 +			int timeout=3*1000*1000;
 +			int timeout=3*1000*1000;
-+
+ 
+-		DBG("PDMA over - sync card\n");
+-		if (data->flags & MMC_DATA_READ)
+-			state_mask = SDHCI_DOING_READ;
+-		else
+-			state_mask = SDHCI_DOING_WRITE;
 +			DBG("PDMA over - sync card\n");
 +			DBG("PDMA over - sync card\n");
 +			if (data->flags & MMC_DATA_READ)
 +			if (data->flags & MMC_DATA_READ)
 +				state_mask = SDHCI_DOING_READ;
 +				state_mask = SDHCI_DOING_READ;
 +			else
 +			else
 +				state_mask = SDHCI_DOING_WRITE;
 +				state_mask = SDHCI_DOING_WRITE;
  
  
+-		while (0 != (sdhci_bcm2708_raw_readl(host,
+-						     SDHCI_PRESENT_STATE) &
+-			     state_mask) && --timeout > 0)
+-			continue;
+-
 -		if (1000000-timeout > 4000) /*ave. is about 3250*/
 -		if (1000000-timeout > 4000) /*ave. is about 3250*/
 -			DBG("%s: note - long %s sync %luns - "
 -			DBG("%s: note - long %s sync %luns - "
 -			       "%d its.\n",
 -			       "%d its.\n",
@@ -567,7 +560,7 @@ index d8ef77c..3173c18 100644
  		if (host_priv->complete) {
  		if (host_priv->complete) {
  			(*host_priv->complete)(host);
  			(*host_priv->complete)(host);
  			DBG("PDMA %s complete\n",
  			DBG("PDMA %s complete\n",
-@@ -920,7 +870,7 @@ static void sdhci_bcm2708_dma_complete_irq(struct sdhci_host *host,
+@@ -920,7 +870,7 @@ static void sdhci_bcm2708_dma_complete_i
  						SDHCI_INT_SPACE_AVAIL);
  						SDHCI_INT_SPACE_AVAIL);
  		}
  		}
  	}
  	}
@@ -576,7 +569,7 @@ index d8ef77c..3173c18 100644
  }
  }
  
  
  static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id)
  static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id)
-@@ -929,12 +879,11 @@ static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id)
+@@ -929,12 +879,11 @@ static irqreturn_t sdhci_bcm2708_dma_irq
  	struct sdhci_host *host = dev_id;
  	struct sdhci_host *host = dev_id;
  	struct sdhci_bcm2708_priv *host_priv = SDHCI_HOST_PRIV(host);
  	struct sdhci_bcm2708_priv *host_priv = SDHCI_HOST_PRIV(host);
  	u32 dma_cs; /* control and status register */
  	u32 dma_cs; /* control and status register */
@@ -590,7 +583,7 @@ index d8ef77c..3173c18 100644
  
  
  	dma_cs = readl(host_priv->dma_chan_base + BCM2708_DMA_CS);
  	dma_cs = readl(host_priv->dma_chan_base + BCM2708_DMA_CS);
  
  
-@@ -958,7 +907,8 @@ static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id)
+@@ -958,7 +907,8 @@ static irqreturn_t sdhci_bcm2708_dma_irq
  
  
  		if (!host_priv->dma_wanted) {
  		if (!host_priv->dma_wanted) {
  			/* ignore this interrupt - it was reset */
  			/* ignore this interrupt - it was reset */
@@ -600,7 +593,7 @@ index d8ef77c..3173c18 100644
  			       "results were reset\n",
  			       "results were reset\n",
  			       mmc_hostname(host->mmc), dma_cs);
  			       mmc_hostname(host->mmc), dma_cs);
  #ifdef CHECK_DMA_USE
  #ifdef CHECK_DMA_USE
-@@ -975,8 +925,7 @@ static irqreturn_t sdhci_bcm2708_dma_irq(int irq, void *dev_id)
+@@ -975,8 +925,7 @@ static irqreturn_t sdhci_bcm2708_dma_irq
  
  
  		result = IRQ_HANDLED;
  		result = IRQ_HANDLED;
  	}
  	}
@@ -610,7 +603,7 @@ index d8ef77c..3173c18 100644
  
  
  	return result;
  	return result;
  }
  }
-@@ -1019,10 +968,12 @@ static ssize_t attr_dma_store(struct device *_dev,
+@@ -1019,10 +968,12 @@ static ssize_t attr_dma_store(struct dev
  		int on = simple_strtol(buf, NULL, 0);
  		int on = simple_strtol(buf, NULL, 0);
  		if (on) {
  		if (on) {
  			host->flags |= SDHCI_USE_PLATDMA;
  			host->flags |= SDHCI_USE_PLATDMA;
@@ -623,7 +616,7 @@ index d8ef77c..3173c18 100644
  			printk(KERN_INFO "%s: DMA disabled\n",
  			printk(KERN_INFO "%s: DMA disabled\n",
  			       mmc_hostname(host->mmc));
  			       mmc_hostname(host->mmc));
  		}
  		}
-@@ -1126,7 +1077,7 @@ static int sdhci_bcm2708_suspend(struct platform_device *dev, pm_message_t state
+@@ -1126,7 +1077,7 @@ static int sdhci_bcm2708_suspend(struct 
  	int ret = 0;
  	int ret = 0;
  
  
  	if (host->mmc) {
  	if (host->mmc) {
@@ -632,7 +625,7 @@ index d8ef77c..3173c18 100644
  	}
  	}
  
  
  	return ret;
  	return ret;
-@@ -1139,7 +1090,7 @@ static int sdhci_bcm2708_resume(struct platform_device *dev)
+@@ -1139,7 +1090,7 @@ static int sdhci_bcm2708_resume(struct p
  	int ret = 0;
  	int ret = 0;
  
  
  	if (host->mmc) {
  	if (host->mmc) {
@@ -641,7 +634,7 @@ index d8ef77c..3173c18 100644
  	}
  	}
  
  
  	return ret;
  	return ret;
-@@ -1158,19 +1109,14 @@ static unsigned int sdhci_bcm2708_quirk_extra_ints(struct sdhci_host *host)
+@@ -1158,19 +1109,14 @@ static unsigned int sdhci_bcm2708_quirk_
          return 1;
          return 1;
  }
  }
  
  
@@ -664,7 +657,7 @@ index d8ef77c..3173c18 100644
  }
  }
  
  
  /***************************************************************************** \
  /***************************************************************************** \
-@@ -1190,11 +1136,7 @@ static struct sdhci_ops sdhci_bcm2708_ops = {
+@@ -1190,11 +1136,7 @@ static struct sdhci_ops sdhci_bcm2708_op
  #else
  #else
  #error The BCM2708 SDHCI driver needs CONFIG_MMC_SDHCI_IO_ACCESSORS to be set
  #error The BCM2708 SDHCI driver needs CONFIG_MMC_SDHCI_IO_ACCESSORS to be set
  #endif
  #endif
@@ -676,7 +669,7 @@ index d8ef77c..3173c18 100644
  
  
  #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA
  #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA
  	// Platform DMA operations
  	// Platform DMA operations
-@@ -1203,9 +1145,6 @@ static struct sdhci_ops sdhci_bcm2708_ops = {
+@@ -1203,9 +1145,6 @@ static struct sdhci_ops sdhci_bcm2708_op
  	.pdma_reset = sdhci_bcm2708_platdma_reset,
  	.pdma_reset = sdhci_bcm2708_platdma_reset,
  #endif
  #endif
  	.extra_ints = sdhci_bcm2708_quirk_extra_ints,
  	.extra_ints = sdhci_bcm2708_quirk_extra_ints,
@@ -686,7 +679,7 @@ index d8ef77c..3173c18 100644
  };
  };
  
  
  /*****************************************************************************\
  /*****************************************************************************\
-@@ -1244,15 +1183,30 @@ static int sdhci_bcm2708_probe(struct platform_device *pdev)
+@@ -1244,15 +1183,30 @@ static int sdhci_bcm2708_probe(struct pl
  		ret = PTR_ERR(host);
  		ret = PTR_ERR(host);
  		goto err;
  		goto err;
  	}
  	}
@@ -718,7 +711,7 @@ index d8ef77c..3173c18 100644
  #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA
  #ifdef CONFIG_MMC_SDHCI_BCM2708_DMA
  	host->flags = SDHCI_USE_PLATDMA;
  	host->flags = SDHCI_USE_PLATDMA;
  #endif
  #endif
-@@ -1305,17 +1259,24 @@ static int sdhci_bcm2708_probe(struct platform_device *pdev)
+@@ -1305,17 +1259,24 @@ static int sdhci_bcm2708_probe(struct pl
  	host_priv->dma_chan = ret;
  	host_priv->dma_chan = ret;
  
  
  	ret = request_irq(host_priv->dma_irq, sdhci_bcm2708_dma_irq,
  	ret = request_irq(host_priv->dma_irq, sdhci_bcm2708_dma_irq,
@@ -745,7 +738,7 @@ index d8ef77c..3173c18 100644
  #endif
  #endif
  
  
  	ret = sdhci_add_host(host);
  	ret = sdhci_add_host(host);
-@@ -1327,6 +1288,12 @@ static int sdhci_bcm2708_probe(struct platform_device *pdev)
+@@ -1327,6 +1288,12 @@ static int sdhci_bcm2708_probe(struct pl
  	ret = device_create_file(&pdev->dev, &dev_attr_dma_wait);
  	ret = device_create_file(&pdev->dev, &dev_attr_dma_wait);
  	ret = device_create_file(&pdev->dev, &dev_attr_status);
  	ret = device_create_file(&pdev->dev, &dev_attr_status);
  
  
@@ -785,11 +778,9 @@ index d8ef77c..3173c18 100644
 +MODULE_PARM_DESC(extra_messages, "Enable more sdcard warning messages");
 +MODULE_PARM_DESC(extra_messages, "Enable more sdcard warning messages");
 +
 +
 +
 +
-diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
-index b78afa2..db67be8 100644
 --- a/drivers/mmc/host/sdhci.c
 --- a/drivers/mmc/host/sdhci.c
 +++ b/drivers/mmc/host/sdhci.c
 +++ b/drivers/mmc/host/sdhci.c
-@@ -131,6 +131,99 @@ static void sdhci_dumpregs(struct sdhci_host *host)
+@@ -131,6 +131,99 @@ static void sdhci_dumpregs(struct sdhci_
   * Low level functions                                                       *
   * Low level functions                                                       *
   *                                                                           *
   *                                                                           *
  \*****************************************************************************/
  \*****************************************************************************/
@@ -889,7 +880,7 @@ index b78afa2..db67be8 100644
  
  
  static void sdhci_clear_set_irqs(struct sdhci_host *host, u32 clear, u32 set)
  static void sdhci_clear_set_irqs(struct sdhci_host *host, u32 clear, u32 set)
  {
  {
-@@ -300,7 +393,7 @@ static void sdhci_led_control(struct led_classdev *led,
+@@ -300,7 +393,7 @@ static void sdhci_led_control(struct led
  	struct sdhci_host *host = container_of(led, struct sdhci_host, led);
  	struct sdhci_host *host = container_of(led, struct sdhci_host, led);
  	unsigned long flags;
  	unsigned long flags;
  
  
@@ -898,7 +889,7 @@ index b78afa2..db67be8 100644
  
  
  	if (host->runtime_suspended)
  	if (host->runtime_suspended)
  		goto out;
  		goto out;
-@@ -310,7 +403,7 @@ static void sdhci_led_control(struct led_classdev *led,
+@@ -310,7 +403,7 @@ static void sdhci_led_control(struct led
  	else
  	else
  		sdhci_activate_led(host);
  		sdhci_activate_led(host);
  out:
  out:
@@ -907,7 +898,7 @@ index b78afa2..db67be8 100644
  }
  }
  #endif
  #endif
  
  
-@@ -457,6 +550,7 @@ static void sdhci_transfer_pio(struct sdhci_host *host, u32 intstate)
+@@ -457,6 +550,7 @@ static void sdhci_transfer_pio(struct sd
  			break;
  			break;
  		state = sdhci_readl(host, SDHCI_PRESENT_STATE);
  		state = sdhci_readl(host, SDHCI_PRESENT_STATE);
  		available = state & mask;
  		available = state & mask;
@@ -915,7 +906,7 @@ index b78afa2..db67be8 100644
  	}
  	}
  
  
  	DBG("PIO transfer complete - %d blocks left.\n", host->blocks);
  	DBG("PIO transfer complete - %d blocks left.\n", host->blocks);
-@@ -1023,7 +1117,9 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
+@@ -1023,7 +1117,9 @@ void sdhci_send_command(struct sdhci_hos
  			return;
  			return;
  		}
  		}
  		timeout--;
  		timeout--;
@@ -935,7 +926,7 @@ index b78afa2..db67be8 100644
  	}
  	}
  
  
  	clk |= SDHCI_CLOCK_CARD_EN;
  	clk |= SDHCI_CLOCK_CARD_EN;
-@@ -1357,7 +1455,7 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
+@@ -1357,7 +1455,7 @@ static void sdhci_request(struct mmc_hos
  
  
  	sdhci_runtime_pm_get(host);
  	sdhci_runtime_pm_get(host);
  
  
@@ -944,7 +935,7 @@ index b78afa2..db67be8 100644
  
  
  	WARN_ON(host->mrq != NULL);
  	WARN_ON(host->mrq != NULL);
  
  
-@@ -1422,9 +1520,9 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
+@@ -1422,9 +1520,9 @@ static void sdhci_request(struct mmc_hos
  				 */
  				 */
  				host->mrq = NULL;
  				host->mrq = NULL;
  
  
@@ -956,7 +947,7 @@ index b78afa2..db67be8 100644
  
  
  				/* Restore original mmc_request structure */
  				/* Restore original mmc_request structure */
  				host->mrq = mrq;
  				host->mrq = mrq;
-@@ -1438,7 +1536,7 @@ static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
+@@ -1438,7 +1536,7 @@ static void sdhci_request(struct mmc_hos
  	}
  	}
  
  
  	mmiowb();
  	mmiowb();
@@ -965,7 +956,7 @@ index b78afa2..db67be8 100644
  }
  }
  
  
  static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
  static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
-@@ -1447,10 +1545,10 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
+@@ -1447,10 +1545,10 @@ static void sdhci_do_set_ios(struct sdhc
  	int vdd_bit = -1;
  	int vdd_bit = -1;
  	u8 ctrl;
  	u8 ctrl;
  
  
@@ -978,7 +969,7 @@ index b78afa2..db67be8 100644
  		if (host->vmmc && ios->power_mode == MMC_POWER_OFF)
  		if (host->vmmc && ios->power_mode == MMC_POWER_OFF)
  			mmc_regulator_set_ocr(host->mmc, host->vmmc, 0);
  			mmc_regulator_set_ocr(host->mmc, host->vmmc, 0);
  		return;
  		return;
-@@ -1478,9 +1576,9 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
+@@ -1478,9 +1576,9 @@ static void sdhci_do_set_ios(struct sdhc
  		vdd_bit = sdhci_set_power(host, ios->vdd);
  		vdd_bit = sdhci_set_power(host, ios->vdd);
  
  
  	if (host->vmmc && vdd_bit != -1) {
  	if (host->vmmc && vdd_bit != -1) {
@@ -990,7 +981,7 @@ index b78afa2..db67be8 100644
  	}
  	}
  
  
  	if (host->ops->platform_send_init_74_clocks)
  	if (host->ops->platform_send_init_74_clocks)
-@@ -1519,7 +1617,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
+@@ -1519,7 +1617,7 @@ static void sdhci_do_set_ios(struct sdhc
  	else
  	else
  		ctrl &= ~SDHCI_CTRL_HISPD;
  		ctrl &= ~SDHCI_CTRL_HISPD;
  
  
@@ -999,7 +990,7 @@ index b78afa2..db67be8 100644
  		u16 clk, ctrl_2;
  		u16 clk, ctrl_2;
  
  
  		/* In case of UHS-I modes, set High Speed Enable */
  		/* In case of UHS-I modes, set High Speed Enable */
-@@ -1617,7 +1715,7 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
+@@ -1617,7 +1715,7 @@ static void sdhci_do_set_ios(struct sdhc
  		sdhci_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
  		sdhci_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
  
  
  	mmiowb();
  	mmiowb();
@@ -1008,7 +999,7 @@ index b78afa2..db67be8 100644
  }
  }
  
  
  static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
  static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
-@@ -1665,7 +1763,7 @@ static int sdhci_check_ro(struct sdhci_host *host)
+@@ -1665,7 +1763,7 @@ static int sdhci_check_ro(struct sdhci_h
  	unsigned long flags;
  	unsigned long flags;
  	int is_readonly;
  	int is_readonly;
  
  
@@ -1017,7 +1008,7 @@ index b78afa2..db67be8 100644
  
  
  	if (host->flags & SDHCI_DEVICE_DEAD)
  	if (host->flags & SDHCI_DEVICE_DEAD)
  		is_readonly = 0;
  		is_readonly = 0;
-@@ -1675,7 +1773,7 @@ static int sdhci_check_ro(struct sdhci_host *host)
+@@ -1675,7 +1773,7 @@ static int sdhci_check_ro(struct sdhci_h
  		is_readonly = !(sdhci_readl(host, SDHCI_PRESENT_STATE)
  		is_readonly = !(sdhci_readl(host, SDHCI_PRESENT_STATE)
  				& SDHCI_WRITE_PROTECT);
  				& SDHCI_WRITE_PROTECT);
  
  
@@ -1026,7 +1017,7 @@ index b78afa2..db67be8 100644
  
  
  	/* This quirk needs to be replaced by a callback-function later */
  	/* This quirk needs to be replaced by a callback-function later */
  	return host->quirks & SDHCI_QUIRK_INVERTED_WRITE_PROTECT ?
  	return host->quirks & SDHCI_QUIRK_INVERTED_WRITE_PROTECT ?
-@@ -1748,9 +1846,9 @@ static void sdhci_enable_sdio_irq(struct mmc_host *mmc, int enable)
+@@ -1748,9 +1846,9 @@ static void sdhci_enable_sdio_irq(struct
  	struct sdhci_host *host = mmc_priv(mmc);
  	struct sdhci_host *host = mmc_priv(mmc);
  	unsigned long flags;
  	unsigned long flags;
  
  
@@ -1038,7 +1029,7 @@ index b78afa2..db67be8 100644
  }
  }
  
  
  static int sdhci_do_start_signal_voltage_switch(struct sdhci_host *host,
  static int sdhci_do_start_signal_voltage_switch(struct sdhci_host *host,
-@@ -2101,7 +2199,7 @@ static void sdhci_card_event(struct mmc_host *mmc)
+@@ -2101,7 +2199,7 @@ static void sdhci_card_event(struct mmc_
  	if (host->ops->card_event)
  	if (host->ops->card_event)
  		host->ops->card_event(host);
  		host->ops->card_event(host);
  
  
@@ -1047,7 +1038,7 @@ index b78afa2..db67be8 100644
  
  
  	/* Check host->mrq first in case we are runtime suspended */
  	/* Check host->mrq first in case we are runtime suspended */
  	if (host->mrq && !sdhci_do_get_cd(host)) {
  	if (host->mrq && !sdhci_do_get_cd(host)) {
-@@ -2117,7 +2215,7 @@ static void sdhci_card_event(struct mmc_host *mmc)
+@@ -2117,7 +2215,7 @@ static void sdhci_card_event(struct mmc_
  		tasklet_schedule(&host->finish_tasklet);
  		tasklet_schedule(&host->finish_tasklet);
  	}
  	}
  
  
@@ -1056,7 +1047,7 @@ index b78afa2..db67be8 100644
  }
  }
  
  
  static const struct mmc_host_ops sdhci_ops = {
  static const struct mmc_host_ops sdhci_ops = {
-@@ -2156,14 +2254,14 @@ static void sdhci_tasklet_finish(unsigned long param)
+@@ -2156,14 +2254,14 @@ static void sdhci_tasklet_finish(unsigne
  
  
  	host = (struct sdhci_host*)param;
  	host = (struct sdhci_host*)param;
  
  
@@ -1073,7 +1064,7 @@ index b78afa2..db67be8 100644
  		return;
  		return;
  	}
  	}
  
  
-@@ -2201,7 +2299,7 @@ static void sdhci_tasklet_finish(unsigned long param)
+@@ -2201,7 +2299,7 @@ static void sdhci_tasklet_finish(unsigne
  #endif
  #endif
  
  
  	mmiowb();
  	mmiowb();
@@ -1082,7 +1073,7 @@ index b78afa2..db67be8 100644
  
  
  	mmc_request_done(host->mmc, mrq);
  	mmc_request_done(host->mmc, mrq);
  	sdhci_runtime_pm_put(host);
  	sdhci_runtime_pm_put(host);
-@@ -2214,7 +2312,7 @@ static void sdhci_timeout_timer(unsigned long data)
+@@ -2214,7 +2312,7 @@ static void sdhci_timeout_timer(unsigned
  
  
  	host = (struct sdhci_host*)data;
  	host = (struct sdhci_host*)data;
  
  
@@ -1091,7 +1082,7 @@ index b78afa2..db67be8 100644
  
  
  	if (host->mrq) {
  	if (host->mrq) {
  		pr_err("%s: Timeout waiting for hardware "
  		pr_err("%s: Timeout waiting for hardware "
-@@ -2235,7 +2333,7 @@ static void sdhci_timeout_timer(unsigned long data)
+@@ -2235,7 +2333,7 @@ static void sdhci_timeout_timer(unsigned
  	}
  	}
  
  
  	mmiowb();
  	mmiowb();
@@ -1100,7 +1091,7 @@ index b78afa2..db67be8 100644
  }
  }
  
  
  static void sdhci_tuning_timer(unsigned long data)
  static void sdhci_tuning_timer(unsigned long data)
-@@ -2245,11 +2343,11 @@ static void sdhci_tuning_timer(unsigned long data)
+@@ -2245,11 +2343,11 @@ static void sdhci_tuning_timer(unsigned 
  
  
  	host = (struct sdhci_host *)data;
  	host = (struct sdhci_host *)data;
  
  
@@ -1114,7 +1105,7 @@ index b78afa2..db67be8 100644
  }
  }
  
  
  /*****************************************************************************\
  /*****************************************************************************\
-@@ -2473,10 +2571,10 @@ static irqreturn_t sdhci_irq(int irq, void *dev_id)
+@@ -2473,10 +2571,10 @@ static irqreturn_t sdhci_irq(int irq, vo
  	u32 intmask, unexpected = 0;
  	u32 intmask, unexpected = 0;
  	int cardint = 0, max_loops = 16;
  	int cardint = 0, max_loops = 16;
  
  
@@ -1136,7 +1127,7 @@ index b78afa2..db67be8 100644
  
  
  	if (unexpected) {
  	if (unexpected) {
  		pr_err("%s: Unexpected interrupt 0x%08x.\n",
  		pr_err("%s: Unexpected interrupt 0x%08x.\n",
-@@ -2674,7 +2772,7 @@ int sdhci_resume_host(struct sdhci_host *host)
+@@ -2674,7 +2772,7 @@ int sdhci_resume_host(struct sdhci_host 
  	}
  	}
  
  
  	if (!device_may_wakeup(mmc_dev(host->mmc))) {
  	if (!device_may_wakeup(mmc_dev(host->mmc))) {
@@ -1145,7 +1136,7 @@ index b78afa2..db67be8 100644
  				  mmc_hostname(host->mmc), host);
  				  mmc_hostname(host->mmc), host);
  		if (ret)
  		if (ret)
  			return ret;
  			return ret;
-@@ -2750,15 +2848,15 @@ int sdhci_runtime_suspend_host(struct sdhci_host *host)
+@@ -2750,15 +2848,15 @@ int sdhci_runtime_suspend_host(struct sd
  		host->flags &= ~SDHCI_NEEDS_RETUNING;
  		host->flags &= ~SDHCI_NEEDS_RETUNING;
  	}
  	}
  
  
@@ -1165,7 +1156,7 @@ index b78afa2..db67be8 100644
  
  
  	return ret;
  	return ret;
  }
  }
-@@ -2784,16 +2882,16 @@ int sdhci_runtime_resume_host(struct sdhci_host *host)
+@@ -2784,16 +2882,16 @@ int sdhci_runtime_resume_host(struct sdh
  	sdhci_do_start_signal_voltage_switch(host, &host->mmc->ios);
  	sdhci_do_start_signal_voltage_switch(host, &host->mmc->ios);
  	if ((host_flags & SDHCI_PV_ENABLED) &&
  	if ((host_flags & SDHCI_PV_ENABLED) &&
  		!(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN)) {
  		!(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN)) {
@@ -1185,7 +1176,7 @@ index b78afa2..db67be8 100644
  
  
  	host->runtime_suspended = false;
  	host->runtime_suspended = false;
  
  
-@@ -2804,7 +2902,7 @@ int sdhci_runtime_resume_host(struct sdhci_host *host)
+@@ -2804,7 +2902,7 @@ int sdhci_runtime_resume_host(struct sdh
  	/* Enable Card Detection */
  	/* Enable Card Detection */
  	sdhci_enable_card_detection(host);
  	sdhci_enable_card_detection(host);
  
  
@@ -1194,7 +1185,7 @@ index b78afa2..db67be8 100644
  
  
  	return ret;
  	return ret;
  }
  }
-@@ -3300,8 +3398,8 @@ int sdhci_add_host(struct sdhci_host *host)
+@@ -3300,8 +3398,8 @@ int sdhci_add_host(struct sdhci_host *ho
  
  
  	sdhci_init(host, 0);
  	sdhci_init(host, 0);
  
  
@@ -1205,7 +1196,7 @@ index b78afa2..db67be8 100644
  	if (ret) {
  	if (ret) {
  		pr_err("%s: Failed to request IRQ %d: %d\n",
  		pr_err("%s: Failed to request IRQ %d: %d\n",
  		       mmc_hostname(mmc), host->irq, ret);
  		       mmc_hostname(mmc), host->irq, ret);
-@@ -3362,7 +3460,7 @@ void sdhci_remove_host(struct sdhci_host *host, int dead)
+@@ -3362,7 +3460,7 @@ void sdhci_remove_host(struct sdhci_host
  	unsigned long flags;
  	unsigned long flags;
  
  
  	if (dead) {
  	if (dead) {
@@ -1214,7 +1205,7 @@ index b78afa2..db67be8 100644
  
  
  		host->flags |= SDHCI_DEVICE_DEAD;
  		host->flags |= SDHCI_DEVICE_DEAD;
  
  
-@@ -3374,7 +3472,7 @@ void sdhci_remove_host(struct sdhci_host *host, int dead)
+@@ -3374,7 +3472,7 @@ void sdhci_remove_host(struct sdhci_host
  			tasklet_schedule(&host->finish_tasklet);
  			tasklet_schedule(&host->finish_tasklet);
  		}
  		}
  
  
@@ -1223,8 +1214,6 @@ index b78afa2..db67be8 100644
  	}
  	}
  
  
  	sdhci_disable_card_detection(host);
  	sdhci_disable_card_detection(host);
-diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
-index 6857875..649f3cf 100644
 --- a/drivers/mmc/host/sdhci.h
 --- a/drivers/mmc/host/sdhci.h
 +++ b/drivers/mmc/host/sdhci.h
 +++ b/drivers/mmc/host/sdhci.h
 @@ -300,8 +300,6 @@ struct sdhci_ops {
 @@ -300,8 +300,6 @@ struct sdhci_ops {
@@ -1236,7 +1225,7 @@ index 6857875..649f3cf 100644
  	unsigned int	(*missing_status)(struct sdhci_host *host);
  	unsigned int	(*missing_status)(struct sdhci_host *host);
  
  
  	void	(*hw_reset)(struct sdhci_host *host);
  	void	(*hw_reset)(struct sdhci_host *host);
-@@ -445,4 +443,10 @@ extern int sdhci_runtime_suspend_host(struct sdhci_host *host);
+@@ -445,4 +443,10 @@ extern int sdhci_runtime_suspend_host(st
  extern int sdhci_runtime_resume_host(struct sdhci_host *host);
  extern int sdhci_runtime_resume_host(struct sdhci_host *host);
  #endif
  #endif
  
  
@@ -1247,8 +1236,6 @@ index 6857875..649f3cf 100644
 +
 +
 +
 +
  #endif /* __SDHCI_HW_H */
  #endif /* __SDHCI_HW_H */
-diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
-index 99f5709..cd6f996 100644
 --- a/include/linux/mmc/host.h
 --- a/include/linux/mmc/host.h
 +++ b/include/linux/mmc/host.h
 +++ b/include/linux/mmc/host.h
 @@ -282,6 +282,7 @@ struct mmc_host {
 @@ -282,6 +282,7 @@ struct mmc_host {
@@ -1259,8 +1246,6 @@ index 99f5709..cd6f996 100644
  
  
  	mmc_pm_flag_t		pm_caps;	/* supported pm features */
  	mmc_pm_flag_t		pm_caps;	/* supported pm features */
  
  
-diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
-index e23fffb..b1b6537 100644
 --- a/include/linux/mmc/sdhci.h
 --- a/include/linux/mmc/sdhci.h
 +++ b/include/linux/mmc/sdhci.h
 +++ b/include/linux/mmc/sdhci.h
 @@ -102,6 +102,7 @@ struct sdhci_host {
 @@ -102,6 +102,7 @@ struct sdhci_host {
@@ -1271,6 +1256,3 @@ index e23fffb..b1b6537 100644
  	void __iomem *ioaddr;	/* Mapped address */
  	void __iomem *ioaddr;	/* Mapped address */
  
  
  	const struct sdhci_ops *ops;	/* Low level hw interface */
  	const struct sdhci_ops *ops;	/* Low level hw interface */
--- 
-1.9.1
-

+ 1 - 13
target/linux/brcm2708/patches-3.14/0014-Add-cpufreq-driver.patch

@@ -11,8 +11,6 @@ Subject: [PATCH 14/54] Add cpufreq driver
  4 files changed, 249 insertions(+)
  4 files changed, 249 insertions(+)
  create mode 100755 drivers/cpufreq/bcm2835-cpufreq.c
  create mode 100755 drivers/cpufreq/bcm2835-cpufreq.c
 
 
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 9e23417..be8a752 100644
 --- a/arch/arm/Kconfig
 --- a/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
 +++ b/arch/arm/Kconfig
 @@ -389,6 +389,7 @@ config ARCH_BCM2708
 @@ -389,6 +389,7 @@ config ARCH_BCM2708
@@ -23,8 +21,6 @@ index 9e23417..be8a752 100644
  	select GENERIC_CLOCKEVENTS
  	select GENERIC_CLOCKEVENTS
  	select ARM_ERRATA_411920
  	select ARM_ERRATA_411920
  	select MACH_BCM2708
  	select MACH_BCM2708
-diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
-index 3129749..d12c80d 100644
 --- a/drivers/cpufreq/Kconfig.arm
 --- a/drivers/cpufreq/Kconfig.arm
 +++ b/drivers/cpufreq/Kconfig.arm
 +++ b/drivers/cpufreq/Kconfig.arm
 @@ -235,6 +235,14 @@ config ARM_SPEAR_CPUFREQ
 @@ -235,6 +235,14 @@ config ARM_SPEAR_CPUFREQ
@@ -42,11 +38,9 @@ index 3129749..d12c80d 100644
  config ARM_TEGRA_CPUFREQ
  config ARM_TEGRA_CPUFREQ
  	bool "TEGRA CPUFreq support"
  	bool "TEGRA CPUFreq support"
  	depends on ARCH_TEGRA
  	depends on ARCH_TEGRA
-diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
-index dac58f6..d8ded24 100644
 --- a/drivers/cpufreq/Makefile
 --- a/drivers/cpufreq/Makefile
 +++ b/drivers/cpufreq/Makefile
 +++ b/drivers/cpufreq/Makefile
-@@ -73,6 +73,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ)	+= s5pv210-cpufreq.o
+@@ -73,6 +73,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ)	+= s5p
  obj-$(CONFIG_ARM_SA1100_CPUFREQ)	+= sa1100-cpufreq.o
  obj-$(CONFIG_ARM_SA1100_CPUFREQ)	+= sa1100-cpufreq.o
  obj-$(CONFIG_ARM_SA1110_CPUFREQ)	+= sa1110-cpufreq.o
  obj-$(CONFIG_ARM_SA1110_CPUFREQ)	+= sa1110-cpufreq.o
  obj-$(CONFIG_ARM_SPEAR_CPUFREQ)		+= spear-cpufreq.o
  obj-$(CONFIG_ARM_SPEAR_CPUFREQ)		+= spear-cpufreq.o
@@ -54,9 +48,6 @@ index dac58f6..d8ded24 100644
  obj-$(CONFIG_ARM_TEGRA_CPUFREQ)		+= tegra-cpufreq.o
  obj-$(CONFIG_ARM_TEGRA_CPUFREQ)		+= tegra-cpufreq.o
  obj-$(CONFIG_ARM_VEXPRESS_SPC_CPUFREQ)	+= vexpress-spc-cpufreq.o
  obj-$(CONFIG_ARM_VEXPRESS_SPC_CPUFREQ)	+= vexpress-spc-cpufreq.o
  
  
-diff --git a/drivers/cpufreq/bcm2835-cpufreq.c b/drivers/cpufreq/bcm2835-cpufreq.c
-new file mode 100755
-index 0000000..7bc55bd
 --- /dev/null
 --- /dev/null
 +++ b/drivers/cpufreq/bcm2835-cpufreq.c
 +++ b/drivers/cpufreq/bcm2835-cpufreq.c
 @@ -0,0 +1,239 @@
 @@ -0,0 +1,239 @@
@@ -299,6 +290,3 @@ index 0000000..7bc55bd
 +
 +
 +module_init(bcm2835_cpufreq_module_init);
 +module_init(bcm2835_cpufreq_module_init);
 +module_exit(bcm2835_cpufreq_module_exit);
 +module_exit(bcm2835_cpufreq_module_exit);
--- 
-1.9.1
-

+ 17 - 29
target/linux/brcm2708/patches-3.14/0015-Added-hwmon-thermal-driver-for-reporting-core-temper.patch

@@ -16,11 +16,9 @@ Subject: [PATCH 15/54] Added hwmon/thermal driver for reporting core
  create mode 100644 drivers/hwmon/bcm2835-hwmon.c
  create mode 100644 drivers/hwmon/bcm2835-hwmon.c
  create mode 100644 drivers/thermal/bcm2835-thermal.c
  create mode 100644 drivers/thermal/bcm2835-thermal.c
 
 
-Index: linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c
-===================================================================
---- linux-3.14.18.orig/arch/arm/mach-bcm2708/bcm2708.c	2014-09-27 12:03:08.607411837 -0700
-+++ linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c	2014-09-27 12:03:08.603411837 -0700
-@@ -483,6 +483,14 @@
+--- a/arch/arm/mach-bcm2708/bcm2708.c
++++ b/arch/arm/mach-bcm2708/bcm2708.c
+@@ -483,6 +483,14 @@ static struct platform_device bcm2708_al
  	       },
  	       },
  };
  };
  
  
@@ -35,7 +33,7 @@ Index: linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c
  int __init bcm_register_device(struct platform_device *pdev)
  int __init bcm_register_device(struct platform_device *pdev)
  {
  {
  	int ret;
  	int ret;
-@@ -594,6 +602,9 @@
+@@ -594,6 +602,9 @@ void __init bcm2708_init(void)
  	for (i = 0; i < ARRAY_SIZE(bcm2708_alsa_devices); i++)
  	for (i = 0; i < ARRAY_SIZE(bcm2708_alsa_devices); i++)
  		bcm_register_device(&bcm2708_alsa_devices[i]);
  		bcm_register_device(&bcm2708_alsa_devices[i]);
  
  
@@ -45,11 +43,9 @@ Index: linux-3.14.18/arch/arm/mach-bcm2708/bcm2708.c
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  		struct amba_device *d = amba_devs[i];
  		struct amba_device *d = amba_devs[i];
  		amba_device_register(d, &iomem_resource);
  		amba_device_register(d, &iomem_resource);
-Index: linux-3.14.18/drivers/hwmon/Kconfig
-===================================================================
---- linux-3.14.18.orig/drivers/hwmon/Kconfig	2014-09-27 12:03:08.607411837 -0700
-+++ linux-3.14.18/drivers/hwmon/Kconfig	2014-09-27 12:03:08.603411837 -0700
-@@ -1565,6 +1565,16 @@
+--- a/drivers/hwmon/Kconfig
++++ b/drivers/hwmon/Kconfig
+@@ -1565,6 +1565,16 @@ config SENSORS_MC13783_ADC
          help
          help
            Support for the A/D converter on MC13783 and MC13892 PMIC.
            Support for the A/D converter on MC13783 and MC13892 PMIC.
  
  
@@ -66,10 +62,8 @@ Index: linux-3.14.18/drivers/hwmon/Kconfig
  if ACPI
  if ACPI
  
  
  comment "ACPI drivers"
  comment "ACPI drivers"
-Index: linux-3.14.18/drivers/hwmon/bcm2835-hwmon.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.18/drivers/hwmon/bcm2835-hwmon.c	2014-09-27 12:03:08.603411837 -0700
+--- /dev/null
++++ b/drivers/hwmon/bcm2835-hwmon.c
 @@ -0,0 +1,219 @@
 @@ -0,0 +1,219 @@
 +/*****************************************************************************
 +/*****************************************************************************
 +* Copyright 2011 Broadcom Corporation.  All rights reserved.
 +* Copyright 2011 Broadcom Corporation.  All rights reserved.
@@ -290,11 +284,9 @@ Index: linux-3.14.18/drivers/hwmon/bcm2835-hwmon.c
 +MODULE_DESCRIPTION("HW Monitor driver for bcm2835 chip");
 +MODULE_DESCRIPTION("HW Monitor driver for bcm2835 chip");
 +
 +
 +module_platform_driver(bcm2835_hwmon_driver);
 +module_platform_driver(bcm2835_hwmon_driver);
-Index: linux-3.14.18/drivers/thermal/Kconfig
-===================================================================
---- linux-3.14.18.orig/drivers/thermal/Kconfig	2014-09-27 12:03:08.607411837 -0700
-+++ linux-3.14.18/drivers/thermal/Kconfig	2014-09-27 12:03:08.603411837 -0700
-@@ -196,6 +196,12 @@
+--- a/drivers/thermal/Kconfig
++++ b/drivers/thermal/Kconfig
+@@ -196,6 +196,12 @@ config INTEL_POWERCLAMP
  	  enforce idle time which results in more package C-state residency. The
  	  enforce idle time which results in more package C-state residency. The
  	  user interface is exposed via generic thermal framework.
  	  user interface is exposed via generic thermal framework.
  
  
@@ -307,11 +299,9 @@ Index: linux-3.14.18/drivers/thermal/Kconfig
  config X86_PKG_TEMP_THERMAL
  config X86_PKG_TEMP_THERMAL
  	tristate "X86 package temperature thermal driver"
  	tristate "X86 package temperature thermal driver"
  	depends on X86_THERMAL_VECTOR
  	depends on X86_THERMAL_VECTOR
-Index: linux-3.14.18/drivers/thermal/Makefile
-===================================================================
---- linux-3.14.18.orig/drivers/thermal/Makefile	2014-09-27 12:03:08.607411837 -0700
-+++ linux-3.14.18/drivers/thermal/Makefile	2014-09-27 12:03:08.603411837 -0700
-@@ -28,6 +28,7 @@
+--- a/drivers/thermal/Makefile
++++ b/drivers/thermal/Makefile
+@@ -28,6 +28,7 @@ obj-$(CONFIG_ARMADA_THERMAL)	+= armada_t
  obj-$(CONFIG_IMX_THERMAL)	+= imx_thermal.o
  obj-$(CONFIG_IMX_THERMAL)	+= imx_thermal.o
  obj-$(CONFIG_DB8500_CPUFREQ_COOLING)	+= db8500_cpufreq_cooling.o
  obj-$(CONFIG_DB8500_CPUFREQ_COOLING)	+= db8500_cpufreq_cooling.o
  obj-$(CONFIG_INTEL_POWERCLAMP)	+= intel_powerclamp.o
  obj-$(CONFIG_INTEL_POWERCLAMP)	+= intel_powerclamp.o
@@ -319,10 +309,8 @@ Index: linux-3.14.18/drivers/thermal/Makefile
  obj-$(CONFIG_X86_PKG_TEMP_THERMAL)	+= x86_pkg_temp_thermal.o
  obj-$(CONFIG_X86_PKG_TEMP_THERMAL)	+= x86_pkg_temp_thermal.o
  obj-$(CONFIG_TI_SOC_THERMAL)	+= ti-soc-thermal/
  obj-$(CONFIG_TI_SOC_THERMAL)	+= ti-soc-thermal/
  obj-$(CONFIG_ACPI_INT3403_THERMAL)	+= int3403_thermal.o
  obj-$(CONFIG_ACPI_INT3403_THERMAL)	+= int3403_thermal.o
-Index: linux-3.14.18/drivers/thermal/bcm2835-thermal.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.18/drivers/thermal/bcm2835-thermal.c	2014-09-27 12:03:08.603411837 -0700
+--- /dev/null
++++ b/drivers/thermal/bcm2835-thermal.c
 @@ -0,0 +1,184 @@
 @@ -0,0 +1,184 @@
 +/*****************************************************************************
 +/*****************************************************************************
 +* Copyright 2011 Broadcom Corporation.  All rights reserved.
 +* Copyright 2011 Broadcom Corporation.  All rights reserved.

+ 1 - 6
target/linux/brcm2708/patches-3.14/0016-Allow-mac-address-to-be-set-in-smsc95xx.patch

@@ -8,8 +8,6 @@ Signed-off-by: popcornmix <[email protected]>
  drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
  drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 56 insertions(+)
  1 file changed, 56 insertions(+)
 
 
-diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
-index 424db65e..fc1ef4e 100644
 --- a/drivers/net/usb/smsc95xx.c
 --- a/drivers/net/usb/smsc95xx.c
 +++ b/drivers/net/usb/smsc95xx.c
 +++ b/drivers/net/usb/smsc95xx.c
 @@ -59,6 +59,7 @@
 @@ -59,6 +59,7 @@
@@ -31,7 +29,7 @@ index 424db65e..fc1ef4e 100644
  static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
  static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
  					    u32 *data, int in_pm)
  					    u32 *data, int in_pm)
  {
  {
-@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
+@@ -763,8 +768,59 @@ static int smsc95xx_ioctl(struct net_dev
  	return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
  	return generic_mii_ioctl(&dev->mii, if_mii(rq), cmd, NULL);
  }
  }
  
  
@@ -91,6 +89,3 @@ index 424db65e..fc1ef4e 100644
  	/* try reading mac address from EEPROM */
  	/* try reading mac address from EEPROM */
  	if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
  	if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
  			dev->net->dev_addr) == 0) {
  			dev->net->dev_addr) == 0) {
--- 
-1.9.1
-

+ 3 - 30
target/linux/brcm2708/patches-3.14/0017-Add-Chris-Boot-s-i2c-and-spi-drivers.patch

@@ -27,8 +27,6 @@ The correct baudrate is shown in the log after the cdiv > 0xffff correction.
  create mode 100644 drivers/i2c/busses/i2c-bcm2708.c
  create mode 100644 drivers/i2c/busses/i2c-bcm2708.c
  create mode 100644 drivers/spi/spi-bcm2708.c
  create mode 100644 drivers/spi/spi-bcm2708.c
 
 
-diff --git a/arch/arm/configs/bcmrpi_cutdown_defconfig b/arch/arm/configs/bcmrpi_cutdown_defconfig
-index e519412..2c2e29e 100644
 --- a/arch/arm/configs/bcmrpi_cutdown_defconfig
 --- a/arch/arm/configs/bcmrpi_cutdown_defconfig
 +++ b/arch/arm/configs/bcmrpi_cutdown_defconfig
 +++ b/arch/arm/configs/bcmrpi_cutdown_defconfig
 @@ -492,3 +492,12 @@ CONFIG_CRYPTO_DEFLATE=m
 @@ -492,3 +492,12 @@ CONFIG_CRYPTO_DEFLATE=m
@@ -44,8 +42,6 @@ index e519412..2c2e29e 100644
 +CONFIG_SPI=y
 +CONFIG_SPI=y
 +CONFIG_SPI_MASTER=y
 +CONFIG_SPI_MASTER=y
 +CONFIG_SPI_BCM2708=m
 +CONFIG_SPI_BCM2708=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index df947e5..31f5afaa 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -214,6 +214,12 @@ CONFIG_SERIAL_AMBA_PL011=y
 @@ -214,6 +214,12 @@ CONFIG_SERIAL_AMBA_PL011=y
@@ -61,8 +57,6 @@ index df947e5..31f5afaa 100644
  CONFIG_GPIO_SYSFS=y
  CONFIG_GPIO_SYSFS=y
  # CONFIG_HWMON is not set
  # CONFIG_HWMON is not set
  CONFIG_WATCHDOG=y
  CONFIG_WATCHDOG=y
-diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
-index 9355841..e151ed4 100644
 --- a/arch/arm/mach-bcm2708/Kconfig
 --- a/arch/arm/mach-bcm2708/Kconfig
 +++ b/arch/arm/mach-bcm2708/Kconfig
 +++ b/arch/arm/mach-bcm2708/Kconfig
 @@ -31,4 +31,11 @@ config BCM2708_NOL2CACHE
 @@ -31,4 +31,11 @@ config BCM2708_NOL2CACHE
@@ -77,8 +71,6 @@ index 9355841..e151ed4 100644
 +	help
 +	help
 +	  Binds spidev driver to the SPI0 master
 +	  Binds spidev driver to the SPI0 master
  endmenu
  endmenu
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 314bbcc..e892006 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 @@ -31,6 +31,7 @@
 @@ -31,6 +31,7 @@
@@ -121,7 +113,7 @@ index 314bbcc..e892006 100644
  	 }
  	 }
  };
  };
  
  
-@@ -483,6 +491,89 @@ static struct platform_device bcm2708_alsa_devices[] = {
+@@ -483,6 +491,89 @@ static struct platform_device bcm2708_al
  	       },
  	       },
  };
  };
  
  
@@ -234,8 +226,6 @@ index 314bbcc..e892006 100644
  }
  }
  
  
  static void timer_set_mode(enum clock_event_mode mode,
  static void timer_set_mode(enum clock_event_mode mode,
-diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h
-index ecd854e..f4bb733 100644
 --- a/arch/arm/mach-bcm2708/include/mach/platform.h
 --- a/arch/arm/mach-bcm2708/include/mach/platform.h
 +++ b/arch/arm/mach-bcm2708/include/mach/platform.h
 +++ b/arch/arm/mach-bcm2708/include/mach/platform.h
 @@ -64,9 +64,12 @@
 @@ -64,9 +64,12 @@
@@ -251,8 +241,6 @@ index ecd854e..f4bb733 100644
  #define USB_BASE                 (BCM2708_PERI_BASE + 0x980000) /* DTC_OTG USB controller */
  #define USB_BASE                 (BCM2708_PERI_BASE + 0x980000) /* DTC_OTG USB controller */
  #define MCORE_BASE               (BCM2708_PERI_BASE + 0x0000)   /* Fake frame buffer device (actually the multicore sync block*/
  #define MCORE_BASE               (BCM2708_PERI_BASE + 0x0000)   /* Fake frame buffer device (actually the multicore sync block*/
  
  
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index c5eec02..315421d 100644
 --- a/drivers/i2c/busses/Kconfig
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
 @@ -348,6 +348,25 @@ config I2C_BCM2835
 @@ -348,6 +348,25 @@ config I2C_BCM2835
@@ -281,11 +269,9 @@ index c5eec02..315421d 100644
  config I2C_BCM_KONA
  config I2C_BCM_KONA
  	tristate "BCM Kona I2C adapter"
  	tristate "BCM Kona I2C adapter"
  	depends on ARCH_BCM_MOBILE
  	depends on ARCH_BCM_MOBILE
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index a08931f..a62fadf 100644
 --- a/drivers/i2c/busses/Makefile
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
-@@ -32,6 +32,7 @@ obj-$(CONFIG_I2C_POWERMAC)	+= i2c-powermac.o
+@@ -32,6 +32,7 @@ obj-$(CONFIG_I2C_POWERMAC)	+= i2c-powerm
  obj-$(CONFIG_I2C_AT91)		+= i2c-at91.o
  obj-$(CONFIG_I2C_AT91)		+= i2c-at91.o
  obj-$(CONFIG_I2C_AU1550)	+= i2c-au1550.o
  obj-$(CONFIG_I2C_AU1550)	+= i2c-au1550.o
  obj-$(CONFIG_I2C_BCM2835)	+= i2c-bcm2835.o
  obj-$(CONFIG_I2C_BCM2835)	+= i2c-bcm2835.o
@@ -293,9 +279,6 @@ index a08931f..a62fadf 100644
  obj-$(CONFIG_I2C_BLACKFIN_TWI)	+= i2c-bfin-twi.o
  obj-$(CONFIG_I2C_BLACKFIN_TWI)	+= i2c-bfin-twi.o
  obj-$(CONFIG_I2C_CBUS_GPIO)	+= i2c-cbus-gpio.o
  obj-$(CONFIG_I2C_CBUS_GPIO)	+= i2c-cbus-gpio.o
  obj-$(CONFIG_I2C_CPM)		+= i2c-cpm.o
  obj-$(CONFIG_I2C_CPM)		+= i2c-cpm.o
-diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
-new file mode 100644
-index 0000000..b3d96f0
 --- /dev/null
 --- /dev/null
 +++ b/drivers/i2c/busses/i2c-bcm2708.c
 +++ b/drivers/i2c/busses/i2c-bcm2708.c
 @@ -0,0 +1,419 @@
 @@ -0,0 +1,419 @@
@@ -718,8 +701,6 @@ index 0000000..b3d96f0
 +MODULE_AUTHOR("Chris Boot <[email protected]>");
 +MODULE_AUTHOR("Chris Boot <[email protected]>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 +MODULE_ALIAS("platform:" DRV_NAME);
 +MODULE_ALIAS("platform:" DRV_NAME);
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 581ee2a..6029f6f 100644
 --- a/drivers/spi/Kconfig
 --- a/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
 +++ b/drivers/spi/Kconfig
 @@ -85,6 +85,14 @@ config SPI_BCM2835
 @@ -85,6 +85,14 @@ config SPI_BCM2835
@@ -737,11 +718,9 @@ index 581ee2a..6029f6f 100644
  config SPI_BFIN5XX
  config SPI_BFIN5XX
  	tristate "SPI controller driver for ADI Blackfin5xx"
  	tristate "SPI controller driver for ADI Blackfin5xx"
  	depends on BLACKFIN && !BF60x
  	depends on BLACKFIN && !BF60x
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 95af48d..51996c2 100644
 --- a/drivers/spi/Makefile
 --- a/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
 +++ b/drivers/spi/Makefile
-@@ -19,6 +19,7 @@ obj-$(CONFIG_SPI_BCM63XX)		+= spi-bcm63xx.o
+@@ -19,6 +19,7 @@ obj-$(CONFIG_SPI_BCM63XX)		+= spi-bcm63x
  obj-$(CONFIG_SPI_BCM63XX_HSSPI)		+= spi-bcm63xx-hsspi.o
  obj-$(CONFIG_SPI_BCM63XX_HSSPI)		+= spi-bcm63xx-hsspi.o
  obj-$(CONFIG_SPI_BFIN5XX)		+= spi-bfin5xx.o
  obj-$(CONFIG_SPI_BFIN5XX)		+= spi-bfin5xx.o
  obj-$(CONFIG_SPI_BFIN_V3)               += spi-bfin-v3.o
  obj-$(CONFIG_SPI_BFIN_V3)               += spi-bfin-v3.o
@@ -749,9 +728,6 @@ index 95af48d..51996c2 100644
  obj-$(CONFIG_SPI_BFIN_SPORT)		+= spi-bfin-sport.o
  obj-$(CONFIG_SPI_BFIN_SPORT)		+= spi-bfin-sport.o
  obj-$(CONFIG_SPI_BITBANG)		+= spi-bitbang.o
  obj-$(CONFIG_SPI_BITBANG)		+= spi-bitbang.o
  obj-$(CONFIG_SPI_BUTTERFLY)		+= spi-butterfly.o
  obj-$(CONFIG_SPI_BUTTERFLY)		+= spi-butterfly.o
-diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c
-new file mode 100644
-index 0000000..180264a
 --- /dev/null
 --- /dev/null
 +++ b/drivers/spi/spi-bcm2708.c
 +++ b/drivers/spi/spi-bcm2708.c
 @@ -0,0 +1,626 @@
 @@ -0,0 +1,626 @@
@@ -1381,6 +1357,3 @@ index 0000000..180264a
 +MODULE_AUTHOR("Chris Boot <[email protected]>");
 +MODULE_AUTHOR("Chris Boot <[email protected]>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 +MODULE_ALIAS("platform:" DRV_NAME);
 +MODULE_ALIAS("platform:" DRV_NAME);
--- 
-1.9.1
-

+ 3 - 8
target/linux/brcm2708/patches-3.14/0018-Perform-I2C-combined-transactions-when-possible.patch

@@ -16,11 +16,9 @@ i2c: Make combined transactions optional and disabled by default
  drivers/i2c/busses/i2c-bcm2708.c | 31 ++++++++++++++++++++++++++++++-
  drivers/i2c/busses/i2c-bcm2708.c | 31 ++++++++++++++++++++++++++++++-
  1 file changed, 30 insertions(+), 1 deletion(-)
  1 file changed, 30 insertions(+), 1 deletion(-)
 
 
-diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
-index b3d96f0..05531db 100644
 --- a/drivers/i2c/busses/i2c-bcm2708.c
 --- a/drivers/i2c/busses/i2c-bcm2708.c
 +++ b/drivers/i2c/busses/i2c-bcm2708.c
 +++ b/drivers/i2c/busses/i2c-bcm2708.c
-@@ -74,6 +74,9 @@ static unsigned int baudrate = CONFIG_I2C_BCM2708_BAUDRATE;
+@@ -74,6 +74,9 @@ static unsigned int baudrate = CONFIG_I2
  module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
  module_param(baudrate, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
  MODULE_PARM_DESC(baudrate, "The I2C baudrate");
  MODULE_PARM_DESC(baudrate, "The I2C baudrate");
  
  
@@ -30,7 +28,7 @@ index b3d96f0..05531db 100644
  
  
  struct bcm2708_i2c {
  struct bcm2708_i2c {
  	struct i2c_adapter adapter;
  	struct i2c_adapter adapter;
-@@ -150,7 +153,7 @@ static inline void bcm2708_bsc_fifo_fill(struct bcm2708_i2c *bi)
+@@ -150,7 +153,7 @@ static inline void bcm2708_bsc_fifo_fill
  static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
  static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
  {
  {
  	unsigned long bus_hz;
  	unsigned long bus_hz;
@@ -39,7 +37,7 @@ index b3d96f0..05531db 100644
  	u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1;
  	u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1;
  
  
  	bus_hz = clk_get_rate(bi->clk);
  	bus_hz = clk_get_rate(bi->clk);
-@@ -166,6 +169,32 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
+@@ -166,6 +169,32 @@ static inline void bcm2708_bsc_setup(str
  	bcm2708_wr(bi, BSC_DIV, cdiv);
  	bcm2708_wr(bi, BSC_DIV, cdiv);
  	bcm2708_wr(bi, BSC_A, bi->msg->addr);
  	bcm2708_wr(bi, BSC_A, bi->msg->addr);
  	bcm2708_wr(bi, BSC_DLEN, bi->msg->len);
  	bcm2708_wr(bi, BSC_DLEN, bi->msg->len);
@@ -72,6 +70,3 @@ index b3d96f0..05531db 100644
  	bcm2708_wr(bi, BSC_C, c);
  	bcm2708_wr(bi, BSC_C, c);
  }
  }
  
  
--- 
-1.9.1
-

+ 7 - 20
target/linux/brcm2708/patches-3.14/0019-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch

@@ -26,8 +26,6 @@ Signed-off-by: Alex J Lennon <[email protected]>
  drivers/w1/w1_io.c              | 18 ++++++++++---
  drivers/w1/w1_io.c              | 18 ++++++++++---
  5 files changed, 115 insertions(+), 9 deletions(-)
  5 files changed, 115 insertions(+), 9 deletions(-)
 
 
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index e892006..221d145 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 @@ -32,6 +32,7 @@
 @@ -32,6 +32,7 @@
@@ -58,7 +56,7 @@ index e892006..221d145 100644
  
  
  static void __init bcm2708_init_led(void);
  static void __init bcm2708_init_led(void);
  
  
-@@ -258,6 +266,20 @@ static struct platform_device bcm2708_dmaman_device = {
+@@ -258,6 +266,20 @@ static struct platform_device bcm2708_dm
  	.num_resources = ARRAY_SIZE(bcm2708_dmaman_resources),
  	.num_resources = ARRAY_SIZE(bcm2708_dmaman_resources),
  };
  };
  
  
@@ -97,8 +95,6 @@ index e892006..221d145 100644
  module_param(reboot_part, uint, 0644);
  module_param(reboot_part, uint, 0644);
 +module_param(w1_gpio_pin, uint, 0644);
 +module_param(w1_gpio_pin, uint, 0644);
 +module_param(w1_gpio_pullup, uint, 0644);
 +module_param(w1_gpio_pullup, uint, 0644);
-diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c
-index 9709b8b..b10f9c9 100644
 --- a/drivers/w1/masters/w1-gpio.c
 --- a/drivers/w1/masters/w1-gpio.c
 +++ b/drivers/w1/masters/w1-gpio.c
 +++ b/drivers/w1/masters/w1-gpio.c
 @@ -23,6 +23,15 @@
 @@ -23,6 +23,15 @@
@@ -134,7 +130,7 @@ index 9709b8b..b10f9c9 100644
  #if defined(CONFIG_OF)
  #if defined(CONFIG_OF)
  static struct of_device_id w1_gpio_dt_ids[] = {
  static struct of_device_id w1_gpio_dt_ids[] = {
  	{ .compatible = "w1-gpio" },
  	{ .compatible = "w1-gpio" },
-@@ -102,14 +121,16 @@ static int w1_gpio_probe_dt(struct platform_device *pdev)
+@@ -102,14 +121,16 @@ static int w1_gpio_probe_dt(struct platf
  static int w1_gpio_probe(struct platform_device *pdev)
  static int w1_gpio_probe(struct platform_device *pdev)
  {
  {
  	struct w1_bus_master *master;
  	struct w1_bus_master *master;
@@ -157,7 +153,7 @@ index 9709b8b..b10f9c9 100644
  		}
  		}
  	}
  	}
  
  
-@@ -127,6 +148,19 @@ static int w1_gpio_probe(struct platform_device *pdev)
+@@ -127,6 +148,19 @@ static int w1_gpio_probe(struct platform
  		return -ENOMEM;
  		return -ENOMEM;
  	}
  	}
  
  
@@ -177,7 +173,7 @@ index 9709b8b..b10f9c9 100644
  	err = devm_gpio_request(&pdev->dev, pdata->pin, "w1");
  	err = devm_gpio_request(&pdev->dev, pdata->pin, "w1");
  	if (err) {
  	if (err) {
  		dev_err(&pdev->dev, "gpio_request (pin) failed\n");
  		dev_err(&pdev->dev, "gpio_request (pin) failed\n");
-@@ -156,6 +190,14 @@ static int w1_gpio_probe(struct platform_device *pdev)
+@@ -156,6 +190,14 @@ static int w1_gpio_probe(struct platform
  		master->set_pullup = w1_gpio_set_pullup;
  		master->set_pullup = w1_gpio_set_pullup;
  	}
  	}
  
  
@@ -192,7 +188,7 @@ index 9709b8b..b10f9c9 100644
  	err = w1_add_master_device(master);
  	err = w1_add_master_device(master);
  	if (err) {
  	if (err) {
  		dev_err(&pdev->dev, "w1_add_master device failed\n");
  		dev_err(&pdev->dev, "w1_add_master device failed\n");
-@@ -186,6 +228,9 @@ static int w1_gpio_remove(struct platform_device *pdev)
+@@ -186,6 +228,9 @@ static int w1_gpio_remove(struct platfor
  
  
  	w1_remove_master_device(master);
  	w1_remove_master_device(master);
  
  
@@ -202,8 +198,6 @@ index 9709b8b..b10f9c9 100644
  	return 0;
  	return 0;
  }
  }
  
  
-diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h
-index ca8081a..3392959 100644
 --- a/drivers/w1/w1.h
 --- a/drivers/w1/w1.h
 +++ b/drivers/w1/w1.h
 +++ b/drivers/w1/w1.h
 @@ -148,6 +148,12 @@ struct w1_bus_master
 @@ -148,6 +148,12 @@ struct w1_bus_master
@@ -219,11 +213,9 @@ index ca8081a..3392959 100644
  	/** Really nice hardware can handles the different types of ROM search
  	/** Really nice hardware can handles the different types of ROM search
  	 *  w1_master* is passed to the slave found callback.
  	 *  w1_master* is passed to the slave found callback.
  	 */
  	 */
-diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c
-index 590bd8a..a4d69b6 100644
 --- a/drivers/w1/w1_int.c
 --- a/drivers/w1/w1_int.c
 +++ b/drivers/w1/w1_int.c
 +++ b/drivers/w1/w1_int.c
-@@ -118,6 +118,20 @@ int w1_add_master_device(struct w1_bus_master *master)
+@@ -118,6 +118,20 @@ int w1_add_master_device(struct w1_bus_m
  		return(-EINVAL);
  		return(-EINVAL);
          }
          }
  
  
@@ -244,11 +236,9 @@ index 590bd8a..a4d69b6 100644
  	/* Lock until the device is added (or not) to w1_masters. */
  	/* Lock until the device is added (or not) to w1_masters. */
  	mutex_lock(&w1_mlock);
  	mutex_lock(&w1_mlock);
  	/* Search for the first available id (starting at 1). */
  	/* Search for the first available id (starting at 1). */
-diff --git a/drivers/w1/w1_io.c b/drivers/w1/w1_io.c
-index e10acc2..667fdd5 100644
 --- a/drivers/w1/w1_io.c
 --- a/drivers/w1/w1_io.c
 +++ b/drivers/w1/w1_io.c
 +++ b/drivers/w1/w1_io.c
-@@ -127,10 +127,22 @@ static void w1_pre_write(struct w1_master *dev)
+@@ -127,10 +127,22 @@ static void w1_pre_write(struct w1_maste
  static void w1_post_write(struct w1_master *dev)
  static void w1_post_write(struct w1_master *dev)
  {
  {
  	if (dev->pullup_duration) {
  	if (dev->pullup_duration) {
@@ -274,6 +264,3 @@ index e10acc2..667fdd5 100644
  		dev->pullup_duration = 0;
  		dev->pullup_duration = 0;
  	}
  	}
  }
  }
--- 
-1.9.1
-

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1 - 299
target/linux/brcm2708/patches-3.14/0020-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch


+ 2 - 15
target/linux/brcm2708/patches-3.14/0021-wifi-add-patches-from-3.6.y-tree-to-make-rtl8192cu-w.patch

@@ -13,8 +13,6 @@ wifi: add missing patch from 3.6.y tree to disable debug
  drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c |  1 +
  drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c |  1 +
  5 files changed, 23 insertions(+), 3 deletions(-)
  5 files changed, 23 insertions(+), 3 deletions(-)
 
 
-diff --git a/drivers/net/wireless/rtl8192cu/Kconfig b/drivers/net/wireless/rtl8192cu/Kconfig
-index bee5ed6..ef46361 100644
 --- a/drivers/net/wireless/rtl8192cu/Kconfig
 --- a/drivers/net/wireless/rtl8192cu/Kconfig
 +++ b/drivers/net/wireless/rtl8192cu/Kconfig
 +++ b/drivers/net/wireless/rtl8192cu/Kconfig
 @@ -1,6 +1,8 @@
 @@ -1,6 +1,8 @@
@@ -27,8 +25,6 @@ index bee5ed6..ef46361 100644
 -	  Help message of RTL8192CU
 -	  Help message of RTL8192CU
 +	  Enable wireless network adapters based on Realtek RTL8192C chipset family, such as EDUP nano series
 +	  Enable wireless network adapters based on Realtek RTL8192C chipset family, such as EDUP nano series
  
  
-diff --git a/drivers/net/wireless/rtl8192cu/Makefile b/drivers/net/wireless/rtl8192cu/Makefile
-index c399011..f85c59f 100644
 --- a/drivers/net/wireless/rtl8192cu/Makefile
 --- a/drivers/net/wireless/rtl8192cu/Makefile
 +++ b/drivers/net/wireless/rtl8192cu/Makefile
 +++ b/drivers/net/wireless/rtl8192cu/Makefile
 @@ -38,7 +38,7 @@ CONFIG_RTL8192CU_REDEFINE_1X1 = n
 @@ -38,7 +38,7 @@ CONFIG_RTL8192CU_REDEFINE_1X1 = n
@@ -51,8 +47,6 @@ index c399011..f85c59f 100644
  ifneq ($(USER_MODULE_NAME),)
  ifneq ($(USER_MODULE_NAME),)
  MODULE_NAME := $(USER_MODULE_NAME)
  MODULE_NAME := $(USER_MODULE_NAME)
  endif
  endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/autoconf.h b/drivers/net/wireless/rtl8192cu/include/autoconf.h
-index 12294df..1341ff0 100644
 --- a/drivers/net/wireless/rtl8192cu/include/autoconf.h
 --- a/drivers/net/wireless/rtl8192cu/include/autoconf.h
 +++ b/drivers/net/wireless/rtl8192cu/include/autoconf.h
 +++ b/drivers/net/wireless/rtl8192cu/include/autoconf.h
 @@ -296,7 +296,7 @@
 @@ -296,7 +296,7 @@
@@ -64,8 +58,6 @@ index 12294df..1341ff0 100644
  
  
  #define CONFIG_PROC_DEBUG	1
  #define CONFIG_PROC_DEBUG	1
  
  
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c
-index 82dee6d..b0bf0e9 100644
 --- a/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c
 --- a/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c
 +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c
 +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c
 @@ -277,6 +277,18 @@ static int	rtw_proc_cnt = 0;
 @@ -277,6 +277,18 @@ static int	rtw_proc_cnt = 0;
@@ -87,7 +79,7 @@ index 82dee6d..b0bf0e9 100644
  void rtw_proc_init_one(struct net_device *dev)
  void rtw_proc_init_one(struct net_device *dev)
  {
  {
  	struct proc_dir_entry *dir_dev = NULL;
  	struct proc_dir_entry *dir_dev = NULL;
-@@ -751,6 +763,7 @@ void rtw_proc_remove_one(struct net_device *dev)
+@@ -751,6 +763,7 @@ void rtw_proc_remove_one(struct net_devi
  		}
  		}
  	}
  	}
  }
  }
@@ -95,11 +87,9 @@ index 82dee6d..b0bf0e9 100644
  #endif
  #endif
  
  
  uint loadparam( _adapter *padapter,  _nic_hdl	pnetdev);
  uint loadparam( _adapter *padapter,  _nic_hdl	pnetdev);
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c
-index 4c1089a..baccb59 100644
 --- a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c
 --- a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c
 +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c
 +++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c
-@@ -138,6 +138,7 @@ static void rtw_dev_remove(struct usb_interface *pusb_intf);
+@@ -138,6 +138,7 @@ static void rtw_dev_remove(struct usb_in
  	{USB_DEVICE(0x2001, 0x3307)},/* D-Link - Cameo */ \
  	{USB_DEVICE(0x2001, 0x3307)},/* D-Link - Cameo */ \
  	{USB_DEVICE(0x2001, 0x330A)},/* D-Link - Alpha */ \
  	{USB_DEVICE(0x2001, 0x330A)},/* D-Link - Alpha */ \
  	{USB_DEVICE(0x2001, 0x3309)},/* D-Link - Alpha */ \
  	{USB_DEVICE(0x2001, 0x3309)},/* D-Link - Alpha */ \
@@ -107,6 +97,3 @@ index 4c1089a..baccb59 100644
  	{USB_DEVICE(0x0586, 0x341F)},/* Zyxel - Abocom */ \
  	{USB_DEVICE(0x0586, 0x341F)},/* Zyxel - Abocom */ \
  	{USB_DEVICE(0x7392, 0x7822)},/* Edimax - Edimax */ \
  	{USB_DEVICE(0x7392, 0x7822)},/* Edimax - Edimax */ \
  	{USB_DEVICE(0x2019, 0xAB2B)},/* Planex - Abocom */ \
  	{USB_DEVICE(0x2019, 0xAB2B)},/* Planex - Abocom */ \
--- 
-1.9.1
-

+ 1 - 6
target/linux/brcm2708/patches-3.14/0022-Added-Device-IDs-for-August-DVB-T-205.patch

@@ -7,11 +7,9 @@ Subject: [PATCH 22/54] Added Device IDs for August DVB-T 205
  drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
  drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
  1 file changed, 4 insertions(+)
  1 file changed, 4 insertions(+)
 
 
-diff --git a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
-index fd1312d..54740d0 100644
 --- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
 --- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
 +++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
 +++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
-@@ -1429,6 +1429,10 @@ static const struct usb_device_id rtl28xxu_id_table[] = {
+@@ -1429,6 +1429,10 @@ static const struct usb_device_id rtl28x
  		&rtl2832u_props, "Compro VideoMate U620F", NULL) },
  		&rtl2832u_props, "Compro VideoMate U620F", NULL) },
  	{ DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd394,
  	{ DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd394,
  		&rtl2832u_props, "MaxMedia HU394-T", NULL) },
  		&rtl2832u_props, "MaxMedia HU394-T", NULL) },
@@ -22,6 +20,3 @@ index fd1312d..54740d0 100644
  	{ DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a03,
  	{ DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a03,
  		&rtl2832u_props, "Leadtek WinFast DTV Dongle mini", NULL) },
  		&rtl2832u_props, "Leadtek WinFast DTV Dongle mini", NULL) },
  	{ DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A,
  	{ DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A,
--- 
-1.9.1
-

+ 0 - 5
target/linux/brcm2708/patches-3.14/0023-config-add-missing-options-from-3.6.y-kernel.patch

@@ -7,8 +7,6 @@ Subject: [PATCH 23/54] config: add missing options from 3.6.y kernel
  arch/arm/configs/bcmrpi_defconfig | 755 ++++++++++++++++++++++++++++++++------
  arch/arm/configs/bcmrpi_defconfig | 755 ++++++++++++++++++++++++++++++++------
  1 file changed, 649 insertions(+), 106 deletions(-)
  1 file changed, 649 insertions(+), 106 deletions(-)
 
 
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 31f5afaa..78d789c 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -1,11 +1,17 @@
 @@ -1,11 +1,17 @@
@@ -1047,6 +1045,3 @@ index 31f5afaa..78d789c 100644
  # CONFIG_CRYPTO_ANSI_CPRNG is not set
  # CONFIG_CRYPTO_ANSI_CPRNG is not set
  # CONFIG_CRYPTO_HW is not set
  # CONFIG_CRYPTO_HW is not set
  CONFIG_CRC_ITU_T=y
  CONFIG_CRC_ITU_T=y
--- 
-1.9.1
-

+ 2 - 7
target/linux/brcm2708/patches-3.14/0024-Speed-up-console-framebuffer-imageblit-function.patch

@@ -32,8 +32,6 @@ Signed-off-by: Harm Hanemaaijer <[email protected]>
  drivers/video/cfbimgblt.c | 152 ++++++++++++++++++++++++++++++++++++++++++++--
  drivers/video/cfbimgblt.c | 152 ++++++++++++++++++++++++++++++++++++++++++++--
  1 file changed, 147 insertions(+), 5 deletions(-)
  1 file changed, 147 insertions(+), 5 deletions(-)
 
 
-diff --git a/drivers/video/cfbimgblt.c b/drivers/video/cfbimgblt.c
-index a2bb276..436494f 100644
 --- a/drivers/video/cfbimgblt.c
 --- a/drivers/video/cfbimgblt.c
 +++ b/drivers/video/cfbimgblt.c
 +++ b/drivers/video/cfbimgblt.c
 @@ -28,6 +28,11 @@
 @@ -28,6 +28,11 @@
@@ -48,7 +46,7 @@ index a2bb276..436494f 100644
   */
   */
  #include <linux/module.h>
  #include <linux/module.h>
  #include <linux/string.h>
  #include <linux/string.h>
-@@ -262,6 +267,133 @@ static inline void fast_imageblit(const struct fb_image *image, struct fb_info *
+@@ -262,6 +267,133 @@ static inline void fast_imageblit(const 
  	}
  	}
  }	
  }	
  	
  	
@@ -182,7 +180,7 @@ index a2bb276..436494f 100644
  void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
  void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
  {
  {
  	u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0;
  	u32 fgcolor, bgcolor, start_index, bitstart, pitch_index = 0;
-@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, const struct fb_image *image)
+@@ -294,11 +426,21 @@ void cfb_imageblit(struct fb_info *p, co
  			bgcolor = image->bg_color;
  			bgcolor = image->bg_color;
  		}	
  		}	
  		
  		
@@ -209,6 +207,3 @@ index a2bb276..436494f 100644
  			slow_imageblit(image, p, dst1, fgcolor, bgcolor,
  			slow_imageblit(image, p, dst1, fgcolor, bgcolor,
  					start_index, pitch_index);
  					start_index, pitch_index);
  	} else
  	} else
--- 
-1.9.1
-

+ 4 - 11
target/linux/brcm2708/patches-3.14/0025-fbdev-add-FBIOCOPYAREA-ioctl.patch

@@ -15,11 +15,9 @@ Signed-off-by: Siarhei Siamashka <[email protected]>
  include/uapi/linux/fb.h |  5 +++++
  include/uapi/linux/fb.h |  5 +++++
  2 files changed, 35 insertions(+)
  2 files changed, 35 insertions(+)
 
 
-diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
-index 7309ac7..46984cc 100644
 --- a/drivers/video/fbmem.c
 --- a/drivers/video/fbmem.c
 +++ b/drivers/video/fbmem.c
 +++ b/drivers/video/fbmem.c
-@@ -1083,6 +1083,25 @@ fb_blank(struct fb_info *info, int blank)
+@@ -1083,6 +1083,25 @@ fb_blank(struct fb_info *info, int blank
  }
  }
  EXPORT_SYMBOL(fb_blank);
  EXPORT_SYMBOL(fb_blank);
  
  
@@ -45,7 +43,7 @@ index 7309ac7..46984cc 100644
  static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
  static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
  			unsigned long arg)
  			unsigned long arg)
  {
  {
-@@ -1093,6 +1112,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
+@@ -1093,6 +1112,7 @@ static long do_fb_ioctl(struct fb_info *
  	struct fb_cmap cmap_from;
  	struct fb_cmap cmap_from;
  	struct fb_cmap_user cmap;
  	struct fb_cmap_user cmap;
  	struct fb_event event;
  	struct fb_event event;
@@ -53,7 +51,7 @@ index 7309ac7..46984cc 100644
  	void __user *argp = (void __user *)arg;
  	void __user *argp = (void __user *)arg;
  	long ret = 0;
  	long ret = 0;
  
  
-@@ -1210,6 +1230,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
+@@ -1210,6 +1230,15 @@ static long do_fb_ioctl(struct fb_info *
  		unlock_fb_info(info);
  		unlock_fb_info(info);
  		console_unlock();
  		console_unlock();
  		break;
  		break;
@@ -69,7 +67,7 @@ index 7309ac7..46984cc 100644
  	default:
  	default:
  		if (!lock_fb_info(info))
  		if (!lock_fb_info(info))
  			return -ENODEV;
  			return -ENODEV;
-@@ -1364,6 +1393,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd,
+@@ -1364,6 +1393,7 @@ static long fb_compat_ioctl(struct file 
  	case FBIOPAN_DISPLAY:
  	case FBIOPAN_DISPLAY:
  	case FBIOGET_CON2FBMAP:
  	case FBIOGET_CON2FBMAP:
  	case FBIOPUT_CON2FBMAP:
  	case FBIOPUT_CON2FBMAP:
@@ -77,8 +75,6 @@ index 7309ac7..46984cc 100644
  		arg = (unsigned long) compat_ptr(arg);
  		arg = (unsigned long) compat_ptr(arg);
  	case FBIOBLANK:
  	case FBIOBLANK:
  		ret = do_fb_ioctl(info, cmd, arg);
  		ret = do_fb_ioctl(info, cmd, arg);
-diff --git a/include/uapi/linux/fb.h b/include/uapi/linux/fb.h
-index fb795c3..fa72af0 100644
 --- a/include/uapi/linux/fb.h
 --- a/include/uapi/linux/fb.h
 +++ b/include/uapi/linux/fb.h
 +++ b/include/uapi/linux/fb.h
 @@ -34,6 +34,11 @@
 @@ -34,6 +34,11 @@
@@ -93,6 +89,3 @@ index fb795c3..fa72af0 100644
  
  
  #define FB_TYPE_PACKED_PIXELS		0	/* Packed Pixels	*/
  #define FB_TYPE_PACKED_PIXELS		0	/* Packed Pixels	*/
  #define FB_TYPE_PLANES			1	/* Non interleaved planes */
  #define FB_TYPE_PLANES			1	/* Non interleaved planes */
--- 
-1.9.1
-

+ 9 - 18
target/linux/brcm2708/patches-3.14/0026-bcm2708_fb-DMA-acceleration-for-fb_copyarea.patch

@@ -43,11 +43,9 @@ Signed-off-by: Luke Diamand <[email protected]>
  drivers/video/bcm2708_fb.c               | 273 ++++++++++++++++++++++++++++++-
  drivers/video/bcm2708_fb.c               | 273 ++++++++++++++++++++++++++++++-
  3 files changed, 278 insertions(+), 5 deletions(-)
  3 files changed, 278 insertions(+), 5 deletions(-)
 
 
-diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c
-index 51d147a..1da2413 100644
 --- a/arch/arm/mach-bcm2708/dma.c
 --- a/arch/arm/mach-bcm2708/dma.c
 +++ b/arch/arm/mach-bcm2708/dma.c
 +++ b/arch/arm/mach-bcm2708/dma.c
-@@ -83,6 +83,14 @@ extern void bcm_dma_wait_idle(void __iomem *dma_chan_base)
+@@ -83,6 +83,14 @@ extern void bcm_dma_wait_idle(void __iom
  
  
  EXPORT_SYMBOL_GPL(bcm_dma_start);
  EXPORT_SYMBOL_GPL(bcm_dma_start);
  
  
@@ -62,8 +60,6 @@ index 51d147a..1da2413 100644
  /* Complete an ongoing DMA (assuming its results are to be ignored)
  /* Complete an ongoing DMA (assuming its results are to be ignored)
     Does nothing if there is no DMA in progress.
     Does nothing if there is no DMA in progress.
     This routine waits for the current AXI transfer to complete before
     This routine waits for the current AXI transfer to complete before
-diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
-index ac7a4a0..6d2f9a0 100644
 --- a/arch/arm/mach-bcm2708/include/mach/dma.h
 --- a/arch/arm/mach-bcm2708/include/mach/dma.h
 +++ b/arch/arm/mach-bcm2708/include/mach/dma.h
 +++ b/arch/arm/mach-bcm2708/include/mach/dma.h
 @@ -62,11 +62,13 @@ struct bcm2708_dma_cb {
 @@ -62,11 +62,13 @@ struct bcm2708_dma_cb {
@@ -80,8 +76,6 @@ index ac7a4a0..6d2f9a0 100644
  extern int /*rc*/ bcm_dma_abort(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
  /* When listing features we can ask for when allocating DMA channels give
-diff --git a/drivers/video/bcm2708_fb.c b/drivers/video/bcm2708_fb.c
-index 54cd760..798eb52 100644
 --- a/drivers/video/bcm2708_fb.c
 --- a/drivers/video/bcm2708_fb.c
 +++ b/drivers/video/bcm2708_fb.c
 +++ b/drivers/video/bcm2708_fb.c
 @@ -21,13 +21,16 @@
 @@ -21,13 +21,16 @@
@@ -101,7 +95,7 @@ index 54cd760..798eb52 100644
  #include <mach/platform.h>
  #include <mach/platform.h>
  #include <mach/vcio.h>
  #include <mach/vcio.h>
  
  
-@@ -51,6 +54,10 @@ static int fbheight = 480; /* module parameter */
+@@ -51,6 +54,10 @@ static int fbheight = 480; /* module par
  static int fbdepth = 16;   /* module parameter */
  static int fbdepth = 16;   /* module parameter */
  static int fbswap = 0;     /* module parameter */
  static int fbswap = 0;     /* module parameter */
  
  
@@ -186,7 +180,7 @@ index 54cd760..798eb52 100644
  static int bcm2708_fb_set_bitfields(struct fb_var_screeninfo *var)
  static int bcm2708_fb_set_bitfields(struct fb_var_screeninfo *var)
  {
  {
  	int ret = 0;
  	int ret = 0;
-@@ -322,11 +386,148 @@ static void bcm2708_fb_fillrect(struct fb_info *info,
+@@ -322,11 +386,148 @@ static void bcm2708_fb_fillrect(struct f
  	cfb_fillrect(info, rect);
  	cfb_fillrect(info, rect);
  }
  }
  
  
@@ -337,7 +331,7 @@ index 54cd760..798eb52 100644
  }
  }
  
  
  static void bcm2708_fb_imageblit(struct fb_info *info,
  static void bcm2708_fb_imageblit(struct fb_info *info,
-@@ -336,6 +537,24 @@ static void bcm2708_fb_imageblit(struct fb_info *info,
+@@ -336,6 +537,24 @@ static void bcm2708_fb_imageblit(struct 
  	cfb_imageblit(info, image);
  	cfb_imageblit(info, image);
  }
  }
  
  
@@ -362,7 +356,7 @@ index 54cd760..798eb52 100644
  static struct fb_ops bcm2708_fb_ops = {
  static struct fb_ops bcm2708_fb_ops = {
  	.owner = THIS_MODULE,
  	.owner = THIS_MODULE,
  	.fb_check_var = bcm2708_fb_check_var,
  	.fb_check_var = bcm2708_fb_check_var,
-@@ -365,7 +584,7 @@ static int bcm2708_fb_register(struct bcm2708_fb *fb)
+@@ -365,7 +584,7 @@ static int bcm2708_fb_register(struct bc
  		fb->dma = dma;
  		fb->dma = dma;
  	}
  	}
  	fb->fb.fbops = &bcm2708_fb_ops;
  	fb->fb.fbops = &bcm2708_fb_ops;
@@ -371,7 +365,7 @@ index 54cd760..798eb52 100644
  	fb->fb.pseudo_palette = fb->cmap;
  	fb->fb.pseudo_palette = fb->cmap;
  
  
  	strncpy(fb->fb.fix.id, bcm2708_name, sizeof(fb->fb.fix.id));
  	strncpy(fb->fb.fix.id, bcm2708_name, sizeof(fb->fb.fix.id));
-@@ -396,6 +615,7 @@ static int bcm2708_fb_register(struct bcm2708_fb *fb)
+@@ -396,6 +615,7 @@ static int bcm2708_fb_register(struct bc
  	fb->fb.monspecs.dclkmax = 100000000;
  	fb->fb.monspecs.dclkmax = 100000000;
  
  
  	bcm2708_fb_set_bitfields(&fb->fb.var);
  	bcm2708_fb_set_bitfields(&fb->fb.var);
@@ -379,7 +373,7 @@ index 54cd760..798eb52 100644
  
  
  	/*
  	/*
  	 * Allocate colourmap.
  	 * Allocate colourmap.
-@@ -421,14 +641,45 @@ static int bcm2708_fb_probe(struct platform_device *dev)
+@@ -421,14 +641,45 @@ static int bcm2708_fb_probe(struct platf
  	struct bcm2708_fb *fb;
  	struct bcm2708_fb *fb;
  	int ret;
  	int ret;
  
  
@@ -427,7 +421,7 @@ index 54cd760..798eb52 100644
  
  
  	fb->dev = dev;
  	fb->dev = dev;
  
  
-@@ -438,6 +689,11 @@ static int bcm2708_fb_probe(struct platform_device *dev)
+@@ -438,6 +689,11 @@ static int bcm2708_fb_probe(struct platf
  		goto out;
  		goto out;
  	}
  	}
  
  
@@ -439,7 +433,7 @@ index 54cd760..798eb52 100644
  	kfree(fb);
  	kfree(fb);
  free_region:
  free_region:
  	dev_err(&dev->dev, "probe failed, err %d\n", ret);
  	dev_err(&dev->dev, "probe failed, err %d\n", ret);
-@@ -455,8 +711,15 @@ static int bcm2708_fb_remove(struct platform_device *dev)
+@@ -455,8 +711,15 @@ static int bcm2708_fb_remove(struct plat
  		iounmap(fb->fb.screen_base);
  		iounmap(fb->fb.screen_base);
  	unregister_framebuffer(&fb->fb);
  	unregister_framebuffer(&fb->fb);
  
  
@@ -455,6 +449,3 @@ index 54cd760..798eb52 100644
  	kfree(fb);
  	kfree(fb);
  
  
  	return 0;
  	return 0;
--- 
-1.9.1
-

+ 2 - 11
target/linux/brcm2708/patches-3.14/0027-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch

@@ -10,8 +10,6 @@ Subject: [PATCH 27/54] config: Enable CONFIG_MEMCG, but leave it disabled (due
  mm/memcontrol.c                   |  1 +
  mm/memcontrol.c                   |  1 +
  3 files changed, 29 insertions(+)
  3 files changed, 29 insertions(+)
 
 
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 78d789c..e89e430 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -18,6 +18,7 @@ CONFIG_CGROUP_FREEZER=y
 @@ -18,6 +18,7 @@ CONFIG_CGROUP_FREEZER=y
@@ -22,11 +20,9 @@ index 78d789c..e89e430 100644
  CONFIG_BLK_CGROUP=y
  CONFIG_BLK_CGROUP=y
  CONFIG_NAMESPACES=y
  CONFIG_NAMESPACES=y
  CONFIG_SCHED_AUTOGROUP=y
  CONFIG_SCHED_AUTOGROUP=y
-diff --git a/kernel/cgroup.c b/kernel/cgroup.c
-index 0c753dd..a18b46e 100644
 --- a/kernel/cgroup.c
 --- a/kernel/cgroup.c
 +++ b/kernel/cgroup.c
 +++ b/kernel/cgroup.c
-@@ -5252,6 +5252,33 @@ static int __init cgroup_disable(char *str)
+@@ -5251,6 +5251,33 @@ static int __init cgroup_disable(char *s
  }
  }
  __setup("cgroup_disable=", cgroup_disable);
  __setup("cgroup_disable=", cgroup_disable);
  
  
@@ -60,11 +56,9 @@ index 0c753dd..a18b46e 100644
  /**
  /**
   * css_from_dir - get corresponding css from the dentry of a cgroup dir
   * css_from_dir - get corresponding css from the dentry of a cgroup dir
   * @dentry: directory dentry of interest
   * @dentry: directory dentry of interest
-diff --git a/mm/memcontrol.c b/mm/memcontrol.c
-index 9b35da2..a9891cc 100644
 --- a/mm/memcontrol.c
 --- a/mm/memcontrol.c
 +++ b/mm/memcontrol.c
 +++ b/mm/memcontrol.c
-@@ -7289,6 +7289,7 @@ struct cgroup_subsys mem_cgroup_subsys = {
+@@ -7316,6 +7316,7 @@ struct cgroup_subsys mem_cgroup_subsys =
  	.bind = mem_cgroup_bind,
  	.bind = mem_cgroup_bind,
  	.base_cftypes = mem_cgroup_files,
  	.base_cftypes = mem_cgroup_files,
  	.early_init = 0,
  	.early_init = 0,
@@ -72,6 +66,3 @@ index 9b35da2..a9891cc 100644
  };
  };
  
  
  #ifdef CONFIG_MEMCG_SWAP
  #ifdef CONFIG_MEMCG_SWAP
--- 
-1.9.1
-

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 97 - 140
target/linux/brcm2708/patches-3.14/0028-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch


+ 90 - 128
target/linux/brcm2708/patches-3.14/0029-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch

@@ -121,11 +121,9 @@ fiq_fsm: Enable by default
  delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
  delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
  delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
  delete mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
 
 
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 47a66f8..89d0824 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -330,22 +330,13 @@ static struct resource bcm2708_usb_resources[] = {
+@@ -330,22 +330,13 @@ static struct resource bcm2708_usb_resou
  	       .end = IRQ_HOSTPORT,
  	       .end = IRQ_HOSTPORT,
  	       .flags = IORESOURCE_IRQ,
  	       .flags = IORESOURCE_IRQ,
  	       },
  	       },
@@ -165,11 +163,9 @@ index 47a66f8..89d0824 100644
  	bcm_register_device(&bcm2708_usb_device);
  	bcm_register_device(&bcm2708_usb_device);
  	bcm_register_device(&bcm2708_uart1_device);
  	bcm_register_device(&bcm2708_uart1_device);
  	bcm_register_device(&bcm2708_powerman_device);
  	bcm_register_device(&bcm2708_powerman_device);
-diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile
-index a56f193..e7bdd12 100644
 --- a/drivers/usb/host/dwc_otg/Makefile
 --- a/drivers/usb/host/dwc_otg/Makefile
 +++ b/drivers/usb/host/dwc_otg/Makefile
 +++ b/drivers/usb/host/dwc_otg/Makefile
-@@ -36,7 +36,8 @@ dwc_otg-objs	+= dwc_otg_cil.o dwc_otg_cil_intr.o
+@@ -36,7 +36,8 @@ dwc_otg-objs	+= dwc_otg_cil.o dwc_otg_ci
  dwc_otg-objs	+= dwc_otg_pcd_linux.o dwc_otg_pcd.o dwc_otg_pcd_intr.o
  dwc_otg-objs	+= dwc_otg_pcd_linux.o dwc_otg_pcd.o dwc_otg_pcd_intr.o
  dwc_otg-objs	+= dwc_otg_hcd.o dwc_otg_hcd_linux.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o dwc_otg_hcd_ddma.o
  dwc_otg-objs	+= dwc_otg_hcd.o dwc_otg_hcd_linux.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o dwc_otg_hcd_ddma.o
  dwc_otg-objs	+= dwc_otg_adp.o
  dwc_otg-objs	+= dwc_otg_adp.o
@@ -179,8 +175,6 @@ index a56f193..e7bdd12 100644
  ifneq ($(CFI),)
  ifneq ($(CFI),)
  dwc_otg-objs	+= dwc_otg_cfi.o
  dwc_otg-objs	+= dwc_otg_cfi.o
  endif
  endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
-index 2f8b3bd..065807f 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
 @@ -45,7 +45,6 @@
 @@ -45,7 +45,6 @@
@@ -191,7 +185,7 @@ index 2f8b3bd..065807f 100644
  
  
  #ifdef DEBUG
  #ifdef DEBUG
  inline const char *op_state_str(dwc_otg_core_if_t * core_if)
  inline const char *op_state_str(dwc_otg_core_if_t * core_if)
-@@ -1319,7 +1318,7 @@ static int32_t dwc_otg_handle_lpm_intr(dwc_otg_core_if_t * core_if)
+@@ -1319,7 +1318,7 @@ static int32_t dwc_otg_handle_lpm_intr(d
  /**
  /**
   * This function returns the Core Interrupt register.
   * This function returns the Core Interrupt register.
   */
   */
@@ -200,7 +194,7 @@ index 2f8b3bd..065807f 100644
  {
  {
  	gahbcfg_data_t gahbcfg = {.d32 = 0 };
  	gahbcfg_data_t gahbcfg = {.d32 = 0 };
  	gintsts_data_t gintsts;
  	gintsts_data_t gintsts;
-@@ -1345,16 +1344,15 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin
+@@ -1345,16 +1344,15 @@ static inline uint32_t dwc_otg_read_comm
  	}
  	}
  	gintsts.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintsts);
  	gintsts.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintsts);
  	gintmsk.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintmsk);
  	gintmsk.d32 = DWC_READ_REG32(&core_if->core_global_regs->gintmsk);
@@ -225,7 +219,7 @@ index 2f8b3bd..065807f 100644
  	}
  	}
  
  
  	gahbcfg.d32 = DWC_READ_REG32(&core_if->core_global_regs->gahbcfg);
  	gahbcfg.d32 = DWC_READ_REG32(&core_if->core_global_regs->gahbcfg);
-@@ -1366,13 +1364,15 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin
+@@ -1366,13 +1364,15 @@ static inline uint32_t dwc_otg_read_comm
  			    gintsts.d32, gintmsk.d32);
  			    gintsts.d32, gintmsk.d32);
  	}
  	}
  #endif
  #endif
@@ -244,7 +238,7 @@ index 2f8b3bd..065807f 100644
  		return ((gintsts.d32 & gintmsk.d32) & gintmsk_common.d32);
  		return ((gintsts.d32 & gintmsk.d32) & gintmsk_common.d32);
  	}
  	}
  
  
-@@ -1406,7 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1406,7 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void 
  {
  {
  	int retval = 0;
  	int retval = 0;
  	gintsts_data_t gintsts;
  	gintsts_data_t gintsts;
@@ -253,7 +247,7 @@ index 2f8b3bd..065807f 100644
  	gpwrdn_data_t gpwrdn = {.d32 = 0 };
  	gpwrdn_data_t gpwrdn = {.d32 = 0 };
  	dwc_otg_device_t *otg_dev = dev;
  	dwc_otg_device_t *otg_dev = dev;
  	dwc_otg_core_if_t *core_if = otg_dev->core_if;
  	dwc_otg_core_if_t *core_if = otg_dev->core_if;
-@@ -1428,7 +1428,10 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1428,7 +1428,10 @@ int32_t dwc_otg_handle_common_intr(void 
  	}
  	}
  
  
  	if (core_if->hibernation_suspend <= 0) {
  	if (core_if->hibernation_suspend <= 0) {
@@ -265,7 +259,7 @@ index 2f8b3bd..065807f 100644
  
  
  		if (gintsts.b.modemismatch) {
  		if (gintsts.b.modemismatch) {
  			retval |= dwc_otg_handle_mode_mismatch_intr(core_if);
  			retval |= dwc_otg_handle_mode_mismatch_intr(core_if);
-@@ -1525,11 +1528,16 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1525,11 +1528,16 @@ int32_t dwc_otg_handle_common_intr(void 
  			gintsts.b.portintr = 1;
  			gintsts.b.portintr = 1;
  			DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32);
  			DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32);
  			retval |= 1;
  			retval |= 1;
@@ -285,15 +279,13 @@ index 2f8b3bd..065807f 100644
  
  
  	} else {
  	} else {
  		DWC_DEBUGPL(DBG_ANY, "gpwrdn=%08x\n", gpwrdn.d32);
  		DWC_DEBUGPL(DBG_ANY, "gpwrdn=%08x\n", gpwrdn.d32);
-@@ -1583,6 +1591,5 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1583,6 +1591,5 @@ int32_t dwc_otg_handle_common_intr(void 
  	}
  	}
  	if (core_if->lock)
  	if (core_if->lock)
  		DWC_SPINUNLOCK(core_if->lock);
  		DWC_SPINUNLOCK(core_if->lock);
 -
 -
  	return retval;
  	return retval;
  }
  }
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
-index f06c3d22..dc7cd32 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
 @@ -56,6 +56,7 @@
 @@ -56,6 +56,7 @@
@@ -312,7 +304,7 @@ index f06c3d22..dc7cd32 100644
  
  
  extern int pcd_init(
  extern int pcd_init(
  #ifdef LM_INTERFACE
  #ifdef LM_INTERFACE
-@@ -240,13 +240,14 @@ static struct dwc_otg_driver_module_params dwc_otg_module_params = {
+@@ -240,13 +240,14 @@ static struct dwc_otg_driver_module_para
  	.adp_enable = -1,
  	.adp_enable = -1,
  };
  };
  
  
@@ -361,7 +353,7 @@ index f06c3d22..dc7cd32 100644
  #endif
  #endif
  	DWC_DEBUGPL(DBG_CIL, "registering (common) handler for irq%d\n",
  	DWC_DEBUGPL(DBG_CIL, "registering (common) handler for irq%d\n",
  		    devirq);
  		    devirq);
-@@ -1071,9 +1071,9 @@ static int __init dwc_otg_driver_init(void)
+@@ -1071,9 +1071,9 @@ static int __init dwc_otg_driver_init(vo
  	int error;
  	int error;
          struct device_driver *drv;
          struct device_driver *drv;
  
  
@@ -374,7 +366,7 @@ index f06c3d22..dc7cd32 100644
  	}
  	}
  
  
  	printk(KERN_INFO "%s: version %s (%s bus)\n", dwc_driver_name,
  	printk(KERN_INFO "%s: version %s (%s bus)\n", dwc_driver_name,
-@@ -1095,9 +1095,9 @@ static int __init dwc_otg_driver_init(void)
+@@ -1095,9 +1095,9 @@ static int __init dwc_otg_driver_init(vo
  		printk(KERN_ERR "%s retval=%d\n", __func__, retval);
  		printk(KERN_ERR "%s retval=%d\n", __func__, retval);
  		return retval;
  		return retval;
  	}
  	}
@@ -387,7 +379,7 @@ index f06c3d22..dc7cd32 100644
  
  
  	error = driver_create_file(drv, &driver_attr_version);
  	error = driver_create_file(drv, &driver_attr_version);
  #ifdef DEBUG
  #ifdef DEBUG
-@@ -1378,12 +1378,19 @@ MODULE_PARM_DESC(otg_ver, "OTG revision supported 0=OTG 1.3 1=OTG 2.0");
+@@ -1378,12 +1378,19 @@ MODULE_PARM_DESC(otg_ver, "OTG revision 
  module_param(microframe_schedule, bool, 0444);
  module_param(microframe_schedule, bool, 0444);
  MODULE_PARM_DESC(microframe_schedule, "Enable the microframe scheduler");
  MODULE_PARM_DESC(microframe_schedule, "Enable the microframe scheduler");
  
  
@@ -413,9 +405,6 @@ index f06c3d22..dc7cd32 100644
  
  
  /** @page "Module Parameters"
  /** @page "Module Parameters"
   *
   *
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-new file mode 100644
-index 0000000..7aad7f7
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
 @@ -0,0 +1,1290 @@
 @@ -0,0 +1,1290 @@
@@ -1709,9 +1698,6 @@ index 0000000..7aad7f7
 +	state->fiq_done++;
 +	state->fiq_done++;
 +	mb();
 +	mb();
 +}
 +}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
-new file mode 100644
-index 0000000..7572958
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
 @@ -0,0 +1,353 @@
 @@ -0,0 +1,353 @@
@@ -2068,9 +2054,6 @@ index 0000000..7572958
 +extern void dwc_otg_fiq_nop(struct fiq_state *state);
 +extern void dwc_otg_fiq_nop(struct fiq_state *state);
 +
 +
 +#endif /* DWC_OTG_FIQ_FSM_H_ */
 +#endif /* DWC_OTG_FIQ_FSM_H_ */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S
-new file mode 100644
-index 0000000..8cfe364
 --- /dev/null
 --- /dev/null
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S
 @@ -0,0 +1,81 @@
 @@ -0,0 +1,81 @@
@@ -2155,8 +2138,6 @@ index 0000000..8cfe364
 +_dwc_otg_fiq_stub_end:
 +_dwc_otg_fiq_stub_end:
 +END(_dwc_otg_fiq_stub)
 +END(_dwc_otg_fiq_stub)
 +
 +
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-index 22300f0..daea770 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
 @@ -45,9 +45,10 @@
 @@ -45,9 +45,10 @@
@@ -2172,7 +2153,7 @@ index 22300f0..daea770 100644
  
  
  //#define DEBUG_HOST_CHANNELS
  //#define DEBUG_HOST_CHANNELS
  #ifdef DEBUG_HOST_CHANNELS
  #ifdef DEBUG_HOST_CHANNELS
-@@ -57,12 +58,6 @@ static int last_sel_trans_num_avail_hc_at_start = 0;
+@@ -57,12 +58,6 @@ static int last_sel_trans_num_avail_hc_a
  static int last_sel_trans_num_avail_hc_at_end = 0;
  static int last_sel_trans_num_avail_hc_at_end = 0;
  #endif /* DEBUG_HOST_CHANNELS */
  #endif /* DEBUG_HOST_CHANNELS */
  
  
@@ -2185,7 +2166,7 @@ index 22300f0..daea770 100644
  
  
  dwc_otg_hcd_t *dwc_otg_hcd_alloc_hcd(void)
  dwc_otg_hcd_t *dwc_otg_hcd_alloc_hcd(void)
  {
  {
-@@ -295,7 +290,7 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
+@@ -295,7 +290,7 @@ static int32_t dwc_otg_hcd_disconnect_cb
  	 */
  	 */
  	dwc_otg_hcd->flags.b.port_connect_status_change = 1;
  	dwc_otg_hcd->flags.b.port_connect_status_change = 1;
  	dwc_otg_hcd->flags.b.port_connect_status = 0;
  	dwc_otg_hcd->flags.b.port_connect_status = 0;
@@ -2194,7 +2175,7 @@ index 22300f0..daea770 100644
  		local_fiq_disable();
  		local_fiq_disable();
  	/*
  	/*
  	 * Shutdown any transfers in process by clearing the Tx FIFO Empty
  	 * Shutdown any transfers in process by clearing the Tx FIFO Empty
-@@ -392,20 +387,15 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
+@@ -392,20 +387,15 @@ static int32_t dwc_otg_hcd_disconnect_cb
  				channel->qh = NULL;
  				channel->qh = NULL;
  			}
  			}
  		}
  		}
@@ -2217,7 +2198,7 @@ index 22300f0..daea770 100644
  		local_fiq_enable();
  		local_fiq_enable();
  
  
  	if (dwc_otg_hcd->fops->disconnect) {
  	if (dwc_otg_hcd->fops->disconnect) {
-@@ -542,7 +532,7 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
+@@ -542,7 +532,7 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
  	}
  	}
  #endif
  #endif
  	intr_mask.d32 = DWC_READ_REG32(&hcd->core_if->core_global_regs->gintmsk);
  	intr_mask.d32 = DWC_READ_REG32(&hcd->core_if->core_global_regs->gintmsk);
@@ -2226,7 +2207,7 @@ index 22300f0..daea770 100644
  	if((((dwc_otg_qh_t *)ep_handle)->ep_type == UE_BULK) && !(qtd->urb->flags & URB_GIVEBACK_ASAP))
  	if((((dwc_otg_qh_t *)ep_handle)->ep_type == UE_BULK) && !(qtd->urb->flags & URB_GIVEBACK_ASAP))
  		/* Do not schedule SG transactions until qtd has URB_GIVEBACK_ASAP set */
  		/* Do not schedule SG transactions until qtd has URB_GIVEBACK_ASAP set */
  		needs_scheduling = 0;
  		needs_scheduling = 0;
-@@ -613,6 +603,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
+@@ -613,6 +603,7 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
  	if (urb_qtd->in_process && qh->channel) {
  	if (urb_qtd->in_process && qh->channel) {
  		/* The QTD is in process (it has been assigned to a channel). */
  		/* The QTD is in process (it has been assigned to a channel). */
  		if (hcd->flags.b.port_connect_status) {
  		if (hcd->flags.b.port_connect_status) {
@@ -2234,7 +2215,7 @@ index 22300f0..daea770 100644
  			/*
  			/*
  			 * If still connected (i.e. in host mode), halt the
  			 * If still connected (i.e. in host mode), halt the
  			 * channel so it can be used for other transfers. If
  			 * channel so it can be used for other transfers. If
-@@ -620,10 +611,16 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
+@@ -620,10 +611,16 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
  			 * written to halt the channel since the core is in
  			 * written to halt the channel since the core is in
  			 * device mode.
  			 * device mode.
  			 */
  			 */
@@ -2255,7 +2236,7 @@ index 22300f0..daea770 100644
  		}
  		}
  	}
  	}
  
  
-@@ -759,7 +756,6 @@ static void completion_tasklet_func(void *ptr)
+@@ -759,7 +756,6 @@ static void completion_tasklet_func(void
  
  
  		usb_hcd_giveback_urb(hcd->priv, urb, urb->status);
  		usb_hcd_giveback_urb(hcd->priv, urb, urb->status);
  
  
@@ -2298,7 +2279,7 @@ index 22300f0..daea770 100644
  /**
  /**
   * Frees secondary storage associated with the dwc_otg_hcd structure contained
   * Frees secondary storage associated with the dwc_otg_hcd structure contained
   * in the struct usb_hcd field.
   * in the struct usb_hcd field.
-@@ -907,6 +931,7 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -907,6 +931,7 @@ static void dwc_otg_hcd_free(dwc_otg_hcd
  	DWC_TIMER_FREE(dwc_otg_hcd->conn_timer);
  	DWC_TIMER_FREE(dwc_otg_hcd->conn_timer);
  	DWC_TASK_FREE(dwc_otg_hcd->reset_tasklet);
  	DWC_TASK_FREE(dwc_otg_hcd->reset_tasklet);
  	DWC_TASK_FREE(dwc_otg_hcd->completion_tasklet);
  	DWC_TASK_FREE(dwc_otg_hcd->completion_tasklet);
@@ -2306,7 +2287,7 @@ index 22300f0..daea770 100644
  
  
  #ifdef DWC_DEV_SRPCAP
  #ifdef DWC_DEV_SRPCAP
  	if (dwc_otg_hcd->core_if->power_down == 2 &&
  	if (dwc_otg_hcd->core_if->power_down == 2 &&
-@@ -979,6 +1004,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
+@@ -979,6 +1004,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
  			    channel);
  			    channel);
  	}
  	}
  
  
@@ -2366,7 +2347,7 @@ index 22300f0..daea770 100644
  	/* Initialize the Connection timeout timer. */
  	/* Initialize the Connection timeout timer. */
  	hcd->conn_timer = DWC_TIMER_ALLOC("Connection timer",
  	hcd->conn_timer = DWC_TIMER_ALLOC("Connection timer",
  					  dwc_otg_hcd_connect_timeout, 0);
  					  dwc_otg_hcd_connect_timeout, 0);
-@@ -1176,7 +1254,8 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1176,7 +1254,8 @@ static void assign_and_init_hc(dwc_otg_h
  		hc->do_split = 1;
  		hc->do_split = 1;
  		hc->xact_pos = qtd->isoc_split_pos;
  		hc->xact_pos = qtd->isoc_split_pos;
  		/* We don't need to do complete splits anymore */
  		/* We don't need to do complete splits anymore */
@@ -2376,7 +2357,7 @@ index 22300f0..daea770 100644
  			hc->complete_split = qtd->complete_split = 0;
  			hc->complete_split = qtd->complete_split = 0;
  		else
  		else
  			hc->complete_split = qtd->complete_split;
  			hc->complete_split = qtd->complete_split;
-@@ -1327,62 +1406,487 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1327,62 +1406,487 @@ static void assign_and_init_hc(dwc_otg_h
  	hc->qh = qh;
  	hc->qh = qh;
  }
  }
  
  
@@ -2430,7 +2411,9 @@ index 22300f0..daea770 100644
 +			int nr_iso_frames = urb->packet_count;
 +			int nr_iso_frames = urb->packet_count;
 +			int i;
 +			int i;
 +			uint32_t ptr;
 +			uint32_t ptr;
-+
+ 
+-	if(!fiq_split_enable)
+-		return 0;
 +			if (nr_iso_frames < 2)
 +			if (nr_iso_frames < 2)
 +				return 0;
 +				return 0;
 +			for (i = 0; i < nr_iso_frames; i++) {
 +			for (i = 0; i < nr_iso_frames; i++) {
@@ -2448,8 +2431,7 @@ index 22300f0..daea770 100644
 +	return 0;
 +	return 0;
 +}
 +}
  
  
--	if(!fiq_split_enable)
--		return 0;
+-	hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
 +/**
 +/**
 + * fiq_fsm_setup_periodic_dma() - Set up DMA bounce buffers
 + * fiq_fsm_setup_periodic_dma() - Set up DMA bounce buffers
 + * @hcd: Pointer to the dwc_otg_hcd struct
 + * @hcd: Pointer to the dwc_otg_hcd struct
@@ -2495,24 +2477,23 @@ index 22300f0..daea770 100644
 +	} else {
 +	} else {
 +		if (qh->ep_type == UE_ISOCHRONOUS) {
 +		if (qh->ep_type == UE_ISOCHRONOUS) {
  
  
--	hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
-+			dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list);
- 
 -	if(hcd->hub_port[hub_addr] & (1 << port_addr))
 -	if(hcd->hub_port[hub_addr] & (1 << port_addr))
 -	{
 -	{
 -		fiq_print(FIQDBG_PORTHUB, "H%dP%d:S%02d", hub_addr, port_addr, qh->skip_count);
 -		fiq_print(FIQDBG_PORTHUB, "H%dP%d:S%02d", hub_addr, port_addr, qh->skip_count);
-+			frame_desc = &qtd->urb->iso_descs[qtd->isoc_frame_index];
-+			frame_length = frame_desc->length;
++			dwc_otg_qtd_t *qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list);
  
  
 -		qh->skip_count++;
 -		qh->skip_count++;
-+			/* Virtual address for bounce buffers */
-+			blob = hcd->fiq_dmab;
++			frame_desc = &qtd->urb->iso_descs[qtd->isoc_frame_index];
++			frame_length = frame_desc->length;
  
  
 -		if(qh->skip_count > 40000)
 -		if(qh->skip_count > 40000)
 -		{
 -		{
 -			printk_once(KERN_ERR "Error: Having to skip port allocation");
 -			printk_once(KERN_ERR "Error: Having to skip port allocation");
 -			local_fiq_disable();
 -			local_fiq_disable();
 -			BUG();
 -			BUG();
++			/* Virtual address for bounce buffers */
++			blob = hcd->fiq_dmab;
++
 +			ptr = qtd->urb->buf + frame_desc->offset;
 +			ptr = qtd->urb->buf + frame_desc->offset;
 +			if (frame_length == 0) {
 +			if (frame_length == 0) {
 +				/*
 +				/*
@@ -2707,7 +2688,8 @@ index 22300f0..daea770 100644
 +	if (st->fsm != FIQ_PASSTHROUGH)
 +	if (st->fsm != FIQ_PASSTHROUGH)
 +		return 0;
 +		return 0;
 +	st->nr_errors = 0;
 +	st->nr_errors = 0;
-+
+ 
+-	hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
 +	st->hcchar_copy.d32 = 0;
 +	st->hcchar_copy.d32 = 0;
 +	st->hcchar_copy.b.mps = hc->max_packet;
 +	st->hcchar_copy.b.mps = hc->max_packet;
 +	st->hcchar_copy.b.epdir = hc->ep_is_in;
 +	st->hcchar_copy.b.epdir = hc->ep_is_in;
@@ -2726,7 +2708,12 @@ index 22300f0..daea770 100644
 +	}
 +	}
 +	st->hcchar_copy.b.lspddev = (hc->speed == DWC_OTG_EP_SPEED_LOW) ? 1 : 0;
 +	st->hcchar_copy.b.lspddev = (hc->speed == DWC_OTG_EP_SPEED_LOW) ? 1 : 0;
 +	/* Enable the channel later as a final register write. */
 +	/* Enable the channel later as a final register write. */
-+
+ 
+-	hcd->hub_port[hub_addr] &= ~(1 << port_addr);
+-#ifdef FIQ_DEBUG
+-	hcd->hub_port_alloc[hub_addr * 16 + port_addr] = -1;
+-#endif
+-	fiq_print(FIQDBG_PORTHUB, "H%dP%d:RO%d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num);
 +	st->hcsplt_copy.d32 = 0;
 +	st->hcsplt_copy.d32 = 0;
 +	if(qh->do_split) {
 +	if(qh->do_split) {
 +		hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
 +		hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
@@ -2748,26 +2735,20 @@ index 22300f0..daea770 100644
 +		st->hub_addr = hub_addr;
 +		st->hub_addr = hub_addr;
 +		st->port_addr = port_addr;
 +		st->port_addr = port_addr;
 +	}
 +	}
- 
--	hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
++
 +	st->hctsiz_copy.d32 = 0;
 +	st->hctsiz_copy.d32 = 0;
 +	st->hctsiz_copy.b.dopng = 0;
 +	st->hctsiz_copy.b.dopng = 0;
 +	st->hctsiz_copy.b.pid = hc->data_pid_start;
 +	st->hctsiz_copy.b.pid = hc->data_pid_start;
- 
--	hcd->hub_port[hub_addr] &= ~(1 << port_addr);
--#ifdef FIQ_DEBUG
--	hcd->hub_port_alloc[hub_addr * 16 + port_addr] = -1;
--#endif
--	fiq_print(FIQDBG_PORTHUB, "H%dP%d:RO%d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num);
++
 +	if (hc->ep_is_in || (hc->xfer_len > hc->max_packet)) {
 +	if (hc->ep_is_in || (hc->xfer_len > hc->max_packet)) {
 +		hc->xfer_len = hc->max_packet;
 +		hc->xfer_len = hc->max_packet;
 +	} else if (!hc->ep_is_in && (hc->xfer_len > 188)) {
 +	} else if (!hc->ep_is_in && (hc->xfer_len > 188)) {
 +		hc->xfer_len = 188;
 +		hc->xfer_len = 188;
 +	}
 +	}
 +	st->hctsiz_copy.b.xfersize = hc->xfer_len;
 +	st->hctsiz_copy.b.xfersize = hc->xfer_len;
-+
-+	st->hctsiz_copy.b.pktcnt = 1;
  
  
++	st->hctsiz_copy.b.pktcnt = 1;
++
 +	if (hc->ep_type & 0x1) {
 +	if (hc->ep_type & 0x1) {
 +		/*
 +		/*
 +		 * For potentially multi-packet transfers, must use the DMA bounce buffers. For IN transfers,
 +		 * For potentially multi-packet transfers, must use the DMA bounce buffers. For IN transfers,
@@ -2903,7 +2884,7 @@ index 22300f0..daea770 100644
  }
  }
  
  
  
  
-@@ -1399,16 +1903,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1399,16 +1903,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
  {
  {
  	dwc_list_link_t *qh_ptr;
  	dwc_list_link_t *qh_ptr;
  	dwc_otg_qh_t *qh;
  	dwc_otg_qh_t *qh;
@@ -2920,7 +2901,7 @@ index 22300f0..daea770 100644
  #ifdef DEBUG_HOST_CHANNELS
  #ifdef DEBUG_HOST_CHANNELS
  	last_sel_trans_num_per_scheduled = 0;
  	last_sel_trans_num_per_scheduled = 0;
  	last_sel_trans_num_nonper_scheduled = 0;
  	last_sel_trans_num_nonper_scheduled = 0;
-@@ -1423,26 +1922,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1423,26 +1922,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
  
  
  		qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
  		qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
  
  
@@ -2947,7 +2928,7 @@ index 22300f0..daea770 100644
  				break;
  				break;
  			}
  			}
  			hcd->available_host_channels--;
  			hcd->available_host_channels--;
-@@ -1478,27 +1962,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1478,27 +1962,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
  	       !DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
  	       !DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
  
  
  		qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
  		qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
@@ -2988,7 +2969,7 @@ index 22300f0..daea770 100644
  			}
  			}
  		}
  		}
  
  
-@@ -1527,12 +2008,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1527,12 +2008,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
  				   &qh->qh_list_entry);
  				   &qh->qh_list_entry);
  		DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
  		DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
  
  
@@ -3022,7 +3003,7 @@ index 22300f0..daea770 100644
  	if(!DWC_LIST_EMPTY(&hcd->periodic_sched_assigned))
  	if(!DWC_LIST_EMPTY(&hcd->periodic_sched_assigned))
  		ret_val |= DWC_OTG_TRANSACTION_PERIODIC;
  		ret_val |= DWC_OTG_TRANSACTION_PERIODIC;
  
  
-@@ -1577,6 +2077,12 @@ static int queue_transaction(dwc_otg_hcd_t * hcd,
+@@ -1577,6 +2077,12 @@ static int queue_transaction(dwc_otg_hcd
  				hc->qh->ping_state = 0;
  				hc->qh->ping_state = 0;
  			}
  			}
  		} else if (!hc->xfer_started) {
  		} else if (!hc->xfer_started) {
@@ -3035,7 +3016,7 @@ index 22300f0..daea770 100644
  			dwc_otg_hc_start_transfer(hcd->core_if, hc);
  			dwc_otg_hc_start_transfer(hcd->core_if, hc);
  			hc->qh->ping_state = 0;
  			hc->qh->ping_state = 0;
  		}
  		}
-@@ -1629,7 +2135,7 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1629,7 +2135,7 @@ static void process_periodic_channels(dw
  	hptxsts_data_t tx_status;
  	hptxsts_data_t tx_status;
  	dwc_list_link_t *qh_ptr;
  	dwc_list_link_t *qh_ptr;
  	dwc_otg_qh_t *qh;
  	dwc_otg_qh_t *qh;
@@ -3044,7 +3025,7 @@ index 22300f0..daea770 100644
  	int no_queue_space = 0;
  	int no_queue_space = 0;
  	int no_fifo_space = 0;
  	int no_fifo_space = 0;
  
  
-@@ -1658,27 +2164,34 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1658,27 +2164,34 @@ static void process_periodic_channels(dw
  
  
  		// Do not send a split start transaction any later than frame .6
  		// Do not send a split start transaction any later than frame .6
  		// Note, we have to schedule a periodic in .5 to make it go in .6
  		// Note, we have to schedule a periodic in .5 to make it go in .6
@@ -3095,7 +3076,7 @@ index 22300f0..daea770 100644
  		}
  		}
  
  
  		/*
  		/*
-@@ -1795,25 +2308,19 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1795,25 +2308,19 @@ static void process_non_periodic_channel
  		qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t,
  		qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t,
  				    qh_list_entry);
  				    qh_list_entry);
  
  
@@ -3132,8 +3113,6 @@ index 22300f0..daea770 100644
  		/* Advance to next QH, skipping start-of-list entry. */
  		/* Advance to next QH, skipping start-of-list entry. */
  		hcd->non_periodic_qh_ptr = hcd->non_periodic_qh_ptr->next;
  		hcd->non_periodic_qh_ptr = hcd->non_periodic_qh_ptr->next;
  		if (hcd->non_periodic_qh_ptr == &hcd->non_periodic_sched_active) {
  		if (hcd->non_periodic_qh_ptr == &hcd->non_periodic_sched_active) {
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
-index 0007fa1..da2986244 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
 @@ -40,6 +40,8 @@
 @@ -40,6 +40,8 @@
@@ -3158,7 +3137,7 @@ index 0007fa1..da2986244 100644
  #ifdef DEBUG
  #ifdef DEBUG
  	uint32_t frrem_samples;
  	uint32_t frrem_samples;
  	uint64_t frrem_accum;
  	uint64_t frrem_accum;
-@@ -615,6 +623,9 @@ extern void dwc_otg_hcd_queue_transactions(dwc_otg_hcd_t * hcd,
+@@ -615,6 +623,9 @@ extern void dwc_otg_hcd_queue_transactio
  int dwc_otg_hcd_allocate_port(dwc_otg_hcd_t * hcd, dwc_otg_qh_t *qh);
  int dwc_otg_hcd_allocate_port(dwc_otg_hcd_t * hcd, dwc_otg_qh_t *qh);
  void dwc_otg_hcd_release_port(dwc_otg_hcd_t * dwc_otg_hcd, dwc_otg_qh_t *qh);
  void dwc_otg_hcd_release_port(dwc_otg_hcd_t * dwc_otg_hcd, dwc_otg_qh_t *qh);
  
  
@@ -3168,8 +3147,6 @@ index 0007fa1..da2986244 100644
  
  
  /** @} */
  /** @} */
  
  
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
-index 64d33a5..d3e2035 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
 @@ -34,7 +34,6 @@
 @@ -34,7 +34,6 @@
@@ -3214,7 +3191,7 @@ index 64d33a5..d3e2035 100644
  #ifdef FIQ_DEBUG
  #ifdef FIQ_DEBUG
  char buffer[1000*16];
  char buffer[1000*16];
  int wptr;
  int wptr;
-@@ -83,12 +57,10 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...)
+@@ -83,12 +57,10 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl
  	va_list args;
  	va_list args;
  	char text[17];
  	char text[17];
  	hfnum_data_t hfnum = { .d32 = FIQ_READ(dwc_regs_base + 0x408) };
  	hfnum_data_t hfnum = { .d32 = FIQ_READ(dwc_regs_base + 0x408) };
@@ -3228,7 +3205,7 @@ index 64d33a5..d3e2035 100644
  		snprintf(text, 9, "%4d%d:%d ", hfnum.b.frnum/8, hfnum.b.frnum%8, 8 - hfnum.b.frrem/937);
  		snprintf(text, 9, "%4d%d:%d ", hfnum.b.frnum/8, hfnum.b.frnum%8, 8 - hfnum.b.frrem/937);
  		va_start(args, fmt);
  		va_start(args, fmt);
  		vsnprintf(text+8, 9, fmt, args);
  		vsnprintf(text+8, 9, fmt, args);
-@@ -96,410 +68,21 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...)
+@@ -96,410 +68,21 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl
  
  
  		memcpy(buffer + wptr, text, 16);
  		memcpy(buffer + wptr, text, 16);
  		wptr = (wptr + 16) % sizeof(buffer);
  		wptr = (wptr + 16) % sizeof(buffer);
@@ -3641,7 +3618,7 @@ index 64d33a5..d3e2035 100644
  
  
  #ifdef DEBUG
  #ifdef DEBUG
  	dwc_otg_core_global_regs_t *global_regs = core_if->core_global_regs;
  	dwc_otg_core_global_regs_t *global_regs = core_if->core_global_regs;
-@@ -516,15 +99,29 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -516,15 +99,29 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
  	DWC_SPINLOCK(dwc_otg_hcd->lock);
  	DWC_SPINLOCK(dwc_otg_hcd->lock);
  	/* Check if HOST Mode */
  	/* Check if HOST Mode */
  	if (dwc_otg_is_host_mode(core_if)) {
  	if (dwc_otg_is_host_mode(core_if)) {
@@ -3677,7 +3654,7 @@ index 64d33a5..d3e2035 100644
  
  
  #ifdef DEBUG
  #ifdef DEBUG
  		// We should be OK doing this because the common interrupts should already have been serviced
  		// We should be OK doing this because the common interrupts should already have been serviced
-@@ -544,12 +141,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -544,12 +141,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
  				    gintsts.d32, core_if);
  				    gintsts.d32, core_if);
  #endif
  #endif
  		hfnum.d32 = DWC_READ_REG32(&dwc_otg_hcd->core_if->host_if->host_global_regs->hfnum);
  		hfnum.d32 = DWC_READ_REG32(&dwc_otg_hcd->core_if->host_if->host_global_regs->hfnum);
@@ -3691,7 +3668,7 @@ index 64d33a5..d3e2035 100644
  			retval |= dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd);
  			retval |= dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd);
  		}
  		}
  
  
-@@ -604,37 +196,43 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -604,37 +196,43 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
  	}
  	}
  
  
  exit_handler_routine:
  exit_handler_routine:
@@ -3716,12 +3693,17 @@ index 64d33a5..d3e2035 100644
 -				mphi_int_count = 0;
 -				mphi_int_count = 0;
 -			}
 -			}
 -			int_done++;
 -			int_done++;
+-		}
+-
+-		// Unmask handled interrupts
+-		FIQ_WRITE(dwc_regs_base + 0x18, gintmsk.d32);
+-		//DWC_MODIFY_REG32((uint32_t *)IO_ADDRESS(USB_BASE + 0x8), 0 , 1);
 +		gintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->gintmsk_saved.d32;
 +		gintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->gintmsk_saved.d32;
 +		if(fiq_fsm_enable)
 +		if(fiq_fsm_enable)
 +			haintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->haintmsk_saved.d32;
 +			haintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->haintmsk_saved.d32;
 +		else
 +		else
 +			haintmsk_new.d32 = 0x0000FFFF;
 +			haintmsk_new.d32 = 0x0000FFFF;
-+
+ 
 +		/* The FIQ could have sneaked another interrupt in. If so, don't clear MPHI */
 +		/* The FIQ could have sneaked another interrupt in. If so, don't clear MPHI */
 +		if ((gintmsk_new.d32 == ~0) && (haintmsk_new.d32 == 0x0000FFFF)) {
 +		if ((gintmsk_new.d32 == ~0) && (haintmsk_new.d32 == 0x0000FFFF)) {
 +				DWC_WRITE_REG32(dwc_otg_hcd->fiq_state->mphi_regs.intstat, (1<<16));
 +				DWC_WRITE_REG32(dwc_otg_hcd->fiq_state->mphi_regs.intstat, (1<<16));
@@ -3734,12 +3716,7 @@ index 64d33a5..d3e2035 100644
 +					dwc_otg_hcd->fiq_state->mphi_int_count = 0;
 +					dwc_otg_hcd->fiq_state->mphi_int_count = 0;
 +				}
 +				}
 +				int_done++;
 +				int_done++;
- 		}
--
--		// Unmask handled interrupts
--		FIQ_WRITE(dwc_regs_base + 0x18, gintmsk.d32);
--		//DWC_MODIFY_REG32((uint32_t *)IO_ADDRESS(USB_BASE + 0x8), 0 , 1);
--
++		}
 +		haintmsk.d32 = DWC_READ_REG32(&core_if->host_if->host_global_regs->haintmsk);
 +		haintmsk.d32 = DWC_READ_REG32(&core_if->host_if->host_global_regs->haintmsk);
 +		/* Re-enable interrupts that the FIQ masked (first time round) */
 +		/* Re-enable interrupts that the FIQ masked (first time round) */
 +		FIQ_WRITE(dwc_otg_hcd->fiq_state->dwc_regs_base + GINTMSK, gintmsk.d32);
 +		FIQ_WRITE(dwc_otg_hcd->fiq_state->dwc_regs_base + GINTMSK, gintmsk.d32);
@@ -3760,7 +3737,7 @@ index 64d33a5..d3e2035 100644
  		}
  		}
  	}
  	}
  
  
-@@ -686,6 +284,7 @@ static inline void track_missed_sofs(uint16_t curr_frame_number)
+@@ -686,6 +284,7 @@ static inline void track_missed_sofs(uin
  int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
  int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
  {
  {
  	hfnum_data_t hfnum;
  	hfnum_data_t hfnum;
@@ -3768,7 +3745,7 @@ index 64d33a5..d3e2035 100644
  	dwc_list_link_t *qh_entry;
  	dwc_list_link_t *qh_entry;
  	dwc_otg_qh_t *qh;
  	dwc_otg_qh_t *qh;
  	dwc_otg_transaction_type_e tr_type;
  	dwc_otg_transaction_type_e tr_type;
-@@ -732,8 +331,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
+@@ -732,8 +331,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
  			}
  			}
  		}
  		}
  	}
  	}
@@ -3779,7 +3756,7 @@ index 64d33a5..d3e2035 100644
  
  
  	tr_type = dwc_otg_hcd_select_transactions(hcd);
  	tr_type = dwc_otg_hcd_select_transactions(hcd);
  	if (tr_type != DWC_OTG_TRANSACTION_NONE) {
  	if (tr_type != DWC_OTG_TRANSACTION_NONE) {
-@@ -741,10 +340,11 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
+@@ -741,10 +340,11 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
  		did_something = 1;
  		did_something = 1;
  	}
  	}
  
  
@@ -3795,7 +3772,7 @@ index 64d33a5..d3e2035 100644
  	return 1;
  	return 1;
  }
  }
  
  
-@@ -1020,19 +620,21 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -1020,19 +620,21 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o
  {
  {
  	int i;
  	int i;
  	int retval = 0;
  	int retval = 0;
@@ -3822,7 +3799,7 @@ index 64d33a5..d3e2035 100644
  		local_fiq_enable();
  		local_fiq_enable();
  	}
  	}
  
  
-@@ -1076,9 +678,7 @@ static uint32_t get_actual_xfer_length(dwc_hc_t * hc,
+@@ -1076,9 +678,7 @@ static uint32_t get_actual_xfer_length(d
  				*short_read = (hctsiz.b.xfersize != 0);
  				*short_read = (hctsiz.b.xfersize != 0);
  			}
  			}
  		} else if (hc->qh->do_split) {
  		} else if (hc->qh->do_split) {
@@ -3833,7 +3810,7 @@ index 64d33a5..d3e2035 100644
  				length = qtd->ssplit_out_xfer_count;
  				length = qtd->ssplit_out_xfer_count;
  		} else {
  		} else {
  			length = hc->xfer_len;
  			length = hc->xfer_len;
-@@ -1325,19 +925,17 @@ static void release_channel(dwc_otg_hcd_t * hcd,
+@@ -1325,19 +925,17 @@ static void release_channel(dwc_otg_hcd_
  	int free_qtd;
  	int free_qtd;
  	dwc_irqflags_t flags;
  	dwc_irqflags_t flags;
  	dwc_spinlock_t *channel_lock = hcd->channel_lock;
  	dwc_spinlock_t *channel_lock = hcd->channel_lock;
@@ -3894,7 +3871,7 @@ index 64d33a5..d3e2035 100644
  	/* Try to queue more transfers now that there's a free channel. */
  	/* Try to queue more transfers now that there's a free channel. */
  	tr_type = dwc_otg_hcd_select_transactions(hcd);
  	tr_type = dwc_otg_hcd_select_transactions(hcd);
  	if (tr_type != DWC_OTG_TRANSACTION_NONE) {
  	if (tr_type != DWC_OTG_TRANSACTION_NONE) {
-@@ -1858,7 +1441,7 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd,
+@@ -1858,7 +1441,7 @@ static int32_t handle_hc_nak_intr(dwc_ot
  	switch(dwc_otg_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
  	switch(dwc_otg_hcd_get_pipe_type(&qtd->urb->pipe_info)) {
  		case UE_BULK:
  		case UE_BULK:
  		case UE_CONTROL:
  		case UE_CONTROL:
@@ -3903,7 +3880,7 @@ index 64d33a5..d3e2035 100644
  			hc->qh->nak_frame = dwc_otg_hcd_get_frame_number(hcd);
  			hc->qh->nak_frame = dwc_otg_hcd_get_frame_number(hcd);
  	}
  	}
  
  
-@@ -2074,7 +1657,7 @@ static int32_t handle_hc_nyet_intr(dwc_otg_hcd_t * hcd,
+@@ -2074,7 +1657,7 @@ static int32_t handle_hc_nyet_intr(dwc_o
  			// With the FIQ running we only ever see the failed NYET
  			// With the FIQ running we only ever see the failed NYET
  			if (dwc_full_frame_num(frnum) !=
  			if (dwc_full_frame_num(frnum) !=
  			    dwc_full_frame_num(hc->qh->sched_frame) ||
  			    dwc_full_frame_num(hc->qh->sched_frame) ||
@@ -3912,7 +3889,7 @@ index 64d33a5..d3e2035 100644
  				/*
  				/*
  				 * No longer in the same full speed frame.
  				 * No longer in the same full speed frame.
  				 * Treat this as a transaction error.
  				 * Treat this as a transaction error.
-@@ -2460,12 +2043,11 @@ static inline int halt_status_ok(dwc_otg_hcd_t * hcd,
+@@ -2460,12 +2043,11 @@ static inline int halt_status_ok(dwc_otg
  static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
  static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
  				      dwc_hc_t * hc,
  				      dwc_hc_t * hc,
  				      dwc_otg_hc_regs_t * hc_regs,
  				      dwc_otg_hc_regs_t * hc_regs,
@@ -3928,7 +3905,7 @@ index 64d33a5..d3e2035 100644
  	/* For core with OUT NAK enhancement, the flow for high-
  	/* For core with OUT NAK enhancement, the flow for high-
  	 * speed CONTROL/BULK OUT is handled a little differently.
  	 * speed CONTROL/BULK OUT is handled a little differently.
  	 */
  	 */
-@@ -2495,11 +2077,9 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
+@@ -2495,11 +2077,9 @@ static void handle_hc_chhltd_intr_dma(dw
  	}
  	}
  
  
  	/* Read the HCINTn register to determine the cause for the halt. */
  	/* Read the HCINTn register to determine the cause for the halt. */
@@ -3943,7 +3920,7 @@ index 64d33a5..d3e2035 100644
  
  
  	if (hcint.b.xfercomp) {
  	if (hcint.b.xfercomp) {
  		/** @todo This is here because of a possible hardware bug.  Spec
  		/** @todo This is here because of a possible hardware bug.  Spec
-@@ -2624,15 +2204,13 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
+@@ -2624,15 +2204,13 @@ static void handle_hc_chhltd_intr_dma(dw
  static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
  static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
  				     dwc_hc_t * hc,
  				     dwc_hc_t * hc,
  				     dwc_otg_hc_regs_t * hc_regs,
  				     dwc_otg_hc_regs_t * hc_regs,
@@ -3961,7 +3938,7 @@ index 64d33a5..d3e2035 100644
  	} else {
  	} else {
  #ifdef DEBUG
  #ifdef DEBUG
  		if (!halt_status_ok(hcd, hc, hc_regs, qtd)) {
  		if (!halt_status_ok(hcd, hc, hc_regs, qtd)) {
-@@ -2645,11 +2223,372 @@ static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
+@@ -2645,11 +2223,372 @@ static int32_t handle_hc_chhltd_intr(dwc
  	return 1;
  	return 1;
  }
  }
  
  
@@ -4335,7 +4312,7 @@ index 64d33a5..d3e2035 100644
  	hcintmsk_data_t hcintmsk;
  	hcintmsk_data_t hcintmsk;
  	dwc_hc_t *hc;
  	dwc_hc_t *hc;
  	dwc_otg_hc_regs_t *hc_regs;
  	dwc_otg_hc_regs_t *hc_regs;
-@@ -2668,24 +2607,32 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
+@@ -2668,24 +2607,32 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
  	}
  	}
  	qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list);
  	qtd = DWC_CIRCLEQ_FIRST(&hc->qh->qtd_list);
  
  
@@ -4383,7 +4360,7 @@ index 64d33a5..d3e2035 100644
  	if (!dwc_otg_hcd->core_if->dma_enable) {
  	if (!dwc_otg_hcd->core_if->dma_enable) {
  		if (hcint.b.chhltd && hcint.d32 != 0x2) {
  		if (hcint.b.chhltd && hcint.d32 != 0x2) {
  			hcint.b.chhltd = 0;
  			hcint.b.chhltd = 0;
-@@ -2703,7 +2650,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
+@@ -2703,7 +2650,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
  		hcint.b.nyet = 0;
  		hcint.b.nyet = 0;
  	}
  	}
  	if (hcint.b.chhltd) {
  	if (hcint.b.chhltd) {
@@ -4392,8 +4369,6 @@ index 64d33a5..d3e2035 100644
  	}
  	}
  	if (hcint.b.ahberr) {
  	if (hcint.b.ahberr) {
  		retval |= handle_hc_ahberr_intr(dwc_otg_hcd, hc, hc_regs, qtd);
  		retval |= handle_hc_ahberr_intr(dwc_otg_hcd, hc, hc_regs, qtd);
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
-index ee8eec9..07b1808 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
 @@ -58,6 +58,7 @@
 @@ -58,6 +58,7 @@
@@ -4423,7 +4398,7 @@ index ee8eec9..07b1808 100644
  
  
  /** @name Linux HC Driver API Functions */
  /** @name Linux HC Driver API Functions */
  /** @{ */
  /** @{ */
-@@ -351,7 +353,6 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
+@@ -351,7 +353,6 @@ static int _complete(dwc_otg_hcd_t * hcd
  					   urb);
  					   urb);
  		}
  		}
  	}
  	}
@@ -4431,7 +4406,7 @@ index ee8eec9..07b1808 100644
  	DWC_FREE(dwc_otg_urb);
  	DWC_FREE(dwc_otg_urb);
  	if (!new_entry) {
  	if (!new_entry) {
  		DWC_ERROR("dwc_otg_hcd: complete: cannot allocate URB TQ entry\n");
  		DWC_ERROR("dwc_otg_hcd: complete: cannot allocate URB TQ entry\n");
-@@ -395,13 +396,9 @@ static struct dwc_otg_hcd_function_ops hcd_fops = {
+@@ -395,13 +396,9 @@ static struct dwc_otg_hcd_function_ops h
  static struct fiq_handler fh = {
  static struct fiq_handler fh = {
    .name = "usb_fiq",
    .name = "usb_fiq",
  };
  };
@@ -4583,8 +4558,6 @@ index ee8eec9..07b1808 100644
  }
  }
  
  
  #ifdef DEBUG
  #ifdef DEBUG
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
-index db95851..8706a5c 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
 @@ -41,7 +41,6 @@
 @@ -41,7 +41,6 @@
@@ -4595,7 +4568,7 @@ index db95851..8706a5c 100644
  
  
  extern bool microframe_schedule;
  extern bool microframe_schedule;
  
  
-@@ -576,7 +575,6 @@ static int check_max_xfer_size(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -576,7 +575,6 @@ static int check_max_xfer_size(dwc_otg_h
  }
  }
  
  
  
  
@@ -4603,7 +4576,7 @@ index db95851..8706a5c 100644
  
  
  /**
  /**
   * Schedules an interrupt or isochronous transfer in the periodic schedule.
   * Schedules an interrupt or isochronous transfer in the periodic schedule.
-@@ -636,9 +634,9 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -636,9 +634,9 @@ static int schedule_periodic(dwc_otg_hcd
  		DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry);
  		DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry);
  	}
  	}
  	else {
  	else {
@@ -4615,7 +4588,7 @@ index db95851..8706a5c 100644
  
  
  		}
  		}
  		/* Always start in the inactive schedule. */
  		/* Always start in the inactive schedule. */
-@@ -679,7 +677,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -679,7 +677,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h
  		/* Always start in the inactive schedule. */
  		/* Always start in the inactive schedule. */
  		DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive,
  		DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive,
  				     &qh->qh_list_entry);
  				     &qh->qh_list_entry);
@@ -4624,7 +4597,7 @@ index db95851..8706a5c 100644
  	} else {
  	} else {
  		status = schedule_periodic(hcd, qh);
  		status = schedule_periodic(hcd, qh);
  		if ( !hcd->periodic_qh_count ) {
  		if ( !hcd->periodic_qh_count ) {
-@@ -739,13 +737,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -739,13 +737,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t
  			    hcd->non_periodic_qh_ptr->next;
  			    hcd->non_periodic_qh_ptr->next;
  		}
  		}
  		DWC_LIST_REMOVE_INIT(&qh->qh_list_entry);
  		DWC_LIST_REMOVE_INIT(&qh->qh_list_entry);
@@ -4641,7 +4614,7 @@ index db95851..8706a5c 100644
  			intr_mask.b.sofintr = 1;
  			intr_mask.b.sofintr = 1;
  				DWC_MODIFY_REG32(&hcd->core_if->core_global_regs->gintmsk,
  				DWC_MODIFY_REG32(&hcd->core_if->core_global_regs->gintmsk,
  									intr_mask.d32, 0);
  									intr_mask.d32, 0);
-@@ -770,28 +767,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
+@@ -770,28 +767,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
  			       int sched_next_periodic_split)
  			       int sched_next_periodic_split)
  {
  {
  	if (dwc_qh_is_non_per(qh)) {
  	if (dwc_qh_is_non_per(qh)) {
@@ -4671,7 +4644,7 @@ index db95851..8706a5c 100644
  		}
  		}
  	} else {
  	} else {
  		uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd);
  		uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd);
-@@ -850,9 +830,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
+@@ -850,9 +830,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
  				DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready,
  				DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready,
  						   &qh->qh_list_entry);
  						   &qh->qh_list_entry);
  			} else {
  			} else {
@@ -4683,7 +4656,7 @@ index db95851..8706a5c 100644
  				}
  				}
  
  
  				DWC_LIST_MOVE_HEAD
  				DWC_LIST_MOVE_HEAD
-@@ -943,6 +923,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd,
+@@ -943,6 +923,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * 
  		if (*qh == NULL) {
  		if (*qh == NULL) {
  			retval = -DWC_E_NO_MEMORY;
  			retval = -DWC_E_NO_MEMORY;
  			goto done;
  			goto done;
@@ -4693,9 +4666,6 @@ index db95851..8706a5c 100644
  		}
  		}
  	}
  	}
  	retval = dwc_otg_hcd_qh_add(hcd, *qh);
  	retval = dwc_otg_hcd_qh_add(hcd, *qh);
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
-deleted file mode 100755
-index 50b94a8..0000000
 --- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
 +++ /dev/null
 +++ /dev/null
 @@ -1,113 +0,0 @@
 @@ -1,113 +0,0 @@
@@ -4812,9 +4782,6 @@ index 50b94a8..0000000
 -
 -
 -	return;
 -	return;
 -}
 -}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
-deleted file mode 100755
-index ca17379..0000000
 --- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
 --- a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
 +++ /dev/null
 +++ /dev/null
 @@ -1,48 +0,0 @@
 @@ -1,48 +0,0 @@
@@ -4866,8 +4833,6 @@ index ca17379..0000000
 -extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable;
 -extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable;
 -
 -
 -#endif
 -#endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
-index 5d310df..4b32941 100644
 --- a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
 --- a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
 +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
 @@ -59,6 +59,8 @@
 @@ -59,6 +59,8 @@
@@ -4896,6 +4861,3 @@ index 5d310df..4b32941 100644
  		free_wrapper(gadget_wrapper);
  		free_wrapper(gadget_wrapper);
  		return -EBUSY;
  		return -EBUSY;
  	}
  	}
--- 
-1.9.1
-

+ 0 - 52
target/linux/brcm2708/patches-3.14/0030-bcm2835-add-v4l2-camera-device.patch

@@ -46,9 +46,6 @@ Signed-off-by: Luke Diamand <[email protected]>
  create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.c
  create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.c
  create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.h
  create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.h
 
 
-diff --git a/Documentation/video4linux/bcm2835-v4l2.txt b/Documentation/video4linux/bcm2835-v4l2.txt
-new file mode 100644
-index 0000000..c585a8f
 --- /dev/null
 --- /dev/null
 +++ b/Documentation/video4linux/bcm2835-v4l2.txt
 +++ b/Documentation/video4linux/bcm2835-v4l2.txt
 @@ -0,0 +1,60 @@
 @@ -0,0 +1,60 @@
@@ -112,8 +109,6 @@ index 0000000..c585a8f
 +List of available formats:
 +List of available formats:
 +
 +
 +$ v4l2-ctl --list-formats
 +$ v4l2-ctl --list-formats
-diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
-index b2a4403..c1f82ec 100644
 --- a/drivers/media/platform/Kconfig
 --- a/drivers/media/platform/Kconfig
 +++ b/drivers/media/platform/Kconfig
 +++ b/drivers/media/platform/Kconfig
 @@ -118,6 +118,7 @@ config VIDEO_S3C_CAMIF
 @@ -118,6 +118,7 @@ config VIDEO_S3C_CAMIF
@@ -124,8 +119,6 @@ index b2a4403..c1f82ec 100644
  
  
  endif # V4L_PLATFORM_DRIVERS
  endif # V4L_PLATFORM_DRIVERS
  
  
-diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
-index e5269da..6e01549 100644
 --- a/drivers/media/platform/Makefile
 --- a/drivers/media/platform/Makefile
 +++ b/drivers/media/platform/Makefile
 +++ b/drivers/media/platform/Makefile
 @@ -51,4 +51,6 @@ obj-y	+= davinci/
 @@ -51,4 +51,6 @@ obj-y	+= davinci/
@@ -135,9 +128,6 @@ index e5269da..6e01549 100644
 +obj-$(CONFIG_VIDEO_BCM2835)		+= bcm2835/
 +obj-$(CONFIG_VIDEO_BCM2835)		+= bcm2835/
 +
 +
  ccflags-y += -I$(srctree)/drivers/media/i2c
  ccflags-y += -I$(srctree)/drivers/media/i2c
-diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig
-new file mode 100644
-index 0000000..a8fd172
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/Kconfig
 +++ b/drivers/media/platform/bcm2835/Kconfig
 @@ -0,0 +1,25 @@
 @@ -0,0 +1,25 @@
@@ -166,9 +156,6 @@ index 0000000..a8fd172
 +
 +
 +
 +
 +endif # VIDEO_BM2835
 +endif # VIDEO_BM2835
-diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile
-new file mode 100644
-index 0000000..f17c79c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/Makefile
 +++ b/drivers/media/platform/bcm2835/Makefile
 @@ -0,0 +1,5 @@
 @@ -0,0 +1,5 @@
@@ -177,9 +164,6 @@ index 0000000..f17c79c
 +obj-$(CONFIG_VIDEO_BCM2835_MMAL) += bcm2835-v4l2.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
 +ccflags-$(CONFIG_VIDEO_BCM2835) += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
-diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
-new file mode 100644
-index 0000000..47fe45d
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
 @@ -0,0 +1,1478 @@
 @@ -0,0 +1,1478 @@
@@ -1661,9 +1645,6 @@ index 0000000..47fe45d
 +
 +
 +module_init(bm2835_mmal_init);
 +module_init(bm2835_mmal_init);
 +module_exit(bm2835_mmal_exit);
 +module_exit(bm2835_mmal_exit);
-diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h
-new file mode 100644
-index 0000000..883eab7
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
 @@ -0,0 +1,113 @@
 @@ -0,0 +1,113 @@
@@ -1780,9 +1761,6 @@ index 0000000..883eab7
 +		(pix_fmt)->pixelformat, (pix_fmt)->bytesperline,	\
 +		(pix_fmt)->pixelformat, (pix_fmt)->bytesperline,	\
 +		(pix_fmt)->sizeimage, (pix_fmt)->colorspace, (pix_fmt)->priv); \
 +		(pix_fmt)->sizeimage, (pix_fmt)->colorspace, (pix_fmt)->priv); \
 +}
 +}
-diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c
-new file mode 100644
-index 0000000..d1408e5
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/controls.c
 +++ b/drivers/media/platform/bcm2835/controls.c
 @@ -0,0 +1,725 @@
 @@ -0,0 +1,725 @@
@@ -2511,9 +2489,6 @@ index 0000000..d1408e5
 +
 +
 +	return 0;
 +	return 0;
 +}
 +}
-diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h
-new file mode 100644
-index 0000000..602b4a7
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-common.h
 +++ b/drivers/media/platform/bcm2835/mmal-common.h
 @@ -0,0 +1,52 @@
 @@ -0,0 +1,52 @@
@@ -2569,9 +2544,6 @@ index 0000000..602b4a7
 +	u32 v;
 +	u32 v;
 +};
 +};
 +
 +
-diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h
-new file mode 100644
-index 0000000..856e80e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-encodings.h
 +++ b/drivers/media/platform/bcm2835/mmal-encodings.h
 @@ -0,0 +1,93 @@
 @@ -0,0 +1,93 @@
@@ -2668,9 +2640,6 @@ index 0000000..856e80e
 +#define MMAL_ENCODING_VARIANT_H264_AVC1      MMAL_FOURCC('A', 'V', 'C', '1')
 +#define MMAL_ENCODING_VARIANT_H264_AVC1      MMAL_FOURCC('A', 'V', 'C', '1')
 +/** Implicitly delineated NAL units without emulation prevention */
 +/** Implicitly delineated NAL units without emulation prevention */
 +#define MMAL_ENCODING_VARIANT_H264_RAW       MMAL_FOURCC('R', 'A', 'W', ' ')
 +#define MMAL_ENCODING_VARIANT_H264_RAW       MMAL_FOURCC('R', 'A', 'W', ' ')
-diff --git a/drivers/media/platform/bcm2835/mmal-msg-common.h b/drivers/media/platform/bcm2835/mmal-msg-common.h
-new file mode 100644
-index 0000000..66e8a6e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-msg-common.h
 +++ b/drivers/media/platform/bcm2835/mmal-msg-common.h
 @@ -0,0 +1,50 @@
 @@ -0,0 +1,50 @@
@@ -2724,9 +2693,6 @@ index 0000000..66e8a6e
 +};
 +};
 +
 +
 +#endif /* MMAL_MSG_COMMON_H */
 +#endif /* MMAL_MSG_COMMON_H */
-diff --git a/drivers/media/platform/bcm2835/mmal-msg-format.h b/drivers/media/platform/bcm2835/mmal-msg-format.h
-new file mode 100644
-index 0000000..123d86e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-msg-format.h
 +++ b/drivers/media/platform/bcm2835/mmal-msg-format.h
 @@ -0,0 +1,81 @@
 @@ -0,0 +1,81 @@
@@ -2811,9 +2777,6 @@ index 0000000..123d86e
 +};
 +};
 +
 +
 +#endif /* MMAL_MSG_FORMAT_H */
 +#endif /* MMAL_MSG_FORMAT_H */
-diff --git a/drivers/media/platform/bcm2835/mmal-msg-port.h b/drivers/media/platform/bcm2835/mmal-msg-port.h
-new file mode 100644
-index 0000000..a55c1ea
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-msg-port.h
 +++ b/drivers/media/platform/bcm2835/mmal-msg-port.h
 @@ -0,0 +1,107 @@
 @@ -0,0 +1,107 @@
@@ -2924,9 +2887,6 @@ index 0000000..a55c1ea
 +			   */
 +			   */
 +
 +
 +};
 +};
-diff --git a/drivers/media/platform/bcm2835/mmal-msg.h b/drivers/media/platform/bcm2835/mmal-msg.h
-new file mode 100644
-index 0000000..67b1076
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-msg.h
 +++ b/drivers/media/platform/bcm2835/mmal-msg.h
 @@ -0,0 +1,404 @@
 @@ -0,0 +1,404 @@
@@ -3334,9 +3294,6 @@ index 0000000..67b1076
 +		u8 payload[MMAL_MSG_MAX_PAYLOAD];
 +		u8 payload[MMAL_MSG_MAX_PAYLOAD];
 +	} u;
 +	} u;
 +};
 +};
-diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h
-new file mode 100644
-index 0000000..c611b58
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-parameters.h
 +++ b/drivers/media/platform/bcm2835/mmal-parameters.h
 @@ -0,0 +1,539 @@
 @@ -0,0 +1,539 @@
@@ -3879,9 +3836,6 @@ index 0000000..c611b58
 +	u32 num_effect_params;
 +	u32 num_effect_params;
 +	u32 effect_parameter[MMAL_MAX_IMAGEFX_PARAMETERS];
 +	u32 effect_parameter[MMAL_MAX_IMAGEFX_PARAMETERS];
 +};
 +};
-diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c
-new file mode 100644
-index 0000000..a06fb44
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c
 +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c
 @@ -0,0 +1,1916 @@
 @@ -0,0 +1,1916 @@
@@ -5801,9 +5755,6 @@ index 0000000..a06fb44
 +	kfree(instance);
 +	kfree(instance);
 +	return -ENODEV;
 +	return -ENODEV;
 +}
 +}
-diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.h b/drivers/media/platform/bcm2835/mmal-vchiq.h
-new file mode 100644
-index 0000000..9d1d11e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/media/platform/bcm2835/mmal-vchiq.h
 +++ b/drivers/media/platform/bcm2835/mmal-vchiq.h
 @@ -0,0 +1,178 @@
 @@ -0,0 +1,178 @@
@@ -5985,6 +5936,3 @@ index 0000000..9d1d11e
 +			     struct mmal_buffer *buf);
 +			     struct mmal_buffer *buf);
 +
 +
 +#endif /* MMAL_VCHIQ_H */
 +#endif /* MMAL_VCHIQ_H */
--- 
-1.9.1
-

+ 41 - 60
target/linux/brcm2708/patches-3.14/0031-V4L2-Fixes-from-6by9.patch

@@ -230,8 +230,6 @@ Signed-off-by: Dave Stevenson <[email protected]>
  drivers/media/platform/bcm2835/mmal-vchiq.c      |   4 +-
  drivers/media/platform/bcm2835/mmal-vchiq.c      |   4 +-
  8 files changed, 1292 insertions(+), 178 deletions(-)
  8 files changed, 1292 insertions(+), 178 deletions(-)
 
 
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index e89e430..d70da44 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -694,6 +694,9 @@ CONFIG_DVB_B2C2_FLEXCOP_USB=m
 @@ -694,6 +694,9 @@ CONFIG_DVB_B2C2_FLEXCOP_USB=m
@@ -244,8 +242,6 @@ index e89e430..d70da44 100644
  CONFIG_RADIO_SI470X=y
  CONFIG_RADIO_SI470X=y
  CONFIG_USB_SI470X=m
  CONFIG_USB_SI470X=m
  CONFIG_I2C_SI470X=m
  CONFIG_I2C_SI470X=m
-diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
-index 47fe45d..f809b83 100644
 --- a/drivers/media/platform/bcm2835/bcm2835-camera.c
 --- a/drivers/media/platform/bcm2835/bcm2835-camera.c
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
 @@ -36,7 +36,8 @@
 @@ -36,7 +36,8 @@
@@ -413,7 +409,7 @@ index 47fe45d..f809b83 100644
  };
  };
  
  
  static struct mmal_fmt *get_format(struct v4l2_format *f)
  static struct mmal_fmt *get_format(struct v4l2_format *f)
-@@ -229,7 +336,8 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
+@@ -229,7 +336,8 @@ static void buffer_cb(struct vchiq_mmal_
  		}
  		}
  	} else {
  	} else {
  		if (dev->capture.frame_count) {
  		if (dev->capture.frame_count) {
@@ -423,7 +419,7 @@ index 47fe45d..f809b83 100644
  				s64 runtime_us = pts -
  				s64 runtime_us = pts -
  				    dev->capture.vc_start_timestamp;
  				    dev->capture.vc_start_timestamp;
  				u32 div = 0;
  				u32 div = 0;
-@@ -250,7 +358,7 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
+@@ -250,7 +358,7 @@ static void buffer_cb(struct vchiq_mmal_
  					    USEC_PER_SEC;
  					    USEC_PER_SEC;
  				}
  				}
  				v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
  				v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
@@ -432,7 +428,7 @@ index 47fe45d..f809b83 100644
  					 "with offset %llu to %d.%06d\n",
  					 "with offset %llu to %d.%06d\n",
  					 (int)dev->capture.kernel_start_ts.
  					 (int)dev->capture.kernel_start_ts.
  					 tv_sec,
  					 tv_sec,
-@@ -425,7 +533,15 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
+@@ -425,7 +533,15 @@ static int start_streaming(struct vb2_qu
  	    vchiq_mmal_port_enable(dev->instance, dev->capture.port, buffer_cb);
  	    vchiq_mmal_port_enable(dev->instance, dev->capture.port, buffer_cb);
  	if (ret) {
  	if (ret) {
  		v4l2_err(&dev->v4l2_dev,
  		v4l2_err(&dev->v4l2_dev,
@@ -449,7 +445,7 @@ index 47fe45d..f809b83 100644
  		return -1;
  		return -1;
  	}
  	}
  
  
-@@ -530,6 +646,7 @@ static int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv,
+@@ -530,6 +646,7 @@ static int vidioc_enum_fmt_vid_overlay(s
  
  
  	strlcpy(f->description, fmt->name, sizeof(f->description));
  	strlcpy(f->description, fmt->name, sizeof(f->description));
  	f->pixelformat = fmt->fourcc;
  	f->pixelformat = fmt->fourcc;
@@ -457,7 +453,7 @@ index 47fe45d..f809b83 100644
  
  
  	return 0;
  	return 0;
  }
  }
-@@ -647,10 +764,18 @@ static int vidioc_g_fbuf(struct file *file, void *fh,
+@@ -647,10 +764,18 @@ static int vidioc_g_fbuf(struct file *fi
  {
  {
  	/* The video overlay must stay within the framebuffer and can't be
  	/* The video overlay must stay within the framebuffer and can't be
  	   positioned independently. */
  	   positioned independently. */
@@ -479,7 +475,7 @@ index 47fe45d..f809b83 100644
  
  
  	return 0;
  	return 0;
  }
  }
-@@ -717,6 +842,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
+@@ -717,6 +842,8 @@ static int vidioc_enum_fmt_vid_cap(struc
  
  
  	strlcpy(f->description, fmt->name, sizeof(f->description));
  	strlcpy(f->description, fmt->name, sizeof(f->description));
  	f->pixelformat = fmt->fourcc;
  	f->pixelformat = fmt->fourcc;
@@ -488,7 +484,7 @@ index 47fe45d..f809b83 100644
  	return 0;
  	return 0;
  }
  }
  
  
-@@ -729,20 +856,13 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv,
+@@ -729,20 +856,13 @@ static int vidioc_g_fmt_vid_cap(struct f
  	f->fmt.pix.height = dev->capture.height;
  	f->fmt.pix.height = dev->capture.height;
  	f->fmt.pix.field = V4L2_FIELD_NONE;
  	f->fmt.pix.field = V4L2_FIELD_NONE;
  	f->fmt.pix.pixelformat = dev->capture.fmt->fourcc;
  	f->fmt.pix.pixelformat = dev->capture.fmt->fourcc;
@@ -514,7 +510,7 @@ index 47fe45d..f809b83 100644
  	f->fmt.pix.priv = 0;
  	f->fmt.pix.priv = 0;
  
  
  	v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
  	v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
-@@ -766,21 +886,35 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
+@@ -766,21 +886,35 @@ static int vidioc_try_fmt_vid_cap(struct
  	}
  	}
  
  
  	f->fmt.pix.field = V4L2_FIELD_NONE;
  	f->fmt.pix.field = V4L2_FIELD_NONE;
@@ -560,7 +556,7 @@ index 47fe45d..f809b83 100644
  	v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
  	v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
  			     __func__);
  			     __func__);
  	return 0;
  	return 0;
-@@ -818,8 +952,8 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -818,8 +952,8 @@ static int mmal_setup_components(struct 
  	switch (mfmt->mmal_component) {
  	switch (mfmt->mmal_component) {
  	case MMAL_COMPONENT_CAMERA:
  	case MMAL_COMPONENT_CAMERA:
  		/* Make a further decision on port based on resolution */
  		/* Make a further decision on port based on resolution */
@@ -571,7 +567,7 @@ index 47fe45d..f809b83 100644
  			camera_port = port =
  			camera_port = port =
  			    &dev->component[MMAL_COMPONENT_CAMERA]->
  			    &dev->component[MMAL_COMPONENT_CAMERA]->
  			    output[MMAL_CAMERA_PORT_VIDEO];
  			    output[MMAL_CAMERA_PORT_VIDEO];
-@@ -861,8 +995,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -861,8 +995,9 @@ static int mmal_setup_components(struct 
  	camera_port->es.video.crop.y = 0;
  	camera_port->es.video.crop.y = 0;
  	camera_port->es.video.crop.width = f->fmt.pix.width;
  	camera_port->es.video.crop.width = f->fmt.pix.width;
  	camera_port->es.video.crop.height = f->fmt.pix.height;
  	camera_port->es.video.crop.height = f->fmt.pix.height;
@@ -582,7 +578,7 @@ index 47fe45d..f809b83 100644
  
  
  	ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
  	ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
  
  
-@@ -896,8 +1031,10 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -896,8 +1031,10 @@ static int mmal_setup_components(struct 
  		preview_port->es.video.crop.y = 0;
  		preview_port->es.video.crop.y = 0;
  		preview_port->es.video.crop.width = f->fmt.pix.width;
  		preview_port->es.video.crop.width = f->fmt.pix.width;
  		preview_port->es.video.crop.height = f->fmt.pix.height;
  		preview_port->es.video.crop.height = f->fmt.pix.height;
@@ -595,7 +591,7 @@ index 47fe45d..f809b83 100644
  		ret = vchiq_mmal_port_set_format(dev->instance, preview_port);
  		ret = vchiq_mmal_port_set_format(dev->instance, preview_port);
  		if (overlay_enabled) {
  		if (overlay_enabled) {
  			ret = vchiq_mmal_port_connect_tunnel(
  			ret = vchiq_mmal_port_connect_tunnel(
-@@ -913,7 +1050,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -913,7 +1050,9 @@ static int mmal_setup_components(struct 
  
  
  	if (ret) {
  	if (ret) {
  		v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
  		v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
@@ -606,7 +602,7 @@ index 47fe45d..f809b83 100644
  		/* ensure capture is not going to be tried */
  		/* ensure capture is not going to be tried */
  		dev->capture.port = NULL;
  		dev->capture.port = NULL;
  	} else {
  	} else {
-@@ -927,69 +1066,91 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -927,69 +1066,91 @@ static int mmal_setup_components(struct 
  			camera_port->current_buffer.num =
  			camera_port->current_buffer.num =
  			    camera_port->recommended_buffer.num;
  			    camera_port->recommended_buffer.num;
  
  
@@ -752,7 +748,7 @@ index 47fe45d..f809b83 100644
  			}
  			}
  		} else {
  		} else {
  			/* configure buffering */
  			/* configure buffering */
-@@ -1001,13 +1162,20 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -1001,13 +1162,20 @@ static int mmal_setup_components(struct 
  		if (!ret) {
  		if (!ret) {
  			dev->capture.fmt = mfmt;
  			dev->capture.fmt = mfmt;
  			dev->capture.stride = f->fmt.pix.bytesperline;
  			dev->capture.stride = f->fmt.pix.bytesperline;
@@ -775,7 +771,7 @@ index 47fe45d..f809b83 100644
  		}
  		}
  	}
  	}
  
  
-@@ -1048,14 +1216,115 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
+@@ -1048,14 +1216,115 @@ static int vidioc_s_fmt_vid_cap(struct f
  	}
  	}
  
  
  	ret = mmal_setup_components(dev, f);
  	ret = mmal_setup_components(dev, f);
@@ -892,7 +888,7 @@ index 47fe45d..f809b83 100644
  static const struct v4l2_ioctl_ops camera0_ioctl_ops = {
  static const struct v4l2_ioctl_ops camera0_ioctl_ops = {
  	/* overlay */
  	/* overlay */
  	.vidioc_enum_fmt_vid_overlay = vidioc_enum_fmt_vid_overlay,
  	.vidioc_enum_fmt_vid_overlay = vidioc_enum_fmt_vid_overlay,
-@@ -1084,6 +1353,51 @@ static const struct v4l2_ioctl_ops camera0_ioctl_ops = {
+@@ -1084,6 +1353,51 @@ static const struct v4l2_ioctl_ops camer
  	.vidioc_querybuf = vb2_ioctl_querybuf,
  	.vidioc_querybuf = vb2_ioctl_querybuf,
  	.vidioc_qbuf = vb2_ioctl_qbuf,
  	.vidioc_qbuf = vb2_ioctl_qbuf,
  	.vidioc_dqbuf = vb2_ioctl_dqbuf,
  	.vidioc_dqbuf = vb2_ioctl_dqbuf,
@@ -944,7 +940,7 @@ index 47fe45d..f809b83 100644
  	.vidioc_streamon = vb2_ioctl_streamon,
  	.vidioc_streamon = vb2_ioctl_streamon,
  	.vidioc_streamoff = vb2_ioctl_streamoff,
  	.vidioc_streamoff = vb2_ioctl_streamoff,
  
  
-@@ -1122,8 +1436,10 @@ static int set_camera_parameters(struct vchiq_mmal_instance *instance,
+@@ -1122,8 +1436,10 @@ static int set_camera_parameters(struct 
  		.max_stills_h = MAX_HEIGHT,
  		.max_stills_h = MAX_HEIGHT,
  		.stills_yuv422 = 1,
  		.stills_yuv422 = 1,
  		.one_shot_stills = 1,
  		.one_shot_stills = 1,
@@ -957,7 +953,7 @@ index 47fe45d..f809b83 100644
  		.num_preview_video_frames = 3,
  		.num_preview_video_frames = 3,
  		.stills_capture_circular_buffer_height = 0,
  		.stills_capture_circular_buffer_height = 0,
  		.fast_preview_resume = 0,
  		.fast_preview_resume = 0,
-@@ -1141,6 +1457,7 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1141,6 +1457,7 @@ static int __init mmal_init(struct bm283
  {
  {
  	int ret;
  	int ret;
  	struct mmal_es_format *format;
  	struct mmal_es_format *format;
@@ -965,7 +961,7 @@ index 47fe45d..f809b83 100644
  
  
  	ret = vchiq_mmal_init(&dev->instance);
  	ret = vchiq_mmal_init(&dev->instance);
  	if (ret < 0)
  	if (ret < 0)
-@@ -1176,8 +1493,8 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1176,8 +1493,8 @@ static int __init mmal_init(struct bm283
  	format->es->video.crop.y = 0;
  	format->es->video.crop.y = 0;
  	format->es->video.crop.width = 1024;
  	format->es->video.crop.width = 1024;
  	format->es->video.crop.height = 768;
  	format->es->video.crop.height = 768;
@@ -976,7 +972,7 @@ index 47fe45d..f809b83 100644
  
  
  	format =
  	format =
  	    &dev->component[MMAL_COMPONENT_CAMERA]->
  	    &dev->component[MMAL_COMPONENT_CAMERA]->
-@@ -1192,8 +1509,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1192,8 +1509,14 @@ static int __init mmal_init(struct bm283
  	format->es->video.crop.y = 0;
  	format->es->video.crop.y = 0;
  	format->es->video.crop.width = 1024;
  	format->es->video.crop.width = 1024;
  	format->es->video.crop.height = 768;
  	format->es->video.crop.height = 768;
@@ -993,7 +989,7 @@ index 47fe45d..f809b83 100644
  
  
  	format =
  	format =
  	    &dev->component[MMAL_COMPONENT_CAMERA]->
  	    &dev->component[MMAL_COMPONENT_CAMERA]->
-@@ -1207,13 +1530,22 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1207,13 +1530,22 @@ static int __init mmal_init(struct bm283
  	format->es->video.crop.y = 0;
  	format->es->video.crop.y = 0;
  	format->es->video.crop.width = 2592;
  	format->es->video.crop.width = 2592;
  	format->es->video.crop.height = 1944;
  	format->es->video.crop.height = 1944;
@@ -1017,7 +1013,7 @@ index 47fe45d..f809b83 100644
  
  
  	/* get the preview component ready */
  	/* get the preview component ready */
  	ret = vchiq_mmal_component_init(
  	ret = vchiq_mmal_component_init(
-@@ -1260,6 +1592,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1260,6 +1592,14 @@ static int __init mmal_init(struct bm283
  	}
  	}
  
  
  	{
  	{
@@ -1032,7 +1028,7 @@ index 47fe45d..f809b83 100644
  		unsigned int enable = 1;
  		unsigned int enable = 1;
  		vchiq_mmal_port_parameter_set(
  		vchiq_mmal_port_parameter_set(
  			dev->instance,
  			dev->instance,
-@@ -1312,6 +1652,11 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
+@@ -1312,6 +1652,11 @@ static int __init bm2835_mmal_init_devic
  	int ret;
  	int ret;
  
  
  	*vfd = vdev_template;
  	*vfd = vdev_template;
@@ -1044,7 +1040,7 @@ index 47fe45d..f809b83 100644
  
  
  	vfd->v4l2_dev = &dev->v4l2_dev;
  	vfd->v4l2_dev = &dev->v4l2_dev;
  
  
-@@ -1328,8 +1673,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
+@@ -1328,8 +1673,9 @@ static int __init bm2835_mmal_init_devic
  	if (ret < 0)
  	if (ret < 0)
  		return ret;
  		return ret;
  
  
@@ -1056,7 +1052,7 @@ index 47fe45d..f809b83 100644
  
  
  	return 0;
  	return 0;
  }
  }
-@@ -1337,9 +1683,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
+@@ -1337,9 +1683,9 @@ static int __init bm2835_mmal_init_devic
  static struct v4l2_format default_v4l2_format = {
  static struct v4l2_format default_v4l2_format = {
  	.fmt.pix.pixelformat = V4L2_PIX_FMT_JPEG,
  	.fmt.pix.pixelformat = V4L2_PIX_FMT_JPEG,
  	.fmt.pix.width = 1024,
  	.fmt.pix.width = 1024,
@@ -1078,8 +1074,6 @@ index 47fe45d..f809b83 100644
  	ret = mmal_setup_components(dev, &default_v4l2_format);
  	ret = mmal_setup_components(dev, &default_v4l2_format);
  	if (ret < 0) {
  	if (ret < 0) {
  		v4l2_err(&dev->v4l2_dev,
  		v4l2_err(&dev->v4l2_dev,
-diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h
-index 883eab7..7fe9f65 100644
 --- a/drivers/media/platform/bcm2835/bcm2835-camera.h
 --- a/drivers/media/platform/bcm2835/bcm2835-camera.h
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
 +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
 @@ -15,7 +15,7 @@
 @@ -15,7 +15,7 @@
@@ -1149,8 +1143,6 @@ index 883eab7..7fe9f65 100644
  
  
  /* Debug helpers */
  /* Debug helpers */
  
  
-diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c
-index d1408e5..3017b94 100644
 --- a/drivers/media/platform/bcm2835/controls.c
 --- a/drivers/media/platform/bcm2835/controls.c
 +++ b/drivers/media/platform/bcm2835/controls.c
 +++ b/drivers/media/platform/bcm2835/controls.c
 @@ -30,11 +30,23 @@
 @@ -30,11 +30,23 @@
@@ -1209,7 +1201,7 @@ index d1408e5..3017b94 100644
  };
  };
  
  
  struct v4l2_to_mmal_effects_setting {
  struct v4l2_to_mmal_effects_setting {
-@@ -126,6 +145,25 @@ static const struct v4l2_to_mmal_effects_setting
+@@ -126,6 +145,25 @@ static const struct v4l2_to_mmal_effects
  		1,   1,    0,    0,   0, {0, 0, 0, 0, 0} }
  		1,   1,    0,    0,   0, {0, 0, 0, 0, 0} }
  };
  };
  
  
@@ -1235,7 +1227,7 @@ index d1408e5..3017b94 100644
  
  
  /* control handlers*/
  /* control handlers*/
  
  
-@@ -133,10 +171,7 @@ static int ctrl_set_rational(struct bm2835_mmal_dev *dev,
+@@ -133,10 +171,7 @@ static int ctrl_set_rational(struct bm28
  		      struct v4l2_ctrl *ctrl,
  		      struct v4l2_ctrl *ctrl,
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  {
  {
@@ -1247,7 +1239,7 @@ index d1408e5..3017b94 100644
  	struct vchiq_mmal_port *control;
  	struct vchiq_mmal_port *control;
  
  
  	control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
  	control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
-@@ -166,6 +201,41 @@ static int ctrl_set_value(struct bm2835_mmal_dev *dev,
+@@ -166,6 +201,41 @@ static int ctrl_set_value(struct bm2835_
  					     &u32_value, sizeof(u32_value));
  					     &u32_value, sizeof(u32_value));
  }
  }
  
  
@@ -1289,7 +1281,7 @@ index d1408e5..3017b94 100644
  static int ctrl_set_rotate(struct bm2835_mmal_dev *dev,
  static int ctrl_set_rotate(struct bm2835_mmal_dev *dev,
  		      struct v4l2_ctrl *ctrl,
  		      struct v4l2_ctrl *ctrl,
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
-@@ -245,37 +315,97 @@ static int ctrl_set_exposure(struct bm2835_mmal_dev *dev,
+@@ -245,37 +315,97 @@ static int ctrl_set_exposure(struct bm28
  		      struct v4l2_ctrl *ctrl,
  		      struct v4l2_ctrl *ctrl,
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  {
  {
@@ -1399,7 +1391,7 @@ index d1408e5..3017b94 100644
  			   struct v4l2_ctrl *ctrl,
  			   struct v4l2_ctrl *ctrl,
  			   const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  			   const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  {
  {
-@@ -285,24 +415,18 @@ static int ctrl_set_metering_mode(struct bm2835_mmal_dev *dev,
+@@ -285,24 +415,18 @@ static int ctrl_set_metering_mode(struct
  	control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
  	control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
  
  
  	switch (ctrl->val) {
  	switch (ctrl->val) {
@@ -1432,7 +1424,7 @@ index d1408e5..3017b94 100644
  	}
  	}
  
  
  	return vchiq_mmal_port_parameter_set(dev->instance, control,
  	return vchiq_mmal_port_parameter_set(dev->instance, control,
-@@ -367,6 +491,29 @@ static int ctrl_set_awb_mode(struct bm2835_mmal_dev *dev,
+@@ -367,6 +491,29 @@ static int ctrl_set_awb_mode(struct bm28
  					     &u32_value, sizeof(u32_value));
  					     &u32_value, sizeof(u32_value));
  }
  }
  
  
@@ -1462,7 +1454,7 @@ index d1408e5..3017b94 100644
  static int ctrl_set_image_effect(struct bm2835_mmal_dev *dev,
  static int ctrl_set_image_effect(struct bm2835_mmal_dev *dev,
  		   struct v4l2_ctrl *ctrl,
  		   struct v4l2_ctrl *ctrl,
  		   const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  		   const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
-@@ -443,8 +590,8 @@ static int ctrl_set_colfx(struct bm2835_mmal_dev *dev,
+@@ -443,8 +590,8 @@ static int ctrl_set_colfx(struct bm2835_
  					&dev->colourfx, sizeof(dev->colourfx));
  					&dev->colourfx, sizeof(dev->colourfx));
  
  
  	v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
  	v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
@@ -1473,7 +1465,7 @@ index d1408e5..3017b94 100644
  			(ret == 0 ? 0 : -EINVAL));
  			(ret == 0 ? 0 : -EINVAL));
  	return (ret == 0 ? 0 : EINVAL);
  	return (ret == 0 ? 0 : EINVAL);
  }
  }
-@@ -494,7 +641,7 @@ static int ctrl_set_bitrate_mode(struct bm2835_mmal_dev *dev,
+@@ -494,7 +641,7 @@ static int ctrl_set_bitrate_mode(struct 
  	return 0;
  	return 0;
  }
  }
  
  
@@ -1482,7 +1474,7 @@ index d1408e5..3017b94 100644
  		      struct v4l2_ctrl *ctrl,
  		      struct v4l2_ctrl *ctrl,
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  		      const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
  {
  {
-@@ -510,12 +657,247 @@ static int ctrl_set_q_factor(struct bm2835_mmal_dev *dev,
+@@ -510,12 +657,247 @@ static int ctrl_set_q_factor(struct bm28
  					     &u32_value, sizeof(u32_value));
  					     &u32_value, sizeof(u32_value));
  }
  }
  
  
@@ -1730,7 +1722,7 @@ index d1408e5..3017b94 100644
  
  
  	if ((mmal_ctrl == NULL) ||
  	if ((mmal_ctrl == NULL) ||
  	    (mmal_ctrl->id != ctrl->id) ||
  	    (mmal_ctrl->id != ctrl->id) ||
-@@ -524,7 +906,13 @@ static int bm2835_mmal_s_ctrl(struct v4l2_ctrl *ctrl)
+@@ -524,7 +906,13 @@ static int bm2835_mmal_s_ctrl(struct v4l
  		return -EINVAL;
  		return -EINVAL;
  	}
  	}
  
  
@@ -1745,7 +1737,7 @@ index d1408e5..3017b94 100644
  }
  }
  
  
  static const struct v4l2_ctrl_ops bm2835_mmal_ctrl_ops = {
  static const struct v4l2_ctrl_ops bm2835_mmal_ctrl_ops = {
-@@ -537,40 +925,54 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = {
+@@ -537,40 +925,54 @@ static const struct bm2835_mmal_v4l2_ctr
  	{
  	{
  		V4L2_CID_SATURATION, MMAL_CONTROL_TYPE_STD,
  		V4L2_CID_SATURATION, MMAL_CONTROL_TYPE_STD,
  		-100, 100, 0, 1, NULL,
  		-100, 100, 0, 1, NULL,
@@ -1809,7 +1801,7 @@ index d1408e5..3017b94 100644
  	},
  	},
  /* todo this needs mixing in with set exposure
  /* todo this needs mixing in with set exposure
  	{
  	{
-@@ -578,83 +980,258 @@ static const struct bm2835_mmal_v4l2_ctrl v4l2_ctrls[V4L2_CTRL_COUNT] = {
+@@ -578,83 +980,258 @@ static const struct bm2835_mmal_v4l2_ctr
  	},
  	},
   */
   */
  	{
  	{
@@ -2083,7 +2075,7 @@ index d1408e5..3017b94 100644
  int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev,
  int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev,
  			      struct v4l2_ctrl_handler *hdl)
  			      struct v4l2_ctrl_handler *hdl)
  {
  {
-@@ -674,10 +1251,30 @@ int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev,
+@@ -674,10 +1251,30 @@ int bm2835_mmal_init_controls(struct bm2
  			break;
  			break;
  
  
  		case MMAL_CONTROL_TYPE_STD_MENU:
  		case MMAL_CONTROL_TYPE_STD_MENU:
@@ -2115,8 +2107,6 @@ index d1408e5..3017b94 100644
  
  
  		case MMAL_CONTROL_TYPE_INT_MENU:
  		case MMAL_CONTROL_TYPE_INT_MENU:
  			dev->ctrls[c] = v4l2_ctrl_new_int_menu(hdl,
  			dev->ctrls[c] = v4l2_ctrl_new_int_menu(hdl,
-diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h
-index 602b4a7..076f9a8 100644
 --- a/drivers/media/platform/bcm2835/mmal-common.h
 --- a/drivers/media/platform/bcm2835/mmal-common.h
 +++ b/drivers/media/platform/bcm2835/mmal-common.h
 +++ b/drivers/media/platform/bcm2835/mmal-common.h
 @@ -26,6 +26,7 @@
 @@ -26,6 +26,7 @@
@@ -2127,8 +2117,6 @@ index 602b4a7..076f9a8 100644
  	u32   mmal;
  	u32   mmal;
  	int   depth;
  	int   depth;
  	u32   mmal_component;  /* MMAL component index to be used to encode */
  	u32   mmal_component;  /* MMAL component index to be used to encode */
-diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h
-index 856e80e..024d620 100644
 --- a/drivers/media/platform/bcm2835/mmal-encodings.h
 --- a/drivers/media/platform/bcm2835/mmal-encodings.h
 +++ b/drivers/media/platform/bcm2835/mmal-encodings.h
 +++ b/drivers/media/platform/bcm2835/mmal-encodings.h
 @@ -12,6 +12,8 @@
 @@ -12,6 +12,8 @@
@@ -2183,8 +2171,6 @@ index 856e80e..024d620 100644
 +/* @} MmalColorSpace List */
 +/* @} MmalColorSpace List */
 +
 +
 +#endif /* MMAL_ENCODINGS_H */
 +#endif /* MMAL_ENCODINGS_H */
-diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h
-index c611b58..aa0fd18 100644
 --- a/drivers/media/platform/bcm2835/mmal-parameters.h
 --- a/drivers/media/platform/bcm2835/mmal-parameters.h
 +++ b/drivers/media/platform/bcm2835/mmal-parameters.h
 +++ b/drivers/media/platform/bcm2835/mmal-parameters.h
 @@ -57,7 +57,8 @@ enum mmal_parameter_common_type {
 @@ -57,7 +57,8 @@ enum mmal_parameter_common_type {
@@ -2211,7 +2197,7 @@ index c611b58..aa0fd18 100644
  };
  };
  
  
  enum mmal_parameter_camera_config_timestamp_mode {
  enum mmal_parameter_camera_config_timestamp_mode {
-@@ -176,6 +184,14 @@ enum mmal_parameter_camera_config_timestamp_mode {
+@@ -176,6 +184,14 @@ enum mmal_parameter_camera_config_timest
  					      */
  					      */
  };
  };
  
  
@@ -2350,11 +2336,9 @@ index c611b58..aa0fd18 100644
  };
  };
  
  
  /** Valid mirror modes */
  /** Valid mirror modes */
-diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c
-index a06fb44..76f249e 100644
 --- a/drivers/media/platform/bcm2835/mmal-vchiq.c
 --- a/drivers/media/platform/bcm2835/mmal-vchiq.c
 +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c
 +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c
-@@ -742,7 +742,7 @@ static int send_synchronous_mmal_msg(struct vchiq_mmal_instance *instance,
+@@ -742,7 +742,7 @@ static int send_synchronous_mmal_msg(str
  		return ret;
  		return ret;
  	}
  	}
  
  
@@ -2363,7 +2347,7 @@ index a06fb44..76f249e 100644
  	if (ret <= 0) {
  	if (ret <= 0) {
  		pr_err("error %d waiting for sync completion\n", ret);
  		pr_err("error %d waiting for sync completion\n", ret);
  		if (ret == 0)
  		if (ret == 0)
-@@ -1326,7 +1326,7 @@ static int port_parameter_get(struct vchiq_mmal_instance *instance,
+@@ -1326,7 +1326,7 @@ static int port_parameter_get(struct vch
  		memcpy(value, &rmsg->u.port_parameter_get_reply.value,
  		memcpy(value, &rmsg->u.port_parameter_get_reply.value,
  		       rmsg->u.port_parameter_get_reply.size);
  		       rmsg->u.port_parameter_get_reply.size);
  
  
@@ -2372,6 +2356,3 @@ index a06fb44..76f249e 100644
  	        ret, port->component->handle, port->handle, parameter_id);
  	        ret, port->component->handle, port->handle, parameter_id);
  
  
  release_msg:
  release_msg:
--- 
-1.9.1
-

+ 15 - 26
target/linux/brcm2708/patches-3.14/0032-snd-bcm2835-Add-support-for-spdif-hdmi-passthrough.patch

@@ -14,8 +14,6 @@ support the AES parameters for this device.
  sound/arm/bcm2835.h     |   9 ++++
  sound/arm/bcm2835.h     |   9 ++++
  4 files changed, 250 insertions(+), 19 deletions(-)
  4 files changed, 250 insertions(+), 19 deletions(-)
 
 
-diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c
-index 8c5334a..aad905f 100755
 --- a/sound/arm/bcm2835-ctl.c
 --- a/sound/arm/bcm2835-ctl.c
 +++ b/sound/arm/bcm2835-ctl.c
 +++ b/sound/arm/bcm2835-ctl.c
 @@ -30,6 +30,7 @@
 @@ -30,6 +30,7 @@
@@ -26,7 +24,7 @@ index 8c5334a..aad905f 100755
  
  
  #include "bcm2835.h"
  #include "bcm2835.h"
  
  
-@@ -183,6 +184,122 @@ static struct snd_kcontrol_new snd_bcm2835_ctl[] = {
+@@ -183,6 +184,122 @@ static struct snd_kcontrol_new snd_bcm28
  	},
  	},
  };
  };
  
  
@@ -149,7 +147,7 @@ index 8c5334a..aad905f 100755
  int snd_bcm2835_new_ctl(bcm2835_chip_t * chip)
  int snd_bcm2835_new_ctl(bcm2835_chip_t * chip)
  {
  {
  	int err;
  	int err;
-@@ -196,5 +313,11 @@ int snd_bcm2835_new_ctl(bcm2835_chip_t * chip)
+@@ -196,5 +313,11 @@ int snd_bcm2835_new_ctl(bcm2835_chip_t *
  		if (err < 0)
  		if (err < 0)
  			return err;
  			return err;
  	}
  	}
@@ -161,8 +159,6 @@ index 8c5334a..aad905f 100755
 +	}
 +	}
  	return 0;
  	return 0;
  }
  }
-diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c
-index b4084bb..ebd3f62 100755
 --- a/sound/arm/bcm2835-pcm.c
 --- a/sound/arm/bcm2835-pcm.c
 +++ b/sound/arm/bcm2835-pcm.c
 +++ b/sound/arm/bcm2835-pcm.c
 @@ -15,6 +15,8 @@
 @@ -15,6 +15,8 @@
@@ -174,7 +170,7 @@ index b4084bb..ebd3f62 100755
  #include "bcm2835.h"
  #include "bcm2835.h"
  
  
  /* hardware definition */
  /* hardware definition */
-@@ -34,6 +36,23 @@ static struct snd_pcm_hardware snd_bcm2835_playback_hw = {
+@@ -34,6 +36,23 @@ static struct snd_pcm_hardware snd_bcm28
  	.periods_max = 128,
  	.periods_max = 128,
  };
  };
  
  
@@ -198,7 +194,7 @@ index b4084bb..ebd3f62 100755
  static void snd_bcm2835_playback_free(struct snd_pcm_runtime *runtime)
  static void snd_bcm2835_playback_free(struct snd_pcm_runtime *runtime)
  {
  {
  	audio_info("Freeing up alsa stream here ..\n");
  	audio_info("Freeing up alsa stream here ..\n");
-@@ -89,7 +108,8 @@ static irqreturn_t bcm2835_playback_fifo_irq(int irq, void *dev_id)
+@@ -89,7 +108,8 @@ static irqreturn_t bcm2835_playback_fifo
  }
  }
  
  
  /* open callback */
  /* open callback */
@@ -208,7 +204,7 @@ index b4084bb..ebd3f62 100755
  {
  {
  	bcm2835_chip_t *chip = snd_pcm_substream_chip(substream);
  	bcm2835_chip_t *chip = snd_pcm_substream_chip(substream);
  	struct snd_pcm_runtime *runtime = substream->runtime;
  	struct snd_pcm_runtime *runtime = substream->runtime;
-@@ -102,6 +122,11 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream)
+@@ -102,6 +122,11 @@ static int snd_bcm2835_playback_open(str
  	audio_info("Alsa open (%d)\n", substream->number);
  	audio_info("Alsa open (%d)\n", substream->number);
  	idx = substream->number;
  	idx = substream->number;
  
  
@@ -220,7 +216,7 @@ index b4084bb..ebd3f62 100755
  	if (idx > MAX_SUBSTREAMS) {
  	if (idx > MAX_SUBSTREAMS) {
  		audio_error
  		audio_error
  		    ("substream(%d) device doesn't exist max(%d) substreams allowed\n",
  		    ("substream(%d) device doesn't exist max(%d) substreams allowed\n",
-@@ -143,13 +168,20 @@ static int snd_bcm2835_playback_open(struct snd_pcm_substream *substream)
+@@ -143,13 +168,20 @@ static int snd_bcm2835_playback_open(str
  	}
  	}
  	runtime->private_data = alsa_stream;
  	runtime->private_data = alsa_stream;
  	runtime->private_free = snd_bcm2835_playback_free;
  	runtime->private_free = snd_bcm2835_playback_free;
@@ -259,7 +255,7 @@ index b4084bb..ebd3f62 100755
  /* close callback */
  /* close callback */
  static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream)
  static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream)
  {
  {
-@@ -166,6 +208,7 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream)
+@@ -166,6 +208,7 @@ static int snd_bcm2835_playback_close(st
  
  
  	struct snd_pcm_runtime *runtime = substream->runtime;
  	struct snd_pcm_runtime *runtime = substream->runtime;
  	bcm2835_alsa_stream_t *alsa_stream = runtime->private_data;
  	bcm2835_alsa_stream_t *alsa_stream = runtime->private_data;
@@ -267,7 +263,7 @@ index b4084bb..ebd3f62 100755
  
  
  	audio_info(" .. IN\n");
  	audio_info(" .. IN\n");
  	audio_info("Alsa close\n");
  	audio_info("Alsa close\n");
-@@ -196,6 +239,8 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream)
+@@ -196,6 +239,8 @@ static int snd_bcm2835_playback_close(st
  	 * runtime->private_free callback we registered in *_open above
  	 * runtime->private_free callback we registered in *_open above
  	 */
  	 */
  
  
@@ -276,7 +272,7 @@ index b4084bb..ebd3f62 100755
  	audio_info(" .. OUT\n");
  	audio_info(" .. OUT\n");
  
  
  	return 0;
  	return 0;
-@@ -205,10 +250,9 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream)
+@@ -205,10 +250,9 @@ static int snd_bcm2835_playback_close(st
  static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream,
  static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream,
  				     struct snd_pcm_hw_params *params)
  				     struct snd_pcm_hw_params *params)
  {
  {
@@ -289,7 +285,7 @@ index b4084bb..ebd3f62 100755
  
  
  	audio_info(" .. IN\n");
  	audio_info(" .. IN\n");
  
  
-@@ -219,19 +263,9 @@ static int snd_bcm2835_pcm_hw_params(struct snd_pcm_substream *substream,
+@@ -219,19 +263,9 @@ static int snd_bcm2835_pcm_hw_params(str
  		return err;
  		return err;
  	}
  	}
  
  
@@ -312,7 +308,7 @@ index b4084bb..ebd3f62 100755
  	audio_info(" .. OUT\n");
  	audio_info(" .. OUT\n");
  
  
  	return err;
  	return err;
-@@ -247,11 +281,35 @@ static int snd_bcm2835_pcm_hw_free(struct snd_pcm_substream *substream)
+@@ -247,11 +281,35 @@ static int snd_bcm2835_pcm_hw_free(struc
  /* prepare callback */
  /* prepare callback */
  static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
  static int snd_bcm2835_pcm_prepare(struct snd_pcm_substream *substream)
  {
  {
@@ -348,7 +344,7 @@ index b4084bb..ebd3f62 100755
  	memset(&alsa_stream->pcm_indirect, 0, sizeof(alsa_stream->pcm_indirect));
  	memset(&alsa_stream->pcm_indirect, 0, sizeof(alsa_stream->pcm_indirect));
  
  
  	alsa_stream->pcm_indirect.hw_buffer_size =
  	alsa_stream->pcm_indirect.hw_buffer_size =
-@@ -392,6 +450,18 @@ static struct snd_pcm_ops snd_bcm2835_playback_ops = {
+@@ -392,6 +450,18 @@ static struct snd_pcm_ops snd_bcm2835_pl
  	.ack = snd_bcm2835_pcm_ack,
  	.ack = snd_bcm2835_pcm_ack,
  };
  };
  
  
@@ -367,7 +363,7 @@ index b4084bb..ebd3f62 100755
  /* create a pcm device */
  /* create a pcm device */
  int snd_bcm2835_new_pcm(bcm2835_chip_t * chip)
  int snd_bcm2835_new_pcm(bcm2835_chip_t * chip)
  {
  {
-@@ -424,3 +494,25 @@ int snd_bcm2835_new_pcm(bcm2835_chip_t * chip)
+@@ -424,3 +494,25 @@ int snd_bcm2835_new_pcm(bcm2835_chip_t *
  
  
  	return 0;
  	return 0;
  }
  }
@@ -393,11 +389,9 @@ index b4084bb..ebd3f62 100755
 +
 +
 +	return 0;
 +	return 0;
 +}
 +}
-diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c
-index e2047a7..4136760 100755
 --- a/sound/arm/bcm2835.c
 --- a/sound/arm/bcm2835.c
 +++ b/sound/arm/bcm2835.c
 +++ b/sound/arm/bcm2835.c
-@@ -104,7 +104,7 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev)
+@@ -104,7 +104,7 @@ static int snd_bcm2835_alsa_probe(struct
  		goto out;
  		goto out;
  
  
  	snd_card_set_dev(g_card, &pdev->dev);
  	snd_card_set_dev(g_card, &pdev->dev);
@@ -406,7 +400,7 @@ index e2047a7..4136760 100755
  	strcpy(g_card->shortname, "bcm2835 ALSA");
  	strcpy(g_card->shortname, "bcm2835 ALSA");
  	sprintf(g_card->longname, "%s", g_card->shortname);
  	sprintf(g_card->longname, "%s", g_card->shortname);
  
  
-@@ -121,6 +121,12 @@ static int snd_bcm2835_alsa_probe(struct platform_device *pdev)
+@@ -121,6 +121,12 @@ static int snd_bcm2835_alsa_probe(struct
  		goto out_bcm2835_new_pcm;
  		goto out_bcm2835_new_pcm;
  	}
  	}
  
  
@@ -427,8 +421,6 @@ index e2047a7..4136760 100755
  out_bcm2835_new_pcm:
  out_bcm2835_new_pcm:
  out_bcm2835_create:
  out_bcm2835_create:
  	BUG_ON(!g_card);
  	BUG_ON(!g_card);
-diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h
-index 36afee3..8c2fe26 100755
 --- a/sound/arm/bcm2835.h
 --- a/sound/arm/bcm2835.h
 +++ b/sound/arm/bcm2835.h
 +++ b/sound/arm/bcm2835.h
 @@ -97,6 +97,7 @@ typedef enum {
 @@ -97,6 +97,7 @@ typedef enum {
@@ -468,6 +460,3 @@ index 36afee3..8c2fe26 100755
  
  
  int bcm2835_audio_open(bcm2835_alsa_stream_t * alsa_stream);
  int bcm2835_audio_open(bcm2835_alsa_stream_t * alsa_stream);
  int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream);
  int bcm2835_audio_close(bcm2835_alsa_stream_t * alsa_stream);
--- 
-1.9.1
-

+ 0 - 10
target/linux/brcm2708/patches-3.14/0033-dmaengine-Add-support-for-BCM2708.patch

@@ -14,8 +14,6 @@ Signed-off-by: Florian Meier <[email protected]>
  3 files changed, 595 insertions(+)
  3 files changed, 595 insertions(+)
  create mode 100644 drivers/dma/bcm2708-dmaengine.c
  create mode 100644 drivers/dma/bcm2708-dmaengine.c
 
 
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index 605b016..edd5842 100644
 --- a/drivers/dma/Kconfig
 --- a/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
 +++ b/drivers/dma/Kconfig
 @@ -312,6 +312,12 @@ config DMA_BCM2835
 @@ -312,6 +312,12 @@ config DMA_BCM2835
@@ -31,8 +29,6 @@ index 605b016..edd5842 100644
  config TI_CPPI41
  config TI_CPPI41
  	tristate "AM33xx CPPI41 DMA support"
  	tristate "AM33xx CPPI41 DMA support"
  	depends on ARCH_OMAP
  	depends on ARCH_OMAP
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index a029d0f4..f4d9516 100644
 --- a/drivers/dma/Makefile
 --- a/drivers/dma/Makefile
 +++ b/drivers/dma/Makefile
 +++ b/drivers/dma/Makefile
 @@ -39,6 +39,7 @@ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
 @@ -39,6 +39,7 @@ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
@@ -43,9 +39,6 @@ index a029d0f4..f4d9516 100644
  obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
  obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
  obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
  obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
  obj-$(CONFIG_TI_CPPI41) += cppi41.o
  obj-$(CONFIG_TI_CPPI41) += cppi41.o
-diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c
-new file mode 100644
-index 0000000..b244293
 --- /dev/null
 --- /dev/null
 +++ b/drivers/dma/bcm2708-dmaengine.c
 +++ b/drivers/dma/bcm2708-dmaengine.c
 @@ -0,0 +1,588 @@
 @@ -0,0 +1,588 @@
@@ -637,6 +630,3 @@ index 0000000..b244293
 +MODULE_DESCRIPTION("BCM2708 DMA engine driver");
 +MODULE_DESCRIPTION("BCM2708 DMA engine driver");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
--- 
-1.9.1
-

+ 1 - 11
target/linux/brcm2708/patches-3.14/0034-ASoC-Add-support-for-BCM2708.patch

@@ -18,8 +18,6 @@ Signed-off-by: Florian Meier <[email protected]>
  3 files changed, 955 insertions(+)
  3 files changed, 955 insertions(+)
  create mode 100644 sound/soc/bcm/bcm2708-i2s.c
  create mode 100644 sound/soc/bcm/bcm2708-i2s.c
 
 
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index 6a834e1..7e5b945 100644
 --- a/sound/soc/bcm/Kconfig
 --- a/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 @@ -7,3 +7,14 @@ config SND_BCM2835_SOC_I2S
 @@ -7,3 +7,14 @@ config SND_BCM2835_SOC_I2S
@@ -37,11 +35,9 @@ index 6a834e1..7e5b945 100644
 +	  Say Y or M if you want to add support for codecs attached to
 +	  Say Y or M if you want to add support for codecs attached to
 +	  the BCM2708 I2S interface. You will also need
 +	  the BCM2708 I2S interface. You will also need
 +	  to select the audio interfaces to support below.
 +	  to select the audio interfaces to support below.
-diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
-index bc816b7..f8bbe1f 100644
 --- a/sound/soc/bcm/Makefile
 --- a/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
-@@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o
+@@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.
  
  
  obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o
  obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o
  
  
@@ -49,9 +45,6 @@ index bc816b7..f8bbe1f 100644
 +snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o
 +snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o
 +
 +
 +obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
 +obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
-diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
-new file mode 100644
-index 0000000..ebaf3d6
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/bcm/bcm2708-i2s.c
 +++ b/sound/soc/bcm/bcm2708-i2s.c
 @@ -0,0 +1,940 @@
 @@ -0,0 +1,940 @@
@@ -995,6 +988,3 @@ index 0000000..ebaf3d6
 +MODULE_DESCRIPTION("BCM2708 I2S interface");
 +MODULE_DESCRIPTION("BCM2708 I2S interface");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
--- 
-1.9.1
-

+ 0 - 7
target/linux/brcm2708/patches-3.14/0035-BCM2708-Extend-mach-header.patch

@@ -12,8 +12,6 @@ Signed-off-by: Florian Meier <[email protected]>
  arch/arm/mach-bcm2708/include/mach/platform.h | 2 ++
  arch/arm/mach-bcm2708/include/mach/platform.h | 2 ++
  2 files changed, 4 insertions(+)
  2 files changed, 4 insertions(+)
 
 
-diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
-index 6d2f9a0..a4aac4c 100644
 --- a/arch/arm/mach-bcm2708/include/mach/dma.h
 --- a/arch/arm/mach-bcm2708/include/mach/dma.h
 +++ b/arch/arm/mach-bcm2708/include/mach/dma.h
 +++ b/arch/arm/mach-bcm2708/include/mach/dma.h
 @@ -45,6 +45,8 @@
 @@ -45,6 +45,8 @@
@@ -25,8 +23,6 @@ index 6d2f9a0..a4aac4c 100644
  #define BCM2708_DMA_NEXTCB	0x1C
  #define BCM2708_DMA_NEXTCB	0x1C
  #define BCM2708_DMA_DEBUG	0x20
  #define BCM2708_DMA_DEBUG	0x20
  
  
-diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h
-index 992a630..2e7e1bb 100644
 --- a/arch/arm/mach-bcm2708/include/mach/platform.h
 --- a/arch/arm/mach-bcm2708/include/mach/platform.h
 +++ b/arch/arm/mach-bcm2708/include/mach/platform.h
 +++ b/arch/arm/mach-bcm2708/include/mach/platform.h
 @@ -62,10 +62,12 @@
 @@ -62,10 +62,12 @@
@@ -42,6 +38,3 @@ index 992a630..2e7e1bb 100644
  #define SPI0_BASE		 (BCM2708_PERI_BASE + 0x204000) /* SPI0 */
  #define SPI0_BASE		 (BCM2708_PERI_BASE + 0x204000) /* SPI0 */
  #define BSC0_BASE		 (BCM2708_PERI_BASE + 0x205000) /* BSC0 I2C/TWI */
  #define BSC0_BASE		 (BCM2708_PERI_BASE + 0x205000) /* BSC0 I2C/TWI */
  #define UART1_BASE               (BCM2708_PERI_BASE + 0x215000) /* Uart 1 */
  #define UART1_BASE               (BCM2708_PERI_BASE + 0x215000) /* Uart 1 */
--- 
-1.9.1
-

+ 1 - 11
target/linux/brcm2708/patches-3.14/0036-ASoC-Add-support-for-PCM5102A-codec.patch

@@ -14,8 +14,6 @@ Signed-off-by: Florian Meier <[email protected]>
  3 files changed, 69 insertions(+)
  3 files changed, 69 insertions(+)
  create mode 100644 sound/soc/codecs/pcm5102a.c
  create mode 100644 sound/soc/codecs/pcm5102a.c
 
 
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 983d087a..f0d76ec 100644
 --- a/sound/soc/codecs/Kconfig
 --- a/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
 @@ -59,6 +59,7 @@ config SND_SOC_ALL_CODECS
 @@ -59,6 +59,7 @@ config SND_SOC_ALL_CODECS
@@ -36,8 +34,6 @@ index 983d087a..f0d76ec 100644
  config SND_SOC_RT5631
  config SND_SOC_RT5631
  	tristate
  	tristate
  
  
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index bc12676..612f414 100644
 --- a/sound/soc/codecs/Makefile
 --- a/sound/soc/codecs/Makefile
 +++ b/sound/soc/codecs/Makefile
 +++ b/sound/soc/codecs/Makefile
 @@ -46,6 +46,7 @@ snd-soc-hdmi-codec-objs := hdmi.o
 @@ -46,6 +46,7 @@ snd-soc-hdmi-codec-objs := hdmi.o
@@ -48,7 +44,7 @@ index bc12676..612f414 100644
  snd-soc-rt5631-objs := rt5631.o
  snd-soc-rt5631-objs := rt5631.o
  snd-soc-rt5640-objs := rt5640.o
  snd-soc-rt5640-objs := rt5640.o
  snd-soc-sgtl5000-objs := sgtl5000.o
  snd-soc-sgtl5000-objs := sgtl5000.o
-@@ -179,6 +180,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd-soc-hdmi-codec.o
+@@ -179,6 +180,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd-
  obj-$(CONFIG_SND_SOC_PCM1681)	+= snd-soc-pcm1681.o
  obj-$(CONFIG_SND_SOC_PCM1681)	+= snd-soc-pcm1681.o
  obj-$(CONFIG_SND_SOC_PCM1792A)	+= snd-soc-pcm1792a-codec.o
  obj-$(CONFIG_SND_SOC_PCM1792A)	+= snd-soc-pcm1792a-codec.o
  obj-$(CONFIG_SND_SOC_PCM3008)	+= snd-soc-pcm3008.o
  obj-$(CONFIG_SND_SOC_PCM3008)	+= snd-soc-pcm3008.o
@@ -56,9 +52,6 @@ index bc12676..612f414 100644
  obj-$(CONFIG_SND_SOC_RT5631)	+= snd-soc-rt5631.o
  obj-$(CONFIG_SND_SOC_RT5631)	+= snd-soc-rt5631.o
  obj-$(CONFIG_SND_SOC_RT5640)	+= snd-soc-rt5640.o
  obj-$(CONFIG_SND_SOC_RT5640)	+= snd-soc-rt5640.o
  obj-$(CONFIG_SND_SOC_SGTL5000)  += snd-soc-sgtl5000.o
  obj-$(CONFIG_SND_SOC_SGTL5000)  += snd-soc-sgtl5000.o
-diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c
-new file mode 100644
-index 0000000..126f1e9
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/codecs/pcm5102a.c
 +++ b/sound/soc/codecs/pcm5102a.c
 @@ -0,0 +1,63 @@
 @@ -0,0 +1,63 @@
@@ -125,6 +118,3 @@ index 0000000..126f1e9
 +MODULE_DESCRIPTION("ASoC PCM5102A codec driver");
 +MODULE_DESCRIPTION("ASoC PCM5102A codec driver");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
--- 
-1.9.1
-

+ 1 - 6
target/linux/brcm2708/patches-3.14/0037-BCM2708-Add-I2S-support-to-board-file.patch

@@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <[email protected]>
  arch/arm/mach-bcm2708/bcm2708.c | 26 ++++++++++++++++++++++++++
  arch/arm/mach-bcm2708/bcm2708.c | 26 ++++++++++++++++++++++++++
  1 file changed, 26 insertions(+)
  1 file changed, 26 insertions(+)
 
 
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 89d0824..07da1fd 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -615,6 +615,28 @@ static struct platform_device bcm2835_thermal_device = {
+@@ -615,6 +615,28 @@ static struct platform_device bcm2835_th
  	.name = "bcm2835_thermal",
  	.name = "bcm2835_thermal",
  };
  };
  
  
@@ -55,6 +53,3 @@ index 89d0824..07da1fd 100644
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  		struct amba_device *d = amba_devs[i];
  		struct amba_device *d = amba_devs[i];
  		amba_device_register(d, &iomem_resource);
  		amba_device_register(d, &iomem_resource);
--- 
-1.9.1
-

+ 1 - 11
target/linux/brcm2708/patches-3.14/0038-ASoC-Add-support-for-HifiBerry-DAC.patch

@@ -15,8 +15,6 @@ Signed-off-by: Florian Meier <[email protected]>
  3 files changed, 112 insertions(+)
  3 files changed, 112 insertions(+)
  create mode 100644 sound/soc/bcm/hifiberry_dac.c
  create mode 100644 sound/soc/bcm/hifiberry_dac.c
 
 
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index 7e5b945..b36a62f 100644
 --- a/sound/soc/bcm/Kconfig
 --- a/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 @@ -18,3 +18,10 @@ config SND_BCM2708_SOC_I2S
 @@ -18,3 +18,10 @@ config SND_BCM2708_SOC_I2S
@@ -30,11 +28,9 @@ index 7e5b945..b36a62f 100644
 +        select SND_SOC_PCM5102A
 +        select SND_SOC_PCM5102A
 +        help
 +        help
 +         Say Y or M if you want to add support for HifiBerry DAC.
 +         Say Y or M if you want to add support for HifiBerry DAC.
-diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
-index f8bbe1f..be90a49cb 100644
 --- a/sound/soc/bcm/Makefile
 --- a/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
-@@ -7,3 +7,8 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o
+@@ -7,3 +7,8 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd
  snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o
  snd-soc-bcm2708-i2s-objs := bcm2708-i2s.o
  
  
  obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
  obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
@@ -43,9 +39,6 @@ index f8bbe1f..be90a49cb 100644
 +snd-soc-hifiberry-dac-objs := hifiberry_dac.o
 +snd-soc-hifiberry-dac-objs := hifiberry_dac.o
 +
 +
 +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
 +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
-diff --git a/sound/soc/bcm/hifiberry_dac.c b/sound/soc/bcm/hifiberry_dac.c
-new file mode 100644
-index 0000000..4b70b45
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/bcm/hifiberry_dac.c
 +++ b/sound/soc/bcm/hifiberry_dac.c
 @@ -0,0 +1,100 @@
 @@ -0,0 +1,100 @@
@@ -149,6 +142,3 @@ index 0000000..4b70b45
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC");
 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
--- 
-1.9.1
-

+ 1 - 6
target/linux/brcm2708/patches-3.14/0039-BCM2708-Add-HifiBerry-DAC-to-board-file.patch

@@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <[email protected]>
  arch/arm/mach-bcm2708/bcm2708.c | 19 +++++++++++++++++++
  arch/arm/mach-bcm2708/bcm2708.c | 19 +++++++++++++++++++
  1 file changed, 19 insertions(+)
  1 file changed, 19 insertions(+)
 
 
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 07da1fd..82b09a5 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -637,6 +637,20 @@ static struct platform_device bcm2708_i2s_device = {
+@@ -637,6 +637,20 @@ static struct platform_device bcm2708_i2
  };
  };
  #endif
  #endif
  
  
@@ -48,6 +46,3 @@ index 07da1fd..82b09a5 100644
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  		struct amba_device *d = amba_devs[i];
  		struct amba_device *d = amba_devs[i];
  		amba_device_register(d, &iomem_resource);
  		amba_device_register(d, &iomem_resource);
--- 
-1.9.1
-

+ 4 - 9
target/linux/brcm2708/patches-3.14/0040-ASoC-BCM2708-Add-24-bit-support.patch

@@ -18,11 +18,9 @@ Signed-off-by: Florian Meier <[email protected]>
  sound/soc/bcm/bcm2708-i2s.c | 13 +++++++++----
  sound/soc/bcm/bcm2708-i2s.c | 13 +++++++++----
  1 file changed, 9 insertions(+), 4 deletions(-)
  1 file changed, 9 insertions(+), 4 deletions(-)
 
 
-diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
-index ebaf3d6..a179216 100644
 --- a/sound/soc/bcm/bcm2708-i2s.c
 --- a/sound/soc/bcm/bcm2708-i2s.c
 +++ b/sound/soc/bcm/bcm2708-i2s.c
 +++ b/sound/soc/bcm/bcm2708-i2s.c
-@@ -346,6 +346,10 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -346,6 +346,10 @@ static int bcm2708_i2s_hw_params(struct 
  		data_length = 16;
  		data_length = 16;
  		bclk_ratio = 40;
  		bclk_ratio = 40;
  		break;
  		break;
@@ -33,7 +31,7 @@ index ebaf3d6..a179216 100644
  	case SNDRV_PCM_FORMAT_S32_LE:
  	case SNDRV_PCM_FORMAT_S32_LE:
  		data_length = 32;
  		data_length = 32;
  		bclk_ratio = 80;
  		bclk_ratio = 80;
-@@ -424,7 +428,7 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -424,7 +428,7 @@ static int bcm2708_i2s_hw_params(struct 
  	/* Setup the frame format */
  	/* Setup the frame format */
  	format = BCM2708_I2S_CHEN;
  	format = BCM2708_I2S_CHEN;
  
  
@@ -42,7 +40,7 @@ index ebaf3d6..a179216 100644
  		format |= BCM2708_I2S_CHWEX;
  		format |= BCM2708_I2S_CHWEX;
  
  
  	format |= BCM2708_I2S_CHWID((data_length-8)&0xf);
  	format |= BCM2708_I2S_CHWID((data_length-8)&0xf);
-@@ -714,6 +718,7 @@ static struct snd_soc_dai_driver bcm2708_i2s_dai = {
+@@ -714,6 +718,7 @@ static struct snd_soc_dai_driver bcm2708
  		.channels_max = 2,
  		.channels_max = 2,
  		.rates =	SNDRV_PCM_RATE_8000_192000,
  		.rates =	SNDRV_PCM_RATE_8000_192000,
  		.formats =	SNDRV_PCM_FMTBIT_S16_LE
  		.formats =	SNDRV_PCM_FMTBIT_S16_LE
@@ -50,7 +48,7 @@ index ebaf3d6..a179216 100644
  				| SNDRV_PCM_FMTBIT_S32_LE
  				| SNDRV_PCM_FMTBIT_S32_LE
  		},
  		},
  	.capture = {
  	.capture = {
-@@ -721,6 +726,7 @@ static struct snd_soc_dai_driver bcm2708_i2s_dai = {
+@@ -721,6 +726,7 @@ static struct snd_soc_dai_driver bcm2708
  		.channels_max = 2,
  		.channels_max = 2,
  		.rates =	SNDRV_PCM_RATE_8000_192000,
  		.rates =	SNDRV_PCM_RATE_8000_192000,
  		.formats =	SNDRV_PCM_FMTBIT_S16_LE
  		.formats =	SNDRV_PCM_FMTBIT_S16_LE
@@ -72,6 +70,3 @@ index ebaf3d6..a179216 100644
  				  SNDRV_PCM_FMTBIT_S32_LE,
  				  SNDRV_PCM_FMTBIT_S32_LE,
  	.period_bytes_min	= 32,
  	.period_bytes_min	= 32,
  	.period_bytes_max	= 64 * PAGE_SIZE,
  	.period_bytes_max	= 64 * PAGE_SIZE,
--- 
-1.9.1
-

+ 0 - 5
target/linux/brcm2708/patches-3.14/0041-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch

@@ -11,8 +11,6 @@ Signed-off-by: Florian Meier <[email protected]>
  arch/arm/configs/bcmrpi_defconfig | 11 +++++++++++
  arch/arm/configs/bcmrpi_defconfig | 11 +++++++++++
  1 file changed, 11 insertions(+)
  1 file changed, 11 insertions(+)
 
 
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index d70da44..36e7473 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -739,6 +739,13 @@ CONFIG_SND_USB_UA101=m
 @@ -739,6 +739,13 @@ CONFIG_SND_USB_UA101=m
@@ -40,6 +38,3 @@ index d70da44..36e7473 100644
  CONFIG_UIO=m
  CONFIG_UIO=m
  CONFIG_UIO_PDRV_GENIRQ=m
  CONFIG_UIO_PDRV_GENIRQ=m
  CONFIG_STAGING=y
  CONFIG_STAGING=y
--- 
-1.9.1
-

+ 3 - 24
target/linux/brcm2708/patches-3.14/0042-ASoC-BCM2708-Add-support-for-RPi-DAC.patch

@@ -19,8 +19,6 @@ Signed-off-by: Florian Meier <[email protected]>
  create mode 100644 sound/soc/bcm/rpi-dac.c
  create mode 100644 sound/soc/bcm/rpi-dac.c
  create mode 100644 sound/soc/codecs/pcm1794a.c
  create mode 100644 sound/soc/codecs/pcm1794a.c
 
 
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 36e7473..f877ab2 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -744,8 +744,10 @@ CONFIG_SND_SOC_DMAENGINE_PCM=y
 @@ -744,8 +744,10 @@ CONFIG_SND_SOC_DMAENGINE_PCM=y
@@ -34,11 +32,9 @@ index 36e7473..f877ab2 100644
  CONFIG_SOUND_PRIME=m
  CONFIG_SOUND_PRIME=m
  CONFIG_HIDRAW=y
  CONFIG_HIDRAW=y
  CONFIG_HID_A4TECH=m
  CONFIG_HID_A4TECH=m
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 82b09a5..cf10f74 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -651,6 +651,20 @@ static struct platform_device snd_pcm5102a_codec_device = {
+@@ -651,6 +651,20 @@ static struct platform_device snd_pcm510
  };
  };
  #endif
  #endif
  
  
@@ -71,8 +67,6 @@ index 82b09a5..cf10f74 100644
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  		struct amba_device *d = amba_devs[i];
  		struct amba_device *d = amba_devs[i];
  		amba_device_register(d, &iomem_resource);
  		amba_device_register(d, &iomem_resource);
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index b36a62f..714841d 100644
 --- a/sound/soc/bcm/Kconfig
 --- a/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 @@ -25,3 +25,10 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
 @@ -25,3 +25,10 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
@@ -86,11 +80,9 @@ index b36a62f..714841d 100644
 +        select SND_SOC_PCM1794A
 +        select SND_SOC_PCM1794A
 +        help
 +        help
 +         Say Y or M if you want to add support for RPi-DAC.
 +         Say Y or M if you want to add support for RPi-DAC.
-diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
-index be90a49cb..ccc9809 100644
 --- a/sound/soc/bcm/Makefile
 --- a/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
-@@ -10,5 +10,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
+@@ -10,5 +10,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
  
  
  # BCM2708 Machine Support
  # BCM2708 Machine Support
  snd-soc-hifiberry-dac-objs := hifiberry_dac.o
  snd-soc-hifiberry-dac-objs := hifiberry_dac.o
@@ -98,9 +90,6 @@ index be90a49cb..ccc9809 100644
  
  
  obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
  obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o
 +obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
 +obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
-diff --git a/sound/soc/bcm/rpi-dac.c b/sound/soc/bcm/rpi-dac.c
-new file mode 100644
-index 0000000..ef3cd93
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/bcm/rpi-dac.c
 +++ b/sound/soc/bcm/rpi-dac.c
 @@ -0,0 +1,97 @@
 @@ -0,0 +1,97 @@
@@ -201,8 +190,6 @@ index 0000000..ef3cd93
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_DESCRIPTION("ASoC Driver for RPi-DAC");
 +MODULE_DESCRIPTION("ASoC Driver for RPi-DAC");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index f0d76ec..4d2569e 100644
 --- a/sound/soc/codecs/Kconfig
 --- a/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
 @@ -59,6 +59,7 @@ config SND_SOC_ALL_CODECS
 @@ -59,6 +59,7 @@ config SND_SOC_ALL_CODECS
@@ -223,8 +210,6 @@ index f0d76ec..4d2569e 100644
  config SND_SOC_PCM5102A
  config SND_SOC_PCM5102A
  	tristate
  	tristate
  
  
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index 612f414..9b806a2 100644
 --- a/sound/soc/codecs/Makefile
 --- a/sound/soc/codecs/Makefile
 +++ b/sound/soc/codecs/Makefile
 +++ b/sound/soc/codecs/Makefile
 @@ -46,6 +46,7 @@ snd-soc-hdmi-codec-objs := hdmi.o
 @@ -46,6 +46,7 @@ snd-soc-hdmi-codec-objs := hdmi.o
@@ -235,7 +220,7 @@ index 612f414..9b806a2 100644
  snd-soc-pcm5102a-objs := pcm5102a.o
  snd-soc-pcm5102a-objs := pcm5102a.o
  snd-soc-rt5631-objs := rt5631.o
  snd-soc-rt5631-objs := rt5631.o
  snd-soc-rt5640-objs := rt5640.o
  snd-soc-rt5640-objs := rt5640.o
-@@ -180,6 +181,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd-soc-hdmi-codec.o
+@@ -180,6 +181,7 @@ obj-$(CONFIG_SND_SOC_HDMI_CODEC) += snd-
  obj-$(CONFIG_SND_SOC_PCM1681)	+= snd-soc-pcm1681.o
  obj-$(CONFIG_SND_SOC_PCM1681)	+= snd-soc-pcm1681.o
  obj-$(CONFIG_SND_SOC_PCM1792A)	+= snd-soc-pcm1792a-codec.o
  obj-$(CONFIG_SND_SOC_PCM1792A)	+= snd-soc-pcm1792a-codec.o
  obj-$(CONFIG_SND_SOC_PCM3008)	+= snd-soc-pcm3008.o
  obj-$(CONFIG_SND_SOC_PCM3008)	+= snd-soc-pcm3008.o
@@ -243,9 +228,6 @@ index 612f414..9b806a2 100644
  obj-$(CONFIG_SND_SOC_PCM5102A)	+= snd-soc-pcm5102a.o
  obj-$(CONFIG_SND_SOC_PCM5102A)	+= snd-soc-pcm5102a.o
  obj-$(CONFIG_SND_SOC_RT5631)	+= snd-soc-rt5631.o
  obj-$(CONFIG_SND_SOC_RT5631)	+= snd-soc-rt5631.o
  obj-$(CONFIG_SND_SOC_RT5640)	+= snd-soc-rt5640.o
  obj-$(CONFIG_SND_SOC_RT5640)	+= snd-soc-rt5640.o
-diff --git a/sound/soc/codecs/pcm1794a.c b/sound/soc/codecs/pcm1794a.c
-new file mode 100644
-index 0000000..b4eaa44
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/codecs/pcm1794a.c
 +++ b/sound/soc/codecs/pcm1794a.c
 @@ -0,0 +1,62 @@
 @@ -0,0 +1,62 @@
@@ -311,6 +293,3 @@ index 0000000..b4eaa44
 +MODULE_DESCRIPTION("ASoC PCM1794A codec driver");
 +MODULE_DESCRIPTION("ASoC PCM1794A codec driver");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
--- 
-1.9.1
-

+ 6 - 13
target/linux/brcm2708/patches-3.14/0043-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch

@@ -20,8 +20,6 @@ Signed-off-by: Daniel Matuschek <[email protected]>
  sound/soc/codecs/wm8804.h |  4 ++++
  sound/soc/codecs/wm8804.h |  4 ++++
  2 files changed, 19 insertions(+), 4 deletions(-)
  2 files changed, 19 insertions(+), 4 deletions(-)
 
 
-diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
-index 9bc8206..c35b4f3 100644
 --- a/sound/soc/codecs/wm8804.c
 --- a/sound/soc/codecs/wm8804.c
 +++ b/sound/soc/codecs/wm8804.c
 +++ b/sound/soc/codecs/wm8804.c
 @@ -63,6 +63,7 @@ struct wm8804_priv {
 @@ -63,6 +63,7 @@ struct wm8804_priv {
@@ -32,7 +30,7 @@ index 9bc8206..c35b4f3 100644
  };
  };
  
  
  static int txsrc_get(struct snd_kcontrol *kcontrol,
  static int txsrc_get(struct snd_kcontrol *kcontrol,
-@@ -277,6 +278,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream,
+@@ -277,6 +278,7 @@ static int wm8804_hw_params(struct snd_p
  		blen = 0x1;
  		blen = 0x1;
  		break;
  		break;
  	case SNDRV_PCM_FORMAT_S24_LE:
  	case SNDRV_PCM_FORMAT_S24_LE:
@@ -49,7 +47,7 @@ index 9bc8206..c35b4f3 100644
  {
  {
  	u64 Kpart;
  	u64 Kpart;
  	unsigned long int K, Ndiv, Nmod, tmp;
  	unsigned long int K, Ndiv, Nmod, tmp;
-@@ -330,7 +332,8 @@ static int pll_factors(struct pll_div *pll_div, unsigned int target,
+@@ -330,7 +332,8 @@ static int pll_factors(struct pll_div *p
  	 */
  	 */
  	for (i = 0; i < ARRAY_SIZE(post_table); i++) {
  	for (i = 0; i < ARRAY_SIZE(post_table); i++) {
  		tmp = target * post_table[i].div;
  		tmp = target * post_table[i].div;
@@ -59,7 +57,7 @@ index 9bc8206..c35b4f3 100644
  			pll_div->freqmode = post_table[i].freqmode;
  			pll_div->freqmode = post_table[i].freqmode;
  			pll_div->mclkdiv = post_table[i].mclkdiv;
  			pll_div->mclkdiv = post_table[i].mclkdiv;
  			target *= post_table[i].div;
  			target *= post_table[i].div;
-@@ -387,8 +390,11 @@ static int wm8804_set_pll(struct snd_soc_dai *dai, int pll_id,
+@@ -387,8 +390,11 @@ static int wm8804_set_pll(struct snd_soc
  	} else {
  	} else {
  		int ret;
  		int ret;
  		struct pll_div pll_div;
  		struct pll_div pll_div;
@@ -72,7 +70,7 @@ index 9bc8206..c35b4f3 100644
  		if (ret)
  		if (ret)
  			return ret;
  			return ret;
  
  
-@@ -452,6 +458,7 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai,
+@@ -452,6 +458,7 @@ static int wm8804_set_clkdiv(struct snd_
  			     int div_id, int div)
  			     int div_id, int div)
  {
  {
  	struct snd_soc_codec *codec;
  	struct snd_soc_codec *codec;
@@ -80,7 +78,7 @@ index 9bc8206..c35b4f3 100644
  
  
  	codec = dai->codec;
  	codec = dai->codec;
  	switch (div_id) {
  	switch (div_id) {
-@@ -459,6 +466,10 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai,
+@@ -459,6 +466,10 @@ static int wm8804_set_clkdiv(struct snd_
  		snd_soc_update_bits(codec, WM8804_PLL5, 0x30,
  		snd_soc_update_bits(codec, WM8804_PLL5, 0x30,
  				    (div & 0x3) << 4);
  				    (div & 0x3) << 4);
  		break;
  		break;
@@ -91,7 +89,7 @@ index 9bc8206..c35b4f3 100644
  	default:
  	default:
  		dev_err(dai->dev, "Unknown clock divider: %d\n", div_id);
  		dev_err(dai->dev, "Unknown clock divider: %d\n", div_id);
  		return -EINVAL;
  		return -EINVAL;
-@@ -641,7 +652,7 @@ static const struct snd_soc_dai_ops wm8804_dai_ops = {
+@@ -641,7 +652,7 @@ static const struct snd_soc_dai_ops wm88
  };
  };
  
  
  #define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
  #define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
@@ -100,8 +98,6 @@ index 9bc8206..c35b4f3 100644
  
  
  #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
  #define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
  		      SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
  		      SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
-diff --git a/sound/soc/codecs/wm8804.h b/sound/soc/codecs/wm8804.h
-index 8ec14f5..e72d4f4 100644
 --- a/sound/soc/codecs/wm8804.h
 --- a/sound/soc/codecs/wm8804.h
 +++ b/sound/soc/codecs/wm8804.h
 +++ b/sound/soc/codecs/wm8804.h
 @@ -57,5 +57,9 @@
 @@ -57,5 +57,9 @@
@@ -114,6 +110,3 @@ index 8ec14f5..e72d4f4 100644
 +#define WM8804_MCLKDIV_128FS			1
 +#define WM8804_MCLKDIV_128FS			1
  
  
  #endif  /* _WM8804_H */
  #endif  /* _WM8804_H */
--- 
-1.9.1
-

+ 1 - 11
target/linux/brcm2708/patches-3.14/0044-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch

@@ -12,8 +12,6 @@ Signed-off-by: Daniel Matuschek <[email protected]>
  3 files changed, 162 insertions(+)
  3 files changed, 162 insertions(+)
  create mode 100644 sound/soc/bcm/hifiberry_digi.c
  create mode 100644 sound/soc/bcm/hifiberry_digi.c
 
 
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index 714841d..e563dbc 100644
 --- a/sound/soc/bcm/Kconfig
 --- a/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 @@ -26,6 +26,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
 @@ -26,6 +26,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
@@ -30,11 +28,9 @@ index 714841d..e563dbc 100644
  config SND_BCM2708_SOC_RPI_DAC
  config SND_BCM2708_SOC_RPI_DAC
          tristate "Support for RPi-DAC"
          tristate "Support for RPi-DAC"
          depends on SND_BCM2708_SOC_I2S
          depends on SND_BCM2708_SOC_I2S
-diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
-index ccc9809..826df7d 100644
 --- a/sound/soc/bcm/Makefile
 --- a/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
-@@ -10,7 +10,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
+@@ -10,7 +10,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
  
  
  # BCM2708 Machine Support
  # BCM2708 Machine Support
  snd-soc-hifiberry-dac-objs := hifiberry_dac.o
  snd-soc-hifiberry-dac-objs := hifiberry_dac.o
@@ -44,9 +40,6 @@ index ccc9809..826df7d 100644
  obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-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_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o
  obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
  obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
-diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
-new file mode 100644
-index 0000000..e4f769d
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/bcm/hifiberry_digi.c
 +++ b/sound/soc/bcm/hifiberry_digi.c
 @@ -0,0 +1,153 @@
 @@ -0,0 +1,153 @@
@@ -203,6 +196,3 @@ index 0000000..e4f769d
 +MODULE_AUTHOR("Daniel Matuschek <[email protected]>");
 +MODULE_AUTHOR("Daniel Matuschek <[email protected]>");
 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi");
 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
--- 
-1.9.1
-

+ 1 - 6
target/linux/brcm2708/patches-3.14/0045-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch

@@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <[email protected]>
  arch/arm/mach-bcm2708/bcm2708.c | 20 ++++++++++++++++++++
  arch/arm/mach-bcm2708/bcm2708.c | 20 ++++++++++++++++++++
  1 file changed, 20 insertions(+)
  1 file changed, 20 insertions(+)
 
 
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index cf10f74..beb2eca 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -651,6 +651,21 @@ static struct platform_device snd_pcm5102a_codec_device = {
+@@ -651,6 +651,21 @@ static struct platform_device snd_pcm510
  };
  };
  #endif
  #endif
  
  
@@ -47,6 +45,3 @@ index cf10f74..beb2eca 100644
  #if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE)
  #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_rpi_dac_device);
          bcm_register_device(&snd_pcm1794a_codec_device);
          bcm_register_device(&snd_pcm1794a_codec_device);
--- 
-1.9.1
-

+ 0 - 5
target/linux/brcm2708/patches-3.14/0046-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch

@@ -10,8 +10,6 @@ Signed-off-by: Daniel Matuschek <[email protected]>
  arch/arm/configs/bcmrpi_defconfig | 2 ++
  arch/arm/configs/bcmrpi_defconfig | 2 ++
  1 file changed, 2 insertions(+)
  1 file changed, 2 insertions(+)
 
 
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index f877ab2..3d3c8ab 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -742,8 +742,10 @@ CONFIG_SND_USB_6FIRE=m
 @@ -742,8 +742,10 @@ CONFIG_SND_USB_6FIRE=m
@@ -25,6 +23,3 @@ index f877ab2..3d3c8ab 100644
  CONFIG_SND_BCM2708_SOC_RPI_DAC=m
  CONFIG_SND_BCM2708_SOC_RPI_DAC=m
  CONFIG_SND_SOC_I2C_AND_SPI=m
  CONFIG_SND_SOC_I2C_AND_SPI=m
  CONFIG_SND_SOC_PCM5102A=m
  CONFIG_SND_SOC_PCM5102A=m
--- 
-1.9.1
-

+ 1 - 6
target/linux/brcm2708/patches-3.14/0047-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch

@@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <[email protected]>
  sound/soc/codecs/wm8804.c | 2 +-
  sound/soc/codecs/wm8804.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 
-diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
-index c35b4f3..8915d08 100644
 --- a/sound/soc/codecs/wm8804.c
 --- a/sound/soc/codecs/wm8804.c
 +++ b/sound/soc/codecs/wm8804.c
 +++ b/sound/soc/codecs/wm8804.c
-@@ -685,7 +685,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8804 = {
+@@ -685,7 +685,7 @@ static struct snd_soc_codec_driver soc_c
  	.suspend = wm8804_suspend,
  	.suspend = wm8804_suspend,
  	.resume = wm8804_resume,
  	.resume = wm8804_resume,
  	.set_bias_level = wm8804_set_bias_level,
  	.set_bias_level = wm8804_set_bias_level,
@@ -22,6 +20,3 @@ index c35b4f3..8915d08 100644
  
  
  	.controls = wm8804_snd_controls,
  	.controls = wm8804_snd_controls,
  	.num_controls = ARRAY_SIZE(wm8804_snd_controls),
  	.num_controls = ARRAY_SIZE(wm8804_snd_controls),
--- 
-1.9.1
-

+ 2 - 9
target/linux/brcm2708/patches-3.14/0048-ASoc-Don-t-report-S24_LE-support-it-produces-white-n.patch

@@ -9,11 +9,9 @@ Subject: [PATCH 48/54] ASoc: Don't report S24_LE support, it produces white
  sound/soc/codecs/pcm5102a.c | 2 +-
  sound/soc/codecs/pcm5102a.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 
-diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
-index a179216..b25e158 100644
 --- a/sound/soc/bcm/bcm2708-i2s.c
 --- a/sound/soc/bcm/bcm2708-i2s.c
 +++ b/sound/soc/bcm/bcm2708-i2s.c
 +++ b/sound/soc/bcm/bcm2708-i2s.c
-@@ -718,7 +718,7 @@ static struct snd_soc_dai_driver bcm2708_i2s_dai = {
+@@ -718,7 +718,7 @@ static struct snd_soc_dai_driver bcm2708
  		.channels_max = 2,
  		.channels_max = 2,
  		.rates =	SNDRV_PCM_RATE_8000_192000,
  		.rates =	SNDRV_PCM_RATE_8000_192000,
  		.formats =	SNDRV_PCM_FMTBIT_S16_LE
  		.formats =	SNDRV_PCM_FMTBIT_S16_LE
@@ -22,11 +20,9 @@ index a179216..b25e158 100644
  				| SNDRV_PCM_FMTBIT_S32_LE
  				| SNDRV_PCM_FMTBIT_S32_LE
  		},
  		},
  	.capture = {
  	.capture = {
-diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c
-index 126f1e9..7812d34 100644
 --- a/sound/soc/codecs/pcm5102a.c
 --- a/sound/soc/codecs/pcm5102a.c
 +++ b/sound/soc/codecs/pcm5102a.c
 +++ b/sound/soc/codecs/pcm5102a.c
-@@ -28,7 +28,7 @@ static struct snd_soc_dai_driver pcm5102a_dai = {
+@@ -28,7 +28,7 @@ static struct snd_soc_dai_driver pcm5102
  		.channels_max = 2,
  		.channels_max = 2,
  		.rates = SNDRV_PCM_RATE_8000_192000,
  		.rates = SNDRV_PCM_RATE_8000_192000,
  		.formats = SNDRV_PCM_FMTBIT_S16_LE |
  		.formats = SNDRV_PCM_FMTBIT_S16_LE |
@@ -35,6 +31,3 @@ index 126f1e9..7812d34 100644
  			   SNDRV_PCM_FMTBIT_S32_LE
  			   SNDRV_PCM_FMTBIT_S32_LE
  	},
  	},
  };
  };
--- 
-1.9.1
-

+ 4 - 28
target/linux/brcm2708/patches-3.14/0049-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch

@@ -18,8 +18,6 @@ Subject: [PATCH 49/54] Add IQaudIO Sound Card support for Raspberry Pi
  create mode 100644 sound/soc/codecs/pcm512x.c
  create mode 100644 sound/soc/codecs/pcm512x.c
  create mode 100644 sound/soc/codecs/pcm512x.h
  create mode 100644 sound/soc/codecs/pcm512x.h
 
 
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 3d3c8ab..a024670 100644
 --- a/arch/arm/configs/bcmrpi_defconfig
 --- a/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 +++ b/arch/arm/configs/bcmrpi_defconfig
 @@ -750,6 +750,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
 @@ -750,6 +750,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
@@ -30,11 +28,9 @@ index 3d3c8ab..a024670 100644
  CONFIG_SOUND_PRIME=m
  CONFIG_SOUND_PRIME=m
  CONFIG_HIDRAW=y
  CONFIG_HIDRAW=y
  CONFIG_HID_A4TECH=m
  CONFIG_HID_A4TECH=m
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index beb2eca..95a47fa 100644
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 --- a/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
 +++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -680,6 +680,22 @@ static struct platform_device snd_pcm1794a_codec_device = {
+@@ -680,6 +680,22 @@ static struct platform_device snd_pcm179
  };
  };
  #endif
  #endif
  
  
@@ -70,8 +66,6 @@ index beb2eca..95a47fa 100644
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  	for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
  		struct amba_device *d = amba_devs[i];
  		struct amba_device *d = amba_devs[i];
  		amba_device_register(d, &iomem_resource);
  		amba_device_register(d, &iomem_resource);
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index e563dbc..84e4f27 100644
 --- a/sound/soc/bcm/Kconfig
 --- a/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 +++ b/sound/soc/bcm/Kconfig
 @@ -39,3 +39,10 @@ config SND_BCM2708_SOC_RPI_DAC
 @@ -39,3 +39,10 @@ config SND_BCM2708_SOC_RPI_DAC
@@ -85,11 +79,9 @@ index e563dbc..84e4f27 100644
 +	select SND_SOC_PCM512x
 +	select SND_SOC_PCM512x
 +	help
 +	help
 +	  Say Y or M if you want to add support for IQaudIO-DAC.
 +	  Say Y or M if you want to add support for IQaudIO-DAC.
-diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
-index 826df7d..d597fb0 100644
 --- a/sound/soc/bcm/Makefile
 --- a/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
 +++ b/sound/soc/bcm/Makefile
-@@ -12,7 +12,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
+@@ -12,7 +12,9 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
  snd-soc-hifiberry-dac-objs := hifiberry_dac.o
  snd-soc-hifiberry-dac-objs := hifiberry_dac.o
  snd-soc-hifiberry-digi-objs := hifiberry_digi.o
  snd-soc-hifiberry-digi-objs := hifiberry_digi.o
  snd-soc-rpi-dac-objs := rpi-dac.o
  snd-soc-rpi-dac-objs := rpi-dac.o
@@ -99,9 +91,6 @@ index 826df7d..d597fb0 100644
  obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.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
  obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o
 +obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
 +obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
-diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c
-new file mode 100644
-index 0000000..515f044
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/bcm/iqaudio-dac.c
 +++ b/sound/soc/bcm/iqaudio-dac.c
 @@ -0,0 +1,111 @@
 @@ -0,0 +1,111 @@
@@ -216,8 +205,6 @@ index 0000000..515f044
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_AUTHOR("Florian Meier <[email protected]>");
 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC");
 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 4d2569e..ac28805 100644
 --- a/sound/soc/codecs/Kconfig
 --- a/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
 +++ b/sound/soc/codecs/Kconfig
 @@ -61,6 +61,7 @@ config SND_SOC_ALL_CODECS
 @@ -61,6 +61,7 @@ config SND_SOC_ALL_CODECS
@@ -238,11 +225,9 @@ index 4d2569e..ac28805 100644
  config SND_SOC_RT5631
  config SND_SOC_RT5631
  	tristate
  	tristate
  
  
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index 9b806a2..61461c1 100644
 --- a/sound/soc/codecs/Makefile
 --- a/sound/soc/codecs/Makefile
 +++ b/sound/soc/codecs/Makefile
 +++ b/sound/soc/codecs/Makefile
-@@ -48,6 +48,7 @@ snd-soc-pcm1792a-codec-objs := pcm1792a.o
+@@ -48,6 +48,7 @@ snd-soc-pcm1792a-codec-objs := pcm1792a.
  snd-soc-pcm3008-objs := pcm3008.o
  snd-soc-pcm3008-objs := pcm3008.o
  snd-soc-pcm1794a-objs := pcm1794a.o
  snd-soc-pcm1794a-objs := pcm1794a.o
  snd-soc-pcm5102a-objs := pcm5102a.o
  snd-soc-pcm5102a-objs := pcm5102a.o
@@ -250,7 +235,7 @@ index 9b806a2..61461c1 100644
  snd-soc-rt5631-objs := rt5631.o
  snd-soc-rt5631-objs := rt5631.o
  snd-soc-rt5640-objs := rt5640.o
  snd-soc-rt5640-objs := rt5640.o
  snd-soc-sgtl5000-objs := sgtl5000.o
  snd-soc-sgtl5000-objs := sgtl5000.o
-@@ -183,6 +184,7 @@ obj-$(CONFIG_SND_SOC_PCM1792A)	+= snd-soc-pcm1792a-codec.o
+@@ -183,6 +184,7 @@ obj-$(CONFIG_SND_SOC_PCM1792A)	+= snd-so
  obj-$(CONFIG_SND_SOC_PCM3008)	+= snd-soc-pcm3008.o
  obj-$(CONFIG_SND_SOC_PCM3008)	+= snd-soc-pcm3008.o
  obj-$(CONFIG_SND_SOC_PCM1794A)	+= snd-soc-pcm1794a.o
  obj-$(CONFIG_SND_SOC_PCM1794A)	+= snd-soc-pcm1794a.o
  obj-$(CONFIG_SND_SOC_PCM5102A)	+= snd-soc-pcm5102a.o
  obj-$(CONFIG_SND_SOC_PCM5102A)	+= snd-soc-pcm5102a.o
@@ -258,9 +243,6 @@ index 9b806a2..61461c1 100644
  obj-$(CONFIG_SND_SOC_RT5631)	+= snd-soc-rt5631.o
  obj-$(CONFIG_SND_SOC_RT5631)	+= snd-soc-rt5631.o
  obj-$(CONFIG_SND_SOC_RT5640)	+= snd-soc-rt5640.o
  obj-$(CONFIG_SND_SOC_RT5640)	+= snd-soc-rt5640.o
  obj-$(CONFIG_SND_SOC_SGTL5000)  += snd-soc-sgtl5000.o
  obj-$(CONFIG_SND_SOC_SGTL5000)  += snd-soc-sgtl5000.o
-diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
-new file mode 100644
-index 0000000..55b6200
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/codecs/pcm512x.c
 +++ b/sound/soc/codecs/pcm512x.c
 @@ -0,0 +1,677 @@
 @@ -0,0 +1,677 @@
@@ -941,9 +923,6 @@ index 0000000..55b6200
 +MODULE_DESCRIPTION("ASoC PCM512x codec driver");
 +MODULE_DESCRIPTION("ASoC PCM512x codec driver");
 +MODULE_AUTHOR("Mark Brown <[email protected]>");
 +MODULE_AUTHOR("Mark Brown <[email protected]>");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/codecs/pcm512x.h b/sound/soc/codecs/pcm512x.h
-new file mode 100644
-index 0000000..b2f518e
 --- /dev/null
 --- /dev/null
 +++ b/sound/soc/codecs/pcm512x.h
 +++ b/sound/soc/codecs/pcm512x.h
 @@ -0,0 +1,142 @@
 @@ -0,0 +1,142 @@
@@ -1089,6 +1068,3 @@ index 0000000..b2f518e
 +#define PCM512x_AMLR_SHIFT 0
 +#define PCM512x_AMLR_SHIFT 0
 +
 +
 +#endif
 +#endif
--- 
-1.9.1
-

+ 4 - 9
target/linux/brcm2708/patches-3.14/0050-Fix-volsw_range-functions-so-SOC_DOUBLE_R_RANGE_TLV-.patch

@@ -11,11 +11,9 @@ hardware for both the normal and invert cases.
  sound/soc/soc-core.c | 22 ++++++++++------------
  sound/soc/soc-core.c | 22 ++++++++++------------
  1 file changed, 10 insertions(+), 12 deletions(-)
  1 file changed, 10 insertions(+), 12 deletions(-)
 
 
-diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
-index fe1df50..c3f41e7 100644
 --- a/sound/soc/soc-core.c
 --- a/sound/soc/soc-core.c
 +++ b/sound/soc/soc-core.c
 +++ b/sound/soc/soc-core.c
-@@ -3038,8 +3038,8 @@ int snd_soc_info_volsw_range(struct snd_kcontrol *kcontrol,
+@@ -3038,8 +3038,8 @@ int snd_soc_info_volsw_range(struct snd_
  
  
  	uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
  	uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
  	uinfo->count = snd_soc_volsw_is_stereo(mc) ? 2 : 1;
  	uinfo->count = snd_soc_volsw_is_stereo(mc) ? 2 : 1;
@@ -26,7 +24,7 @@ index fe1df50..c3f41e7 100644
  
  
  	return 0;
  	return 0;
  }
  }
-@@ -3070,9 +3070,10 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol,
+@@ -3070,9 +3070,10 @@ int snd_soc_put_volsw_range(struct snd_k
  	unsigned int val, val_mask;
  	unsigned int val, val_mask;
  	int ret;
  	int ret;
  
  
@@ -39,7 +37,7 @@ index fe1df50..c3f41e7 100644
  	val_mask = mask << shift;
  	val_mask = mask << shift;
  	val = val << shift;
  	val = val << shift;
  
  
-@@ -3081,9 +3082,10 @@ int snd_soc_put_volsw_range(struct snd_kcontrol *kcontrol,
+@@ -3081,9 +3082,10 @@ int snd_soc_put_volsw_range(struct snd_k
  		return ret;
  		return ret;
  
  
  	if (snd_soc_volsw_is_stereo(mc)) {
  	if (snd_soc_volsw_is_stereo(mc)) {
@@ -52,7 +50,7 @@ index fe1df50..c3f41e7 100644
  		val_mask = mask << shift;
  		val_mask = mask << shift;
  		val = val << shift;
  		val = val << shift;
  
  
-@@ -3121,18 +3123,14 @@ int snd_soc_get_volsw_range(struct snd_kcontrol *kcontrol,
+@@ -3121,18 +3123,14 @@ int snd_soc_get_volsw_range(struct snd_k
  		(snd_soc_read(codec, reg) >> shift) & mask;
  		(snd_soc_read(codec, reg) >> shift) & mask;
  	if (invert)
  	if (invert)
  		ucontrol->value.integer.value[0] =
  		ucontrol->value.integer.value[0] =
@@ -73,6 +71,3 @@ index fe1df50..c3f41e7 100644
  	}
  	}
  
  
  	return 0;
  	return 0;
--- 
-1.9.1
-

+ 1 - 6
target/linux/brcm2708/patches-3.14/0051-Use-a-range-macro-for-Playback-Volume.patch

@@ -9,11 +9,9 @@ DAC ouput stages.
  sound/soc/codecs/pcm512x.c | 4 ++--
  sound/soc/codecs/pcm512x.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 
-diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
-index 55b6200..2653311 100644
 --- a/sound/soc/codecs/pcm512x.c
 --- a/sound/soc/codecs/pcm512x.c
 +++ b/sound/soc/codecs/pcm512x.c
 +++ b/sound/soc/codecs/pcm512x.c
-@@ -240,8 +240,8 @@ static const struct soc_enum pcm512x_veds =
+@@ -240,8 +240,8 @@ static const struct soc_enum pcm512x_ved
  			pcm512x_ramp_step_text);
  			pcm512x_ramp_step_text);
  
  
  static const struct snd_kcontrol_new pcm512x_controls[] = {
  static const struct snd_kcontrol_new pcm512x_controls[] = {
@@ -24,6 +22,3 @@ index 55b6200..2653311 100644
  SOC_DOUBLE("Playback Digital Switch", PCM512x_MUTE, PCM512x_RQML_SHIFT,
  SOC_DOUBLE("Playback Digital Switch", PCM512x_MUTE, PCM512x_RQML_SHIFT,
  	   PCM512x_RQMR_SHIFT, 1, 1),
  	   PCM512x_RQMR_SHIFT, 1, 1),
  
  
--- 
-1.9.1
-

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно