aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708')
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch124
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch20
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch6
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch209
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch12
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch525
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch15
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch20
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch103
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch18
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch24
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch45
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch12
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch10
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch14
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch27
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch27
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0020-Perform-I2C-combined-transactions-when-possible.patch11
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch31
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch13
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch262
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0026-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch218
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch54
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch107
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch18
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch15
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch14
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch12
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch29
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch12
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch18
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch17
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch13
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch11
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch17
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch17
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch11
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch13
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch23
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch23
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch28
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch18
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch18
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch30
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch40
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch63
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch59
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch57
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch229
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch10
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch10
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch10
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch11
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch10
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch190
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch110
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch49
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch13
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch11
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0101-BCM270x_DT-Add-i2c0_baudrate-and-i2c1_baudrate-param.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0102-pinctrl-bcm2835-bcm2835_gpio_direction_output-must-s.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0103-w1-gpio-Sort-out-the-pullup-parasitic-power-tangle.patch23
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0104-config-Add-USBIP.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0105-dwc_otg-fixup-read-modify-write-in-critical-paths.patch21
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0106-BCM2709_DT-Set-the-always-on-flag-for-the-timer-to-e.patch5
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0107-i2c_bcm2708-Fix-clock-reference-counting.patch9
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0108-BCM270x_DT-Rename-the-activity-LED-back-to-the-prosa.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0109-Add-device-tree-overlay-for-pcf2127.patch10
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0110-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch32
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch11
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0112-Fix-grabbing-lock-from-atomic-context-in-i2c-driver.patch23
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0113-config-Add-ENC28J60-SPI-ethernet-module.patch7
-rw-r--r--[-rwxr-xr-x]target/linux/brcm2708/patches-3.18/0114-ntp-Patch-to-fix-false-positives-on-32bit-systems.patch7
114 files changed, 645 insertions, 2950 deletions
diff --git a/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch b/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
index ff2ddb0861..af320ccedf 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
+++ b/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
@@ -83,8 +83,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
create mode 100644 arch/arm/mach-bcm2708/vc_mem.c
create mode 100644 arch/arm/mach-bcm2708/vcio.c
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 89c4b5c..4cedaf2 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -381,6 +381,22 @@ config ARCH_AT91
@@ -118,8 +116,6 @@ index 89c4b5c..4cedaf2 100644
source "arch/arm/mach-zynq/Kconfig"
-diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
-index d8f6a2e..526e50d 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -985,6 +985,14 @@ choice
@@ -137,11 +133,9 @@ index d8f6a2e..526e50d 100644
endchoice
config DEBUG_EXYNOS_UART
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index 034a949..fea9213 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
-@@ -146,6 +146,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000
+@@ -151,6 +151,7 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x003080
machine-$(CONFIG_ARCH_AT91) += at91
machine-$(CONFIG_ARCH_AXXIA) += axxia
machine-$(CONFIG_ARCH_BCM) += bcm
@@ -149,9 +143,6 @@ index 034a949..fea9213 100644
machine-$(CONFIG_ARCH_BERLIN) += berlin
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-new file mode 100644
-index 0000000..8950e53
--- /dev/null
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -0,0 +1,464 @@
@@ -619,8 +610,6 @@ index 0000000..8950e53
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
-index fe972a2..f4f3bfd 100644
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
@@ -166,6 +166,16 @@ void arch_cpu_idle_dead(void)
@@ -640,9 +629,6 @@ index fe972a2..f4f3bfd 100644
/*
* Called by kexec, immediately prior to machine_kexec().
*
-diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
-new file mode 100644
-index 0000000..1f11478
--- /dev/null
+++ b/arch/arm/mach-bcm2708/Kconfig
@@ -0,0 +1,26 @@
@@ -672,9 +658,6 @@ index 0000000..1f11478
+ Do not allow ARM to use GPU's L2 cache. Requires disable_l2cache in config.txt.
+
+endmenu
-diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile
-new file mode 100644
-index 0000000..c76f39bc
--- /dev/null
+++ b/arch/arm/mach-bcm2708/Makefile
@@ -0,0 +1,6 @@
@@ -684,18 +667,12 @@ index 0000000..c76f39bc
+
+obj-$(CONFIG_MACH_BCM2708) += clock.o bcm2708.o armctrl.o vcio.o power.o dma.o
+obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
-diff --git a/arch/arm/mach-bcm2708/Makefile.boot b/arch/arm/mach-bcm2708/Makefile.boot
-new file mode 100644
-index 0000000..67039c3
--- /dev/null
+++ b/arch/arm/mach-bcm2708/Makefile.boot
@@ -0,0 +1,3 @@
+ zreladdr-y := 0x00008000
+params_phys-y := 0x00000100
+initrd_phys-y := 0x00800000
-diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c
-new file mode 100644
-index 0000000..ef1c8d5
--- /dev/null
+++ b/arch/arm/mach-bcm2708/armctrl.c
@@ -0,0 +1,208 @@
@@ -907,9 +884,6 @@ index 0000000..ef1c8d5
+ armctrl_pm_register(base, irq_start, resume_sources);
+ return 0;
+}
-diff --git a/arch/arm/mach-bcm2708/armctrl.h b/arch/arm/mach-bcm2708/armctrl.h
-new file mode 100644
-index 0000000..0aa916e
--- /dev/null
+++ b/arch/arm/mach-bcm2708/armctrl.h
@@ -0,0 +1,27 @@
@@ -940,9 +914,6 @@ index 0000000..0aa916e
+ u32 armctrl_sources, u32 resume_sources);
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-new file mode 100644
-index 0000000..9b4e709
--- /dev/null
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -0,0 +1,662 @@
@@ -1608,9 +1579,6 @@ index 0000000..9b4e709
+module_param(disk_led_gpio, uint, 0644);
+module_param(disk_led_active_low, uint, 0644);
+module_param(reboot_part, uint, 0644);
-diff --git a/arch/arm/mach-bcm2708/bcm2708.h b/arch/arm/mach-bcm2708/bcm2708.h
-new file mode 100644
-index 0000000..e339a93
--- /dev/null
+++ b/arch/arm/mach-bcm2708/bcm2708.h
@@ -0,0 +1,49 @@
@@ -1663,9 +1631,6 @@ index 0000000..e339a93
+}
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/clock.c b/arch/arm/mach-bcm2708/clock.c
-new file mode 100644
-index 0000000..4fc556e
--- /dev/null
+++ b/arch/arm/mach-bcm2708/clock.c
@@ -0,0 +1,61 @@
@@ -1730,9 +1695,6 @@ index 0000000..4fc556e
+ return -EIO;
+}
+EXPORT_SYMBOL(clk_set_rate);
-diff --git a/arch/arm/mach-bcm2708/clock.h b/arch/arm/mach-bcm2708/clock.h
-new file mode 100644
-index 0000000..5f9d725
--- /dev/null
+++ b/arch/arm/mach-bcm2708/clock.h
@@ -0,0 +1,24 @@
@@ -1760,9 +1722,6 @@ index 0000000..5f9d725
+struct clk {
+ unsigned long rate;
+};
-diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c
-new file mode 100644
-index 0000000..51d147a
--- /dev/null
+++ b/arch/arm/mach-bcm2708/dma.c
@@ -0,0 +1,399 @@
@@ -2165,9 +2124,6 @@ index 0000000..51d147a
+MODULE_LICENSE("GPL");
+
+MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM");
-diff --git a/arch/arm/mach-bcm2708/include/mach/arm_control.h b/arch/arm/mach-bcm2708/include/mach/arm_control.h
-new file mode 100644
-index 0000000..a82bb92
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/arm_control.h
@@ -0,0 +1,419 @@
@@ -2590,9 +2546,6 @@ index 0000000..a82bb92
+#define AJBTDO HW_REGISTER_RW(AJB_BASE+0x0c)
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/arm_power.h b/arch/arm/mach-bcm2708/include/mach/arm_power.h
-new file mode 100644
-index 0000000..d3bf245
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/arm_power.h
@@ -0,0 +1,62 @@
@@ -2658,9 +2611,6 @@ index 0000000..d3bf245
+};
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/clkdev.h b/arch/arm/mach-bcm2708/include/mach/clkdev.h
-new file mode 100644
-index 0000000..04b37a8
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/clkdev.h
@@ -0,0 +1,7 @@
@@ -2671,9 +2621,6 @@ index 0000000..04b37a8
+#define __clk_put(clk) do { } while (0)
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/debug-macro.S b/arch/arm/mach-bcm2708/include/mach/debug-macro.S
-new file mode 100644
-index 0000000..b24304a
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/debug-macro.S
@@ -0,0 +1,22 @@
@@ -2699,9 +2646,6 @@ index 0000000..b24304a
+ .endm
+
+#include <debug/pl01x.S>
-diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
-new file mode 100644
-index 0000000..f2568d4
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/dma.h
@@ -0,0 +1,88 @@
@@ -2793,9 +2737,6 @@ index 0000000..f2568d4
+
+
+#endif /* _MACH_BCM2708_DMA_H */
-diff --git a/arch/arm/mach-bcm2708/include/mach/entry-macro.S b/arch/arm/mach-bcm2708/include/mach/entry-macro.S
-new file mode 100644
-index 0000000..79b62d9
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/entry-macro.S
@@ -0,0 +1,69 @@
@@ -2868,9 +2809,6 @@ index 0000000..79b62d9
+1020: @ EQ will be set if no irqs pending
+
+ .endm
-diff --git a/arch/arm/mach-bcm2708/include/mach/frc.h b/arch/arm/mach-bcm2708/include/mach/frc.h
-new file mode 100644
-index 0000000..dd51e07
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/frc.h
@@ -0,0 +1,38 @@
@@ -2912,9 +2850,6 @@ index 0000000..dd51e07
+extern unsigned long long frc_clock_ticks63(void);
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/hardware.h b/arch/arm/mach-bcm2708/include/mach/hardware.h
-new file mode 100644
-index 0000000..c2954e8
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/hardware.h
@@ -0,0 +1,28 @@
@@ -2946,9 +2881,6 @@ index 0000000..c2954e8
+#include <mach/platform.h>
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/io.h b/arch/arm/mach-bcm2708/include/mach/io.h
-new file mode 100644
-index 0000000..e6eb84d
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/io.h
@@ -0,0 +1,27 @@
@@ -2979,9 +2911,6 @@ index 0000000..e6eb84d
+#define __io(a) __typesafe_io(a)
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h
-new file mode 100644
-index 0000000..3a88a1a
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/irqs.h
@@ -0,0 +1,196 @@
@@ -3181,9 +3110,6 @@ index 0000000..3a88a1a
+#define NR_IRQS (BCM2708_ALLOC_IRQS+FREE_IRQS)
+
+#endif /* _BCM2708_IRQS_H_ */
-diff --git a/arch/arm/mach-bcm2708/include/mach/memory.h b/arch/arm/mach-bcm2708/include/mach/memory.h
-new file mode 100644
-index 0000000..7548a52
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/memory.h
@@ -0,0 +1,57 @@
@@ -3244,9 +3170,6 @@ index 0000000..7548a52
+#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - BCM_PLAT_PHYS_OFFSET))
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h
-new file mode 100644
-index 0000000..2e7e1bb
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/platform.h
@@ -0,0 +1,228 @@
@@ -3478,9 +3401,6 @@ index 0000000..2e7e1bb
+#endif
+
+/* END */
-diff --git a/arch/arm/mach-bcm2708/include/mach/power.h b/arch/arm/mach-bcm2708/include/mach/power.h
-new file mode 100644
-index 0000000..52b3b02
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/power.h
@@ -0,0 +1,26 @@
@@ -3510,9 +3430,6 @@ index 0000000..52b3b02
+extern int bcm_power_close(BCM_POWER_HANDLE_T handle);
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/system.h b/arch/arm/mach-bcm2708/include/mach/system.h
-new file mode 100644
-index 0000000..2d0b821
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/system.h
@@ -0,0 +1,38 @@
@@ -3554,9 +3471,6 @@ index 0000000..2d0b821
+}
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/timex.h b/arch/arm/mach-bcm2708/include/mach/timex.h
-new file mode 100644
-index 0000000..64a660c
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/timex.h
@@ -0,0 +1,23 @@
@@ -3583,9 +3497,6 @@ index 0000000..64a660c
+ */
+
+#define CLOCK_TICK_RATE (1000000)
-diff --git a/arch/arm/mach-bcm2708/include/mach/uncompress.h b/arch/arm/mach-bcm2708/include/mach/uncompress.h
-new file mode 100644
-index 0000000..d634813
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/uncompress.h
@@ -0,0 +1,84 @@
@@ -3673,9 +3584,6 @@ index 0000000..d634813
+ * nothing to do
+ */
+#define arch_decomp_wdog()
-diff --git a/arch/arm/mach-bcm2708/include/mach/vc_mem.h b/arch/arm/mach-bcm2708/include/mach/vc_mem.h
-new file mode 100644
-index 0000000..4a4a338
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vc_mem.h
@@ -0,0 +1,35 @@
@@ -3714,9 +3622,6 @@ index 0000000..4a4a338
+#endif
+
+#endif /* VC_MEM_H */
-diff --git a/arch/arm/mach-bcm2708/include/mach/vcio.h b/arch/arm/mach-bcm2708/include/mach/vcio.h
-new file mode 100644
-index 0000000..8e11d67
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vcio.h
@@ -0,0 +1,165 @@
@@ -3885,9 +3790,6 @@ index 0000000..8e11d67
+#define DEVICE_FILE_NAME "vcio"
+
+#endif
-diff --git a/arch/arm/mach-bcm2708/include/mach/vmalloc.h b/arch/arm/mach-bcm2708/include/mach/vmalloc.h
-new file mode 100644
-index 0000000..502c617
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vmalloc.h
@@ -0,0 +1,20 @@
@@ -3911,9 +3813,6 @@ index 0000000..502c617
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#define VMALLOC_END (0xe8000000)
-diff --git a/arch/arm/mach-bcm2708/power.c b/arch/arm/mach-bcm2708/power.c
-new file mode 100644
-index 0000000..2696be9
--- /dev/null
+++ b/arch/arm/mach-bcm2708/power.c
@@ -0,0 +1,197 @@
@@ -4114,9 +4013,6 @@ index 0000000..2696be9
+MODULE_AUTHOR("Phil Elwell");
+MODULE_DESCRIPTION("Interface to BCM2708 power management");
+MODULE_LICENSE("GPL");
-diff --git a/arch/arm/mach-bcm2708/vc_mem.c b/arch/arm/mach-bcm2708/vc_mem.c
-new file mode 100644
-index 0000000..2982af7
--- /dev/null
+++ b/arch/arm/mach-bcm2708/vc_mem.c
@@ -0,0 +1,431 @@
@@ -4551,9 +4447,6 @@ index 0000000..2982af7
+module_param(phys_addr, uint, 0644);
+module_param(mem_size, uint, 0644);
+module_param(mem_base, uint, 0644);
-diff --git a/arch/arm/mach-bcm2708/vcio.c b/arch/arm/mach-bcm2708/vcio.c
-new file mode 100644
-index 0000000..5e43e85
--- /dev/null
+++ b/arch/arm/mach-bcm2708/vcio.c
@@ -0,0 +1,474 @@
@@ -5031,8 +4924,6 @@ index 0000000..5e43e85
+MODULE_DESCRIPTION("ARM I/O to VideoCore processor");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:bcm-mbox");
-diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
-index 7eb94e6..7b58dae 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -358,7 +358,7 @@ config CPU_PJ4B
@@ -5044,8 +4935,6 @@ index 7eb94e6..7b58dae 100644
select CPU_32v6
select CPU_ABRT_EV6
select CPU_CACHE_V6
-diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S
-index d0390f4..a042de8 100644
--- a/arch/arm/mm/proc-v6.S
+++ b/arch/arm/mm/proc-v6.S
@@ -73,10 +73,19 @@ ENDPROC(cpu_v6_reset)
@@ -5071,8 +4960,6 @@ index d0390f4..a042de8 100644
ret lr
ENTRY(cpu_v6_dcache_clean_area)
-diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
-index a10297d..c9ddd87 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -522,6 +522,7 @@ torbreck MACH_TORBRECK TORBRECK 3090
@@ -5083,8 +4970,6 @@ index a10297d..c9ddd87 100644
ag5evm MACH_AG5EVM AG5EVM 3189
ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206
wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207
-diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c
-index 02016fc..fed2b92 100644
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -84,7 +84,7 @@ struct vendor_data {
@@ -5096,8 +4981,6 @@ index 02016fc..fed2b92 100644
}
static struct vendor_data vendor_arm = {
-diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
-index df0c153..c226105 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -290,6 +290,7 @@ struct mmc_host {
@@ -5108,8 +4991,6 @@ index df0c153..c226105 100644
mmc_pm_flag_t pm_caps; /* supported pm features */
-diff --git a/include/linux/mmc/sdhci.h b/include/linux/mmc/sdhci.h
-index dba793e..9300f87 100644
--- a/include/linux/mmc/sdhci.h
+++ b/include/linux/mmc/sdhci.h
@@ -130,6 +130,7 @@ struct sdhci_host {
@@ -5120,6 +5001,3 @@ index dba793e..9300f87 100644
unsigned int version; /* SDHCI spec. version */
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch b/target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch
index b3f7b4af19..cc29843ea0 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch
@@ -45,8 +45,6 @@ Issue: linux #760
create mode 100644 arch/arm/mach-bcm2708/include/mach/gpio.h
create mode 100644 include/linux/platform_data/bcm2708.h
-diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
-index 1f11478..9355841 100644
--- a/arch/arm/mach-bcm2708/Kconfig
+++ b/arch/arm/mach-bcm2708/Kconfig
@@ -9,6 +9,14 @@ config MACH_BCM2708
@@ -64,8 +62,6 @@ index 1f11478..9355841 100644
config BCM2708_VCMEM
bool "Videocore Memory"
depends on MACH_BCM2708
-diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile
-index c76f39bc..a722f3f 100644
--- a/arch/arm/mach-bcm2708/Makefile
+++ b/arch/arm/mach-bcm2708/Makefile
@@ -3,4 +3,5 @@
@@ -74,11 +70,9 @@ index c76f39bc..a722f3f 100644
obj-$(CONFIG_MACH_BCM2708) += clock.o bcm2708.o armctrl.o vcio.o power.o dma.o
+obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o
obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 9b4e709..7503649 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -331,6 +331,31 @@ static struct platform_device bcm2708_vcio_device = {
+@@ -331,6 +331,31 @@ static struct platform_device bcm2708_vc
},
};
@@ -120,9 +114,6 @@ index 9b4e709..7503649 100644
bcm_register_device(&bcm2708_systemtimer_device);
bcm_register_device(&bcm2708_fb_device);
bcm_register_device(&bcm2708_usb_device);
-diff --git a/arch/arm/mach-bcm2708/bcm2708_gpio.c b/arch/arm/mach-bcm2708/bcm2708_gpio.c
-new file mode 100644
-index 0000000..c1e9254
--- /dev/null
+++ b/arch/arm/mach-bcm2708/bcm2708_gpio.c
@@ -0,0 +1,426 @@
@@ -552,9 +543,6 @@ index 0000000..c1e9254
+
+MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver");
+MODULE_LICENSE("GPL");
-diff --git a/arch/arm/mach-bcm2708/include/mach/gpio.h b/arch/arm/mach-bcm2708/include/mach/gpio.h
-new file mode 100644
-index 0000000..7965a97
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/gpio.h
@@ -0,0 +1,17 @@
@@ -575,9 +563,6 @@ index 0000000..7965a97
+#define irq_to_gpio(x) ((x) - GPIO_IRQ_START)
+
+#endif
-diff --git a/include/linux/platform_data/bcm2708.h b/include/linux/platform_data/bcm2708.h
-new file mode 100644
-index 0000000..fb69624
--- /dev/null
+++ b/include/linux/platform_data/bcm2708.h
@@ -0,0 +1,23 @@
@@ -604,6 +589,3 @@ index 0000000..fb69624
+ bcm2708_gpio_pull_t value);
+
+#endif
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch b/target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch
index 73b9f7f4fc..84fa83e67b 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch
+++ b/target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch
@@ -10,9 +10,6 @@ No modules are needed and it includes all Pi specific drivers
1 file changed, 197 insertions(+)
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
+++ b/arch/arm/configs/bcmrpi_quick_defconfig
@@ -0,0 +1,197 @@
@@ -213,6 +210,3 @@ index 0000000..e5efe75
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
index 0bc5bce41d..0623c49e4c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
@@ -137,8 +137,6 @@ Signed-off-by: Kari Suvanto <karis79@gmail.com>
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
-diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
-index d7be717..f48b630 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -24,6 +24,7 @@ obj-$(CONFIG_USB_U132_HCD) += host/
@@ -149,11 +147,9 @@ index d7be717..f48b630 100644
obj-$(CONFIG_USB_IMX21_HCD) += host/
obj-$(CONFIG_USB_FSL_MPH_DR_OF) += host/
obj-$(CONFIG_USB_FUSBH200_HCD) += host/
-diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c
-index 358ca8d..abaac7c 100644
--- a/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,
"no configuration chosen from %d choice%s\n",
num_configs, plural(num_configs));
@@ -161,8 +157,6 @@ index 358ca8d..abaac7c 100644
}
return i;
}
-diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
-index f7b7713..5423d18 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -1889,6 +1889,85 @@ free_interfaces:
@@ -251,8 +245,6 @@ index f7b7713..5423d18 100644
/* Now that the interfaces are installed, re-enable LPM. */
usb_unlocked_enable_lpm(dev);
-diff --git a/drivers/usb/core/otg_whitelist.h b/drivers/usb/core/otg_whitelist.h
-index a6315ab..165dd53 100644
--- a/drivers/usb/core/otg_whitelist.h
+++ b/drivers/usb/core/otg_whitelist.h
@@ -19,33 +19,82 @@
@@ -344,7 +336,7 @@ index a6315ab..165dd53 100644
static int is_targeted(struct usb_device *dev)
{
struct usb_device_id *id = whitelist_table;
-@@ -95,16 +144,57 @@ static int is_targeted(struct usb_device *dev)
+@@ -95,16 +144,57 @@ static int is_targeted(struct usb_device
continue;
return 1;
@@ -367,15 +359,11 @@ index a6315ab..165dd53 100644
+ 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;
-
-- /* OTG MESSAGE: report errors here, customize to match your product */
-- dev_err(&dev->dev, "device v%04x p%04x is not supported\n",
-- le16_to_cpu(dev->descriptor.idVendor),
-- le16_to_cpu(dev->descriptor.idProduct));
++
+ /* 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) &&
@@ -397,20 +385,21 @@ index a6315ab..165dd53 100644
+ if ((id->match_flags & USB_DEVICE_ID_MATCH_DEV_PROTOCOL) &&
+ (id->bDeviceProtocol != dev->descriptor.bDeviceProtocol))
+ continue;
-+
+
+ return 1;
+ }
+ }
-+
+
+- /* OTG MESSAGE: report errors here, customize to match your product */
+- dev_err(&dev->dev, "device v%04x p%04x is not supported\n",
+- le16_to_cpu(dev->descriptor.idVendor),
+- le16_to_cpu(dev->descriptor.idProduct));
+ /* add other match criteria here ... */
+ report_errors(dev);
return 0;
}
-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
+++ b/drivers/usb/gadget/file_storage.c
@@ -0,0 +1,3676 @@
@@ -4090,8 +4079,6 @@ index 0000000..a896d73
+ kref_put(&fsg->ref, fsg_release);
+}
+module_exit(fsg_cleanup);
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index a3ca137..4937c9c 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -744,6 +744,19 @@ config USB_HWA_HCD
@@ -4114,8 +4101,6 @@ index a3ca137..4937c9c 100644
config USB_IMX21_HCD
tristate "i.MX21 HCD support"
depends on ARM && ARCH_MXC
-diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
-index 348c243..7ca1836 100644
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
@@ -71,6 +71,8 @@ obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o
@@ -4127,9 +4112,6 @@ index 348c243..7ca1836 100644
obj-$(CONFIG_USB_IMX21_HCD) += imx21-hcd.o
obj-$(CONFIG_USB_FSL_MPH_DR_OF) += fsl-mph-dr-of.o
obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o
-diff --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
+++ b/drivers/usb/host/dwc_common_port/Makefile
@@ -0,0 +1,58 @@
@@ -4191,9 +4173,6 @@ index 0000000..f10d466
+
+clean:
+ 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
+++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd
@@ -0,0 +1,17 @@
@@ -4214,9 +4193,6 @@ index 0000000..45db991
+ dwc_common_fbsd.c dwc_mem.c
+
+.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
+++ b/drivers/usb/host/dwc_common_port/Makefile.linux
@@ -0,0 +1,49 @@
@@ -4269,9 +4245,6 @@ index 0000000..0cef7b4
+
+clean:
+ 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
+++ b/drivers/usb/host/dwc_common_port/changes.txt
@@ -0,0 +1,174 @@
@@ -4449,9 +4422,6 @@ index 0000000..f6839f9
+A DWC_LIBMODULE #define has also been added. If this is not defined, then the
+module code in dwc_common_linux.c is not compiled in. This allows linking the
+library code directly into a driver module, instead of as a standalone module.
-diff --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
+++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg
@@ -0,0 +1,270 @@
@@ -4725,9 +4695,6 @@ index 0000000..89aa887
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+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
+++ b/drivers/usb/host/dwc_common_port/dwc_cc.c
@@ -0,0 +1,532 @@
@@ -5263,9 +5230,6 @@ index 0000000..5ec2ae2
+}
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_cc.h
@@ -0,0 +1,224 @@
@@ -5493,9 +5457,6 @@ index 0000000..f86e6f2
+#endif
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c
@@ -0,0 +1,1308 @@
@@ -6807,9 +6768,6 @@ index 0000000..6dd04b5
+{
+ 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..1668f10
--- /dev/null
+++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
@@ -0,0 +1,1429 @@
@@ -8242,9 +8200,6 @@ index 0000000..1668f10
+MODULE_LICENSE ("GPL");
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c
@@ -0,0 +1,1275 @@
@@ -9523,9 +9478,6 @@ index 0000000..49b07e1
+{
+ 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
+++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c
@@ -0,0 +1,308 @@
@@ -9837,9 +9789,6 @@ index 0000000..3b03532
+}
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h
@@ -0,0 +1,111 @@
@@ -9954,9 +9903,6 @@ index 0000000..26fcddc
+#endif
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_dh.c
@@ -0,0 +1,291 @@
@@ -10251,9 +10197,6 @@ index 0000000..2b429a3
+#endif /* !CONFIG_MACH_IPMATE */
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_dh.h
@@ -0,0 +1,106 @@
@@ -10363,9 +10306,6 @@ index 0000000..25c1cc0
+#endif
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_list.h
@@ -0,0 +1,594 @@
@@ -10963,9 +10903,6 @@ index 0000000..89cc325
+#endif
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_mem.c
@@ -0,0 +1,245 @@
@@ -11214,9 +11151,6 @@ index 0000000..ad645ff
+}
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c
@@ -0,0 +1,636 @@
@@ -11856,9 +11790,6 @@ index 0000000..2004538
+#endif /* CONFIG_MACH_IPMATE */
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h
@@ -0,0 +1,34 @@
@@ -11896,9 +11827,6 @@ index 0000000..64f00c2
+#endif
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c
@@ -0,0 +1,319 @@
@@ -12221,9 +12149,6 @@ index 0000000..8b3772a
+}
+
+#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
+++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h
@@ -0,0 +1,122 @@
@@ -12349,9 +12274,6 @@ index 0000000..4a8cdfe
+#endif
+
+#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..8117731
--- /dev/null
+++ b/drivers/usb/host/dwc_common_port/dwc_os.h
@@ -0,0 +1,1274 @@
@@ -13629,9 +13551,6 @@ index 0000000..8117731
+#endif
+
+#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
+++ b/drivers/usb/host/dwc_common_port/usb.h
@@ -0,0 +1,946 @@
@@ -14581,9 +14500,6 @@ index 0000000..27bda82
+#endif
+
+#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
+++ b/drivers/usb/host/dwc_otg/Makefile
@@ -0,0 +1,80 @@
@@ -14667,9 +14583,6 @@ index 0000000..236c47c
+ rm -rf *.o *.ko .*cmd *.mod.c .tmp_versions Module.symvers
+
+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
+++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg
@@ -0,0 +1,224 @@
@@ -14897,9 +14810,6 @@ index 0000000..712b057
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+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
+++ b/drivers/usb/host/dwc_otg/dummy_audio.c
@@ -0,0 +1,1575 @@
@@ -16478,9 +16388,6 @@ index 0000000..225decf
+ remove_proc_entry("isoc_test", NULL);
+}
+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
+++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h
@@ -0,0 +1,142 @@
@@ -16626,9 +16533,6 @@ index 0000000..7770e20
+typedef struct cfi_string cfi_string_t;
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c
@@ -0,0 +1,854 @@
@@ -17486,9 +17390,6 @@ index 0000000..ce0618d
+#endif
+ 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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h
@@ -0,0 +1,80 @@
@@ -17572,9 +17473,6 @@ index 0000000..4110b25
+extern int32_t dwc_otg_adp_handle_srp_intr(dwc_otg_core_if_t * core_if);
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
@@ -0,0 +1,1210 @@
@@ -18788,9 +18686,6 @@ index 0000000..fab2961
+ device_remove_file(&dev->dev, &dev_attr_sleep_status);
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h
@@ -0,0 +1,89 @@
@@ -18883,9 +18778,6 @@ index 0000000..e10b67f
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c
@@ -0,0 +1,1876 @@
@@ -20765,9 +20657,6 @@ index 0000000..bbb3d32
+}
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h
@@ -0,0 +1,320 @@
@@ -21091,9 +20980,6 @@ index 0000000..55fd337
+int cfi_setup(struct dwc_otg_pcd *pcd, struct cfi_usb_ctrlrequest *ctrl);
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
@@ -0,0 +1,7151 @@
@@ -28248,9 +28134,6 @@ index 0000000..6a32c5c
+ dwc_otg_pcd_start_srp_timer(core_if);
+ 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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h
@@ -0,0 +1,1464 @@
@@ -29718,9 +29601,6 @@ index 0000000..79dbf83
+//////////////////////////////////////////////////////////////////////
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
@@ -0,0 +1,1563 @@
@@ -31287,9 +31167,6 @@ index 0000000..59fc862
+
+ 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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h
@@ -0,0 +1,705 @@
@@ -31998,9 +31875,6 @@ index 0000000..4138fd1
+/** @} */
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
@@ -0,0 +1,116 @@
@@ -32120,9 +31994,6 @@ index 0000000..8900318
+
+#endif /*DEBUG*/
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
@@ -0,0 +1,1700 @@
@@ -33826,9 +33697,6 @@ index 0000000..ac2c846
+ </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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h
@@ -0,0 +1,86 @@
@@ -33918,9 +33786,6 @@ index 0000000..6a8be63
+#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..1e89549
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
@@ -0,0 +1,3479 @@
@@ -37403,9 +37268,6 @@ index 0000000..1e89549
+}
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
@@ -0,0 +1,824 @@
@@ -38233,9 +38095,6 @@ index 0000000..bb4f67a
+#endif
+#endif
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
@@ -0,0 +1,1133 @@
@@ -39372,9 +39231,6 @@ index 0000000..274967b
+}
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
@@ -0,0 +1,412 @@
@@ -39790,9 +39646,6 @@ index 0000000..4823167
+
+#endif /* __DWC_HCD_IF_H__ */
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
@@ -0,0 +1,2106 @@
@@ -41902,9 +41755,6 @@ index 0000000..b41e164
+}
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
@@ -0,0 +1,893 @@
@@ -42801,9 +42651,6 @@ index 0000000..e4787f5
+}
+
+#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..0a1cbb7
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
@@ -0,0 +1,923 @@
@@ -43730,9 +43577,6 @@ index 0000000..0a1cbb7
+}
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
@@ -0,0 +1,185 @@
@@ -43921,9 +43765,6 @@ index 0000000..e46d9bb
+
+
+#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..ae0c72d
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c
@@ -0,0 +1,2712 @@
@@ -46639,9 +46480,6 @@ index 0000000..ae0c72d
+}
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h
@@ -0,0 +1,266 @@
@@ -46911,9 +46749,6 @@ index 0000000..8ef7ba6
+extern void do_test_mode(void *data);
+#endif
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h
@@ -0,0 +1,360 @@
@@ -47277,9 +47112,6 @@ index 0000000..c8d2e0e
+#endif /* __DWC_PCD_IF_H__ */
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
@@ -0,0 +1,5147 @@
@@ -52430,9 +52262,6 @@ index 0000000..1b1f83c
+}
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
@@ -0,0 +1,1358 @@
@@ -53794,9 +53623,6 @@ index 0000000..5d310df
+EXPORT_SYMBOL(usb_gadget_unregister_driver);
+
+#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h
@@ -0,0 +1,2550 @@
@@ -56350,9 +56176,6 @@ index 0000000..8e0e7b5
+} gpwrdn_data_t;
+
+#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
+++ b/drivers/usb/host/dwc_otg/test/Makefile
@@ -0,0 +1,16 @@
@@ -56372,9 +56195,6 @@ index 0000000..fc45375
+ else echo "=======> $$test, FAILED" ; \
+ fi \
+ 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
+++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm
@@ -0,0 +1,337 @@
@@ -56715,9 +56535,6 @@ index 0000000..85e55fd
+);
+
+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
+++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl
@@ -0,0 +1,133 @@
@@ -56854,9 +56671,6 @@ index 0000000..dc3820d
+
+test_main();
+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
+++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl
@@ -0,0 +1,193 @@
@@ -57053,6 +56867,3 @@ index 0000000..cdc9963
+
+test_main();
+0;
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch b/target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch
index 7f44f24e38..d871c9852c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch
@@ -11,8 +11,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
3 files changed, 389 insertions(+)
create mode 100644 drivers/watchdog/bcm2708_wdog.c
-diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
-index d0107d4..ff56894 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -452,6 +452,12 @@ config RETU_WATCHDOG
@@ -28,11 +26,9 @@ index d0107d4..ff56894 100644
config MOXART_WDT
tristate "MOXART watchdog"
depends on ARCH_MOXART
-diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
-index c569ec8..10e0665 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
-@@ -56,6 +56,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_wdt.o
+@@ -56,6 +56,7 @@ obj-$(CONFIG_TS72XX_WATCHDOG) += ts72xx_
obj-$(CONFIG_IMX2_WDT) += imx2_wdt.o
obj-$(CONFIG_UX500_WATCHDOG) += ux500_wdt.o
obj-$(CONFIG_RETU_WATCHDOG) += retu_wdt.o
@@ -40,9 +36,6 @@ index c569ec8..10e0665 100644
obj-$(CONFIG_BCM2835_WDT) += bcm2835_wdt.o
obj-$(CONFIG_MOXART_WDT) += moxart_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..8a27d68
--- /dev/null
+++ b/drivers/watchdog/bcm2708_wdog.c
@@ -0,0 +1,382 @@
@@ -428,6 +421,3 @@ index 0000000..8a27d68
+MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
+MODULE_ALIAS_MISCDEV(TEMP_MINOR);
+MODULE_LICENSE("GPL");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch b/target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch
index 4b0c2b292d..7e8ad0cd45 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch
+++ b/target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch
@@ -353,11 +353,9 @@ Subject: [PATCH 006/114] Add non-mainline source for rtl8192cu wireless driver
create mode 100755 drivers/net/wireless/rtl8192cu/runwpa
create mode 100755 drivers/net/wireless/rtl8192cu/wlan0dhcp
-diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig
-index 16604bd..ea4d54f 100644
--- a/drivers/net/wireless/Kconfig
+++ b/drivers/net/wireless/Kconfig
-@@ -277,7 +277,8 @@ source "drivers/net/wireless/libertas/Kconfig"
+@@ -277,7 +277,8 @@ source "drivers/net/wireless/libertas/Kc
source "drivers/net/wireless/orinoco/Kconfig"
source "drivers/net/wireless/p54/Kconfig"
source "drivers/net/wireless/rt2x00/Kconfig"
@@ -367,8 +365,6 @@ index 16604bd..ea4d54f 100644
source "drivers/net/wireless/ti/Kconfig"
source "drivers/net/wireless/zd1211rw/Kconfig"
source "drivers/net/wireless/mwifiex/Kconfig"
-diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile
-index 0c88916..2971041 100644
--- a/drivers/net/wireless/Makefile
+++ b/drivers/net/wireless/Makefile
@@ -24,7 +24,8 @@ obj-$(CONFIG_B43LEGACY) += b43legacy/
@@ -381,9 +377,6 @@ index 0c88916..2971041 100644
# 16-bit wireless PCMCIA client drivers
obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o
-diff --git a/drivers/net/wireless/rtl8192cu/Kconfig b/drivers/net/wireless/rtl8192cu/Kconfig
-new file mode 100644
-index 0000000..ed37b1a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/Kconfig
@@ -0,0 +1,5 @@
@@ -392,9 +385,6 @@ index 0000000..ed37b1a
+ depends on USB
+ ---help---
+ Help message of RTL8192CU
-diff --git a/drivers/net/wireless/rtl8192cu/Makefile b/drivers/net/wireless/rtl8192cu/Makefile
-new file mode 100644
-index 0000000..bc137ab
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/Makefile
@@ -0,0 +1,615 @@
@@ -1013,9 +1003,6 @@ index 0000000..bc137ab
+ cd os_dep/linux ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
+ cd os_dep ; rm -fr *.mod.c *.mod *.o .*.cmd *.ko
+endif
-diff --git a/drivers/net/wireless/rtl8192cu/clean b/drivers/net/wireless/rtl8192cu/clean
-new file mode 100755
-index 0000000..8766421
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/clean
@@ -0,0 +1,5 @@
@@ -1024,9 +1011,6 @@ index 0000000..8766421
+rmmod 8192ce
+rmmod 8192du
+rmmod 8192de
-diff --git a/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c b/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c
-new file mode 100644
-index 0000000..c7f2b67
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/efuse/rtw_efuse.c
@@ -0,0 +1,1145 @@
@@ -2175,9 +2159,6 @@ index 0000000..c7f2b67
+}
+#endif //CONFIG_ADAPTOR_INFO_CACHING_FILE
+#endif //PLATFORM_LINUX
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ap.c b/drivers/net/wireless/rtl8192cu/core/rtw_ap.c
-new file mode 100644
-index 0000000..cd7e5f3
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_ap.c
@@ -0,0 +1,2939 @@
@@ -5120,9 +5101,6 @@ index 0000000..cd7e5f3
+
+#endif //CONFIG_NATIVEAP_MLME
+#endif //CONFIG_AP_MODE
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c b/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c
-new file mode 100644
-index 0000000..a5ac601
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_br_ext.c
@@ -0,0 +1,1699 @@
@@ -6825,9 +6803,6 @@ index 0000000..a5ac601
+}
+
+#endif // CONFIG_BR_EXT
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c b/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c
-new file mode 100644
-index 0000000..2455304
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_cmd.c
@@ -0,0 +1,3034 @@
@@ -9865,9 +9840,6 @@ index 0000000..2455304
+_func_exit_;
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_debug.c b/drivers/net/wireless/rtl8192cu/core/rtw_debug.c
-new file mode 100644
-index 0000000..2268c1a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_debug.c
@@ -0,0 +1,1336 @@
@@ -11207,9 +11179,6 @@ index 0000000..2268c1a
+#endif /* CONFIG_DM_ADAPTIVITY */
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c b/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c
-new file mode 100644
-index 0000000..c0a6b54
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_eeprom.c
@@ -0,0 +1,422 @@
@@ -11635,9 +11604,6 @@ index 0000000..c0a6b54
+
+_func_exit_;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c b/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c
-new file mode 100644
-index 0000000..cc0b97a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_ieee80211.c
@@ -0,0 +1,1914 @@
@@ -13555,9 +13521,6 @@ index 0000000..cc0b97a
+ action = (action >= ACT_PUBLIC_MAX) ? ACT_PUBLIC_MAX : action;
+ return _action_public_str[action];
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_io.c b/drivers/net/wireless/rtl8192cu/core/rtw_io.c
-new file mode 100644
-index 0000000..3e8ee42
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_io.c
@@ -0,0 +1,462 @@
@@ -14023,9 +13986,6 @@ index 0000000..3e8ee42
+ return _rtw_writeN(adapter, addr, length, data);
+}
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c
-new file mode 100644
-index 0000000..a67b08d
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_query.c
@@ -0,0 +1,195 @@
@@ -14224,9 +14184,6 @@ index 0000000..a67b08d
+ return _TRUE;
+}
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c
-new file mode 100644
-index 0000000..4e663d7
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_rtl.c
@@ -0,0 +1,1031 @@
@@ -15261,9 +15218,6 @@ index 0000000..4e663d7
+ return status;
+}
+//************** oid_rtl_seg_03_00 section end **************
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c
-new file mode 100644
-index 0000000..9d1bcf3
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_ioctl_set.c
@@ -0,0 +1,1493 @@
@@ -16760,9 +16714,6 @@ index 0000000..9d1bcf3
+ DBG_871X_LEVEL(_drv_always_, FUNC_ADPT_FMT" band:%d fail\n", FUNC_ADPT_ARG(adapter), band);
+ return _FAIL;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_iol.c b/drivers/net/wireless/rtl8192cu/core/rtw_iol.c
-new file mode 100644
-index 0000000..20632d6
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_iol.c
@@ -0,0 +1,262 @@
@@ -17028,9 +16979,6 @@ index 0000000..20632d6
+}
+
+#endif //CONFIG_IOL
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c b/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c
-new file mode 100644
-index 0000000..2dc13a4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_mlme.c
@@ -0,0 +1,3966 @@
@@ -21000,9 +20948,6 @@ index 0000000..2dc13a4
+ return _FALSE;
+}
+#endif //CONFIG_CONCURRENT_MODE
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c b/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c
-new file mode 100644
-index 0000000..b7716ae
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_mlme_ext.c
@@ -0,0 +1,13599 @@
@@ -34605,9 +34550,6 @@ index 0000000..b7716ae
+#endif //CONFIG_TDLS
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mp.c b/drivers/net/wireless/rtl8192cu/core/rtw_mp.c
-new file mode 100644
-index 0000000..2695425
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_mp.c
@@ -0,0 +1,1323 @@
@@ -35934,9 +35876,6 @@ index 0000000..2695425
+}
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c b/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c
-new file mode 100644
-index 0000000..a0d8680
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_mp_ioctl.c
@@ -0,0 +1,2953 @@
@@ -38893,9 +38832,6 @@ index 0000000..a0d8680
+ return 0;
+#endif
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c b/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c
-new file mode 100644
-index 0000000..8f6cad3
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_p2p.c
@@ -0,0 +1,5293 @@
@@ -44192,9 +44128,6 @@ index 0000000..8f6cad3
+}
+
+#endif //CONFIG_P2P
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c b/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c
-new file mode 100644
-index 0000000..63f8655
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_pwrctrl.c
@@ -0,0 +1,1538 @@
@@ -45736,9 +45669,6 @@ index 0000000..63f8655
+ }
+ return 0;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_recv.c b/drivers/net/wireless/rtl8192cu/core/rtw_recv.c
-new file mode 100644
-index 0000000..63aba4a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_recv.c
@@ -0,0 +1,4286 @@
@@ -50028,9 +49958,6 @@ index 0000000..63aba4a
+
+}
+#endif //CONFIG_NEW_SIGNAL_STAT_PROCESS
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_rf.c b/drivers/net/wireless/rtl8192cu/core/rtw_rf.c
-new file mode 100644
-index 0000000..52234bd
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_rf.c
@@ -0,0 +1,94 @@
@@ -50128,9 +50055,6 @@ index 0000000..52234bd
+
+ return ch;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_security.c b/drivers/net/wireless/rtl8192cu/core/rtw_security.c
-new file mode 100644
-index 0000000..2df28ba
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_security.c
@@ -0,0 +1,3114 @@
@@ -53248,9 +53172,6 @@ index 0000000..2df28ba
+
+ return status;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_sreset.c b/drivers/net/wireless/rtl8192cu/core/rtw_sreset.c
-new file mode 100644
-index 0000000..9d3dd7c
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_sreset.c
@@ -0,0 +1,351 @@
@@ -53605,9 +53526,6 @@ index 0000000..9d3dd7c
+ DBG_871X("%s done in %d ms\n", __FUNCTION__, rtw_get_passing_time_ms(start));
+#endif
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c b/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c
-new file mode 100644
-index 0000000..4483499
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_sta_mgt.c
@@ -0,0 +1,847 @@
@@ -54458,9 +54376,6 @@ index 0000000..4483499
+ return res;
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_tdls.c b/drivers/net/wireless/rtl8192cu/core/rtw_tdls.c
-new file mode 100644
-index 0000000..c99fc01
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_tdls.c
@@ -0,0 +1,2940 @@
@@ -57404,9 +57319,6 @@ index 0000000..c99fc01
+}
+
+#endif //CONFIG_TDLS
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c b/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c
-new file mode 100644
-index 0000000..d671155
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_wlan_util.c
@@ -0,0 +1,2304 @@
@@ -59714,9 +59626,6 @@ index 0000000..d671155
+exit:
+ return status;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c b/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c
-new file mode 100644
-index 0000000..fb4e698
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/core/rtw_xmit.c
@@ -0,0 +1,4155 @@
@@ -63875,9 +63784,6 @@ index 0000000..fb4e698
+ }
+}
+#endif //CONFIG_XMIT_ACK
-diff --git a/drivers/net/wireless/rtl8192cu/hal/HalPwrSeqCmd.c b/drivers/net/wireless/rtl8192cu/hal/HalPwrSeqCmd.c
-new file mode 100644
-index 0000000..4ecf229
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/HalPwrSeqCmd.c
@@ -0,0 +1,175 @@
@@ -64056,9 +63962,6 @@ index 0000000..4ecf229
+
+ return _TRUE;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/dm.c b/drivers/net/wireless/rtl8192cu/hal/dm.c
-new file mode 100644
-index 0000000..807dfd1
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/dm.c
@@ -0,0 +1,313 @@
@@ -64375,9 +64278,6 @@ index 0000000..807dfd1
+ return;
+#endif /* CONFIG_DM_ADAPTIVITY */
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/dm.h b/drivers/net/wireless/rtl8192cu/hal/dm.h
-new file mode 100644
-index 0000000..cacd58f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/dm.h
@@ -0,0 +1,30 @@
@@ -64411,9 +64311,6 @@ index 0000000..cacd58f
+void dm_adaptivity(_adapter *pAdapter);
+
+#endif /* __DM_H__ */
-diff --git a/drivers/net/wireless/rtl8192cu/hal/hal_com.c b/drivers/net/wireless/rtl8192cu/hal/hal_com.c
-new file mode 100644
-index 0000000..b9e4dad
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/hal_com.c
@@ -0,0 +1,370 @@
@@ -64787,9 +64684,6 @@ index 0000000..b9e4dad
+exit:
+ return ret;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/hal_intf.c b/drivers/net/wireless/rtl8192cu/hal/hal_intf.c
-new file mode 100644
-index 0000000..fd1e888
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/hal_intf.c
@@ -0,0 +1,545 @@
@@ -65338,9 +65232,6 @@ index 0000000..fd1e888
+{
+ return adapter->HalFunc.c2h_id_filter_ccx;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c
-new file mode 100644
-index 0000000..27e8d54
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_cmd.c
@@ -0,0 +1,1154 @@
@@ -66498,9 +66389,6 @@ index 0000000..27e8d54
+}
+
+#endif //CONFIG_WOWLAN
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c
-new file mode 100644
-index 0000000..98d6f14
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_dm.c
@@ -0,0 +1,5055 @@
@@ -71559,9 +71447,6 @@ index 0000000..98d6f14
+ }
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c
-new file mode 100644
-index 0000000..bf5518f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_hal_init.c
@@ -0,0 +1,3627 @@
@@ -75192,9 +75077,6 @@ index 0000000..bf5518f
+ pHalFunc->c2h_handler = c2h_handler_8192c;
+ pHalFunc->c2h_id_filter_ccx = c2h_id_filter_ccx_8192c;
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c
-new file mode 100644
-index 0000000..4d574d3
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_mp.c
@@ -0,0 +1,1207 @@
@@ -76405,9 +76287,6 @@ index 0000000..4d574d3
+}
+
+#endif // CONFIG_MP_INCLUDE
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c
-new file mode 100644
-index 0000000..8b19ced
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_phycfg.c
@@ -0,0 +1,4840 @@
@@ -81251,9 +81130,6 @@ index 0000000..8b19ced
+ _PHY_SetRFPathSwitch(pAdapter, bMain, _FALSE);
+ }
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c
-new file mode 100644
-index 0000000..d4e92f8
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rf6052.c
@@ -0,0 +1,1030 @@
@@ -82287,9 +82163,6 @@ index 0000000..d4e92f8
+} /* PHY_RFShadowRead */
+
+/* End of HalRf6052.c */
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c
-new file mode 100644
-index 0000000..1b102c6
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_rxdesc.c
@@ -0,0 +1,874 @@
@@ -83167,9 +83040,6 @@ index 0000000..1b102c6
+ //Offset 20
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c
-new file mode 100644
-index 0000000..6275894
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_sreset.c
@@ -0,0 +1,93 @@
@@ -83266,9 +83136,6 @@ index 0000000..6275894
+ }
+}
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_xmit.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_xmit.c
-new file mode 100644
-index 0000000..e958164
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/rtl8192c_xmit.c
@@ -0,0 +1,62 @@
@@ -83334,9 +83201,6 @@ index 0000000..e958164
+ }
+}
+#endif //CONFIG_XMIT_ACK
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c
-new file mode 100644
-index 0000000..9faa8c1
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg.c
@@ -0,0 +1,8757 @@
@@ -92097,9 +91961,6 @@ index 0000000..9faa8c1
+0xc78,0x621e001e,
+0xc78,0x621f001e,
+};
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c
-new file mode 100644
-index 0000000..5554813
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/Hal8192CUHWImg_wowlan.c
@@ -0,0 +1,2557 @@
@@ -94660,9 +94521,6 @@ index 0000000..5554813
+0x94,0x01,0x40,0x1e,0x90,0xfd,0x11,0xe0,0xb5,0x05,0x14,0x90,0x01,0x17,0xe0,0xb5,
+0x05,0x07,0x90,0xfd,0x11,0xe4,0xf0,0x80,0x06,0xed,0x04,0x90,0xfd,0x11,0xf0,0xe4,
+0x2f,0xff,0x22,0x00,0x18,0x58,};
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c
-new file mode 100644
-index 0000000..382b978
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_led.c
@@ -0,0 +1,2674 @@
@@ -97340,9 +97198,6 @@ index 0000000..382b978
+ DeInitLed871x( &(ledpriv->SwLed0) );
+ DeInitLed871x( &(ledpriv->SwLed1) );
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c
-new file mode 100644
-index 0000000..dd4383f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_recv.c
@@ -0,0 +1,227 @@
@@ -97573,9 +97428,6 @@ index 0000000..dd4383f
+#endif
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c
-new file mode 100644
-index 0000000..c7bcae7
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/rtl8192cu_xmit.c
@@ -0,0 +1,1149 @@
@@ -98728,9 +98580,6 @@ index 0000000..c7bcae7
+
+}
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c
-new file mode 100644
-index 0000000..edb72c1
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_halinit.c
@@ -0,0 +1,6260 @@
@@ -104994,9 +104843,6 @@ index 0000000..edb72c1
+_func_exit_;
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c
-new file mode 100644
-index 0000000..26148fc
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_ce.c
@@ -0,0 +1,1205 @@
@@ -106205,9 +106051,6 @@ index 0000000..26148fc
+ return ret;
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c
-new file mode 100644
-index 0000000..7167c26
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_linux.c
@@ -0,0 +1,1535 @@
@@ -107746,9 +107589,6 @@ index 0000000..7167c26
+ _func_exit_;
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c
-new file mode 100644
-index 0000000..59143e3
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/hal/rtl8192c/usb/usb_ops_xp.c
@@ -0,0 +1,1264 @@
@@ -109016,9 +108856,6 @@ index 0000000..59143e3
+ return ret;
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/ifcfg-wlan0 b/drivers/net/wireless/rtl8192cu/ifcfg-wlan0
-new file mode 100755
-index 0000000..7ecb7ae
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/ifcfg-wlan0
@@ -0,0 +1,4 @@
@@ -109027,9 +108864,6 @@ index 0000000..7ecb7ae
+BOOTPROTO=dhcp
+ONBOOT=yes
\ No newline at end of file
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h
-new file mode 100644
-index 0000000..2ae36e4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CEHWImg.h
@@ -0,0 +1,85 @@
@@ -109118,9 +108952,6 @@ index 0000000..2ae36e4
+extern u32 Rtl8192CEAGCTAB_1TArray[AGCTAB_1TArrayLength];
+
+#endif //__INC_HAL8192CE_FW_IMG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h
-new file mode 100644
-index 0000000..918b520
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyCfg.h
@@ -0,0 +1,427 @@
@@ -109551,9 +109382,6 @@ index 0000000..918b520
+#define PHY_SetMacReg PHY_SetBBReg
+
+#endif // __INC_HAL8192CPHYCFG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h
-new file mode 100644
-index 0000000..746326e
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CPhyReg.h
@@ -0,0 +1,1122 @@
@@ -110679,9 +110507,6 @@ index 0000000..746326e
+
+
+#endif //__INC_HAL8192SPHYREG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h
-new file mode 100644
-index 0000000..cafea7b
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg.h
@@ -0,0 +1,105 @@
@@ -110790,9 +110615,6 @@ index 0000000..cafea7b
+extern u32 Rtl8192CUAGCTAB_1T_HPArray[AGCTAB_1T_HPArrayLength];
+
+#endif //__INC_HAL8192CU_FW_IMG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h
-new file mode 100644
-index 0000000..6e18fbc
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192CUHWImg_wowlan.h
@@ -0,0 +1,33 @@
@@ -110829,9 +110651,6 @@ index 0000000..6e18fbc
+extern u8 Rtl8192CUFwUMCBCutWWImgArray[UMCBCutWWImgArrayLength];
+
+#endif //__INC_HAL8192CU_FW_IMG_WOWLAN_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h
-new file mode 100644
-index 0000000..55998c2
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DEHWImg.h
@@ -0,0 +1,66 @@
@@ -110901,9 +110720,6 @@ index 0000000..55998c2
+extern const u32 Rtl8192DEAGCTAB_1TArray[Rtl8192DEAGCTAB_1TArrayLength];
+
+#endif //__INC_HAL8192CU_FW_IMG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h
-new file mode 100644
-index 0000000..43c1188
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyCfg.h
@@ -0,0 +1,527 @@
@@ -111434,9 +111250,6 @@ index 0000000..43c1188
+#define PHY_SetMacReg PHY_SetBBReg
+
+#endif // __INC_HAL8192SPHYCFG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h
-new file mode 100644
-index 0000000..f79d8a2
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DPhyReg.h
@@ -0,0 +1,1170 @@
@@ -112610,9 +112423,6 @@ index 0000000..f79d8a2
+
+
+#endif //__INC_HAL8192SPHYREG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h
-new file mode 100644
-index 0000000..0d225ce
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg.h
@@ -0,0 +1,66 @@
@@ -112682,9 +112492,6 @@ index 0000000..0d225ce
+extern const u32 Rtl8192DUAGCTAB_1TArray[Rtl8192DUAGCTAB_1TArrayLength];
+
+#endif //__INC_HAL8192CU_FW_IMG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h
-new file mode 100644
-index 0000000..b5ab71f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/Hal8192DUHWImg_wowlan.h
@@ -0,0 +1,29 @@
@@ -112717,9 +112524,6 @@ index 0000000..b5ab71f
+extern u8 Rtl8192DUFwWWImgArray[DUWWImgArrayLength];
+
+#endif //__INC_HAL8192DU_FW_IMG_WOWLAN_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/HalPwrSeqCmd.h b/drivers/net/wireless/rtl8192cu/include/HalPwrSeqCmd.h
-new file mode 100644
-index 0000000..e5d151c
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/HalPwrSeqCmd.h
@@ -0,0 +1,137 @@
@@ -112860,9 +112664,6 @@ index 0000000..e5d151c
+ WLAN_PWR_CFG PwrCfgCmd[]);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/autoconf.h b/drivers/net/wireless/rtl8192cu/include/autoconf.h
-new file mode 100644
-index 0000000..dcdb512
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/autoconf.h
@@ -0,0 +1,336 @@
@@ -113202,9 +113003,6 @@ index 0000000..dcdb512
+
+//turn off power tracking when traffic is busy
+//#define CONFIG_BUSY_TRAFFIC_SKIP_PWR_TRACK
-diff --git a/drivers/net/wireless/rtl8192cu/include/basic_types.h b/drivers/net/wireless/rtl8192cu/include/basic_types.h
-new file mode 100644
-index 0000000..c52fe3a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/basic_types.h
@@ -0,0 +1,320 @@
@@ -113528,9 +113326,6 @@ index 0000000..c52fe3a
+typedef unsigned char BOOLEAN,*PBOOLEAN;
+
+#endif //__BASIC_TYPES_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h b/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h
-new file mode 100644
-index 0000000..0cd3504
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/byteorder/big_endian.h
@@ -0,0 +1,87 @@
@@ -113621,9 +113416,6 @@ index 0000000..0cd3504
+#include <byteorder/generic.h>
+
+#endif /* _LINUX_BYTEORDER_BIG_ENDIAN_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h b/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h
-new file mode 100644
-index 0000000..11676a6
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/byteorder/generic.h
@@ -0,0 +1,212 @@
@@ -113839,9 +113631,6 @@ index 0000000..11676a6
+#endif
+
+#endif /* _LINUX_BYTEORDER_GENERIC_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h b/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h
-new file mode 100644
-index 0000000..9f77fb4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/byteorder/little_endian.h
@@ -0,0 +1,89 @@
@@ -113934,9 +113723,6 @@ index 0000000..9f77fb4
+#include <byteorder/generic.h>
+
+#endif /* _LINUX_BYTEORDER_LITTLE_ENDIAN_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h b/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h
-new file mode 100644
-index 0000000..1cf2821
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/byteorder/swab.h
@@ -0,0 +1,140 @@
@@ -114080,9 +113866,6 @@ index 0000000..1cf2821
+#endif
+
+#endif /* _LINUX_BYTEORDER_SWAB_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h b/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h
-new file mode 100644
-index 0000000..cf0fad6
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/byteorder/swabb.h
@@ -0,0 +1,156 @@
@@ -114242,9 +114025,6 @@ index 0000000..cf0fad6
+#endif
+
+#endif /* _LINUX_BYTEORDER_SWABB_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/circ_buf.h b/drivers/net/wireless/rtl8192cu/include/circ_buf.h
-new file mode 100644
-index 0000000..236fbe6
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/circ_buf.h
@@ -0,0 +1,27 @@
@@ -114275,9 +114055,6 @@ index 0000000..236fbe6
+#define CIRC_SPACE(head,tail,size) CIRC_CNT((tail),((head)+1),(size))
+
+#endif //_CIRC_BUF_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h b/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h
-new file mode 100644
-index 0000000..c4903f4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/cmd_osdep.h
@@ -0,0 +1,35 @@
@@ -114316,9 +114093,6 @@ index 0000000..c4903f4
+extern struct cmd_obj *_rtw_dequeue_cmd(_queue *queue);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/drv_conf.h b/drivers/net/wireless/rtl8192cu/include/drv_conf.h
-new file mode 100644
-index 0000000..370a121
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/drv_conf.h
@@ -0,0 +1,77 @@
@@ -114399,9 +114173,6 @@ index 0000000..370a121
+//#include <rtl871x_byteorder.h>
+
+#endif // __DRV_CONF_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types.h b/drivers/net/wireless/rtl8192cu/include/drv_types.h
-new file mode 100644
-index 0000000..46ab663
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/drv_types.h
@@ -0,0 +1,661 @@
@@ -115066,9 +114837,6 @@ index 0000000..46ab663
+
+
+#endif //__DRV_TYPES_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h b/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h
-new file mode 100644
-index 0000000..25794fd
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/drv_types_ce.h
@@ -0,0 +1,92 @@
@@ -115164,9 +114932,6 @@ index 0000000..25794fd
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h b/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h
-new file mode 100644
-index 0000000..812b744
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/drv_types_linux.h
@@ -0,0 +1,24 @@
@@ -115194,9 +114959,6 @@ index 0000000..812b744
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_sdio.h b/drivers/net/wireless/rtl8192cu/include/drv_types_sdio.h
-new file mode 100644
-index 0000000..c445712
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/drv_types_sdio.h
@@ -0,0 +1,69 @@
@@ -115269,9 +115031,6 @@ index 0000000..c445712
+} SDIO_DATA, *PSDIO_DATA;
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h b/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h
-new file mode 100644
-index 0000000..1d735d6
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/drv_types_xp.h
@@ -0,0 +1,94 @@
@@ -115369,9 +115128,6 @@ index 0000000..1d735d6
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/ethernet.h b/drivers/net/wireless/rtl8192cu/include/ethernet.h
-new file mode 100644
-index 0000000..e22c12b
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/ethernet.h
@@ -0,0 +1,41 @@
@@ -115416,9 +115172,6 @@ index 0000000..e22c12b
+
+
+#endif // #ifndef __INC_ETHERNET_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/h2clbk.h b/drivers/net/wireless/rtl8192cu/include/h2clbk.h
-new file mode 100644
-index 0000000..847356e
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/h2clbk.h
@@ -0,0 +1,35 @@
@@ -115457,9 +115210,6 @@ index 0000000..847356e
+void _lbk_evt(IN PADAPTER Adapter);
+
+void h2c_event_callback(unsigned char *dev, unsigned char *pbuf);
-diff --git a/drivers/net/wireless/rtl8192cu/include/hal_com.h b/drivers/net/wireless/rtl8192cu/include/hal_com.h
-new file mode 100644
-index 0000000..382f124
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/hal_com.h
@@ -0,0 +1,145 @@
@@ -115608,9 +115358,6 @@ index 0000000..382f124
+s32 c2h_evt_read(_adapter *adapter, u8 *buf);
+
+#endif //__HAL_COMMON_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/hal_intf.h b/drivers/net/wireless/rtl8192cu/include/hal_intf.h
-new file mode 100644
-index 0000000..cac4408
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/hal_intf.h
@@ -0,0 +1,431 @@
@@ -116045,9 +115792,6 @@ index 0000000..cac4408
+c2h_id_filter rtw_hal_c2h_id_filter_ccx(_adapter *adapter);
+
+#endif //__HAL_INTF_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/ieee80211.h b/drivers/net/wireless/rtl8192cu/include/ieee80211.h
-new file mode 100644
-index 0000000..b3735bd
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/ieee80211.h
@@ -0,0 +1,1579 @@
@@ -117630,9 +117374,6 @@ index 0000000..b3735bd
+const char *action_public_str(u8 action);
+
+#endif /* IEEE80211_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h b/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h
-new file mode 100644
-index 0000000..eba9001
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/ieee80211_ext.h
@@ -0,0 +1,476 @@
@@ -118112,9 +117853,6 @@ index 0000000..eba9001
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/if_ether.h b/drivers/net/wireless/rtl8192cu/include/if_ether.h
-new file mode 100644
-index 0000000..c81c536
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/if_ether.h
@@ -0,0 +1,112 @@
@@ -118230,9 +117968,6 @@ index 0000000..c81c536
+
+
+#endif /* _LINUX_IF_ETHER_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h b/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h
-new file mode 100644
-index 0000000..b2b2e97
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/ioctl_cfg80211.h
@@ -0,0 +1,179 @@
@@ -118415,9 +118150,6 @@ index 0000000..b2b2e97
+#endif
+
+#endif //__IOCTL_CFG80211_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/ip.h b/drivers/net/wireless/rtl8192cu/include/ip.h
-new file mode 100644
-index 0000000..2c3d2f3
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/ip.h
@@ -0,0 +1,141 @@
@@ -118562,9 +118294,6 @@ index 0000000..2c3d2f3
+};
+
+#endif /* _LINUX_IP_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/linux/wireless.h b/drivers/net/wireless/rtl8192cu/include/linux/wireless.h
-new file mode 100644
-index 0000000..036fc32
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/linux/wireless.h
@@ -0,0 +1,90 @@
@@ -118658,9 +118387,6 @@ index 0000000..036fc32
+};
+
+#endif /* _LINUX_WIRELESS_H */
-diff --git a/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h b/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h
-new file mode 100644
-index 0000000..383fc38
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/mlme_osdep.h
@@ -0,0 +1,39 @@
@@ -118703,9 +118429,6 @@ index 0000000..383fc38
+void rtw_reset_securitypriv( _adapter *adapter );
+
+#endif //_MLME_OSDEP_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h b/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h
-new file mode 100644
-index 0000000..9c9c69b
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/mp_custom_oid.h
@@ -0,0 +1,353 @@
@@ -119062,9 +118785,6 @@ index 0000000..9c9c69b
+#define OID_RT_PRO_EFUSE_MAP 0xFF871217 //Q, S
+
+#endif //#ifndef __CUSTOM_OID_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/nic_spec.h b/drivers/net/wireless/rtl8192cu/include/nic_spec.h
-new file mode 100644
-index 0000000..fba5e56
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/nic_spec.h
@@ -0,0 +1,46 @@
@@ -119114,9 +118834,6 @@ index 0000000..fba5e56
+
+
+#endif // __RTL8711_SPEC_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h b/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h
-new file mode 100644
-index 0000000..4b4def0
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/osdep_ce_service.h
@@ -0,0 +1,170 @@
@@ -119290,9 +119007,6 @@ index 0000000..4b4def0
+ NdisInterlockedDecrement((PULONG)&(_MutexCounter)); \
+}
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/osdep_intf.h b/drivers/net/wireless/rtl8192cu/include/osdep_intf.h
-new file mode 100644
-index 0000000..10e5e4a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/osdep_intf.h
@@ -0,0 +1,154 @@
@@ -119450,9 +119164,6 @@ index 0000000..10e5e4a
+void rtw_ndev_destructor(_nic_hdl ndev);
+
+#endif //_OSDEP_INTF_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/osdep_service.h b/drivers/net/wireless/rtl8192cu/include/osdep_service.h
-new file mode 100644
-index 0000000..f1511aa
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/osdep_service.h
@@ -0,0 +1,1813 @@
@@ -121269,9 +120980,6 @@ index 0000000..f1511aa
+void rtw_cbuf_free(struct rtw_cbuf *cbuf);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/pci_hal.h b/drivers/net/wireless/rtl8192cu/include/pci_hal.h
-new file mode 100644
-index 0000000..650b04f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/pci_hal.h
@@ -0,0 +1,167 @@
@@ -121442,9 +121150,6 @@ index 0000000..650b04f
+#endif
+
+#endif //__PCIE_HAL_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/pci_ops.h b/drivers/net/wireless/rtl8192cu/include/pci_ops.h
-new file mode 100644
-index 0000000..51d96c4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/pci_ops.h
@@ -0,0 +1,60 @@
@@ -121508,9 +121213,6 @@ index 0000000..51d96c4
+#endif
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/pci_osintf.h b/drivers/net/wireless/rtl8192cu/include/pci_osintf.h
-new file mode 100644
-index 0000000..8d38a533
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/pci_osintf.h
@@ -0,0 +1,32 @@
@@ -121546,9 +121248,6 @@ index 0000000..8d38a533
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/recv_osdep.h b/drivers/net/wireless/rtl8192cu/include/recv_osdep.h
-new file mode 100644
-index 0000000..b39e00b
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/recv_osdep.h
@@ -0,0 +1,57 @@
@@ -121609,9 +121308,6 @@ index 0000000..b39e00b
+
+
+#endif //
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h
-new file mode 100644
-index 0000000..3a63316
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_cmd.h
@@ -0,0 +1,152 @@
@@ -121767,9 +121463,6 @@ index 0000000..3a63316
+#endif // CONFIG_WOWLAN
+
+#endif // __RTL8192C_CMD_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h
-new file mode 100644
-index 0000000..3c56d49
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_dm.h
@@ -0,0 +1,515 @@
@@ -122288,9 +121981,6 @@ index 0000000..3c56d49
+#endif
+
+#endif //__HAL8190PCIDM_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h
-new file mode 100644
-index 0000000..ddc08bf
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_event.h
@@ -0,0 +1,26 @@
@@ -122320,9 +122010,6 @@ index 0000000..ddc08bf
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h
-new file mode 100644
-index 0000000..c803139
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_hal.h
@@ -0,0 +1,934 @@
@@ -123260,9 +122947,6 @@ index 0000000..c803139
+extern void Hal_SetOFDMContinuousTx(PADAPTER pAdapter, u8 bStart);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h
-new file mode 100644
-index 0000000..88002db
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_led.h
@@ -0,0 +1,41 @@
@@ -123307,9 +122991,6 @@ index 0000000..88002db
+#endif
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h
-new file mode 100644
-index 0000000..9cfca91
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_recv.h
@@ -0,0 +1,183 @@
@@ -123496,9 +123177,6 @@ index 0000000..9cfca91
+void rtl8192c_query_rx_desc_status(union recv_frame *precvframe, struct recv_stat *pdesc);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h
-new file mode 100644
-index 0000000..7e22503
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_rf.h
@@ -0,0 +1,91 @@
@@ -123593,9 +123271,6 @@ index 0000000..7e22503
+
+
+#endif/* End of HalRf.h */
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h
-new file mode 100644
-index 0000000..c45a140
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_spec.h
@@ -0,0 +1,1864 @@
@@ -125463,9 +125138,6 @@ index 0000000..c45a140
+#include "basic_types.h"
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h
-new file mode 100644
-index 0000000..6f5b953
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_sreset.h
@@ -0,0 +1,32 @@
@@ -125501,9 +125173,6 @@ index 0000000..6f5b953
+extern void rtl8192c_sreset_linked_status_check(_adapter *padapter);
+#endif
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h b/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h
-new file mode 100644
-index 0000000..9abbae9
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192c_xmit.h
@@ -0,0 +1,128 @@
@@ -125635,9 +125304,6 @@ index 0000000..9abbae9
+#endif
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h
-new file mode 100644
-index 0000000..8a8873a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_cmd.h
@@ -0,0 +1,140 @@
@@ -125781,9 +125447,6 @@ index 0000000..8a8873a
+#endif // CONFIG_WOWLAN
+
+#endif // __RTL8192D_CMD_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h
-new file mode 100644
-index 0000000..eaf1e4f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_dm.h
@@ -0,0 +1,420 @@
@@ -126207,9 +125870,6 @@ index 0000000..eaf1e4f
+VOID rtl8192d_dm_CheckTXPowerTracking(IN PADAPTER Adapter);
+
+#endif //__HAL8190PCIDM_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h
-new file mode 100644
-index 0000000..347337c
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_hal.h
@@ -0,0 +1,1125 @@
@@ -127338,9 +126998,6 @@ index 0000000..347337c
+
+
+#endif //end CONFIG_MP_INCLUDED
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h
-new file mode 100644
-index 0000000..b1f7a94
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_led.h
@@ -0,0 +1,42 @@
@@ -127386,9 +127043,6 @@ index 0000000..b1f7a94
+#endif
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h
-new file mode 100644
-index 0000000..e03347a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_recv.h
@@ -0,0 +1,186 @@
@@ -127578,9 +127232,6 @@ index 0000000..e03347a
+void rtl8192d_query_rx_desc_status(union recv_frame *precvframe, struct recv_stat *pdesc);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h
-new file mode 100644
-index 0000000..1aba229
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_rf.h
@@ -0,0 +1,96 @@
@@ -127680,9 +127331,6 @@ index 0000000..1aba229
+
+
+#endif/* End of HalRf.h */
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h
-new file mode 100644
-index 0000000..d2d3e89
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_spec.h
@@ -0,0 +1,1840 @@
@@ -129526,9 +129174,6 @@ index 0000000..d2d3e89
+#include "basic_types.h"
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h b/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h
-new file mode 100644
-index 0000000..bc651c1
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtl8192d_xmit.h
@@ -0,0 +1,144 @@
@@ -129676,9 +129321,6 @@ index 0000000..bc651c1
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_android.h b/drivers/net/wireless/rtl8192cu/include/rtw_android.h
-new file mode 100644
-index 0000000..468ae77
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_android.h
@@ -0,0 +1,89 @@
@@ -129771,9 +129413,6 @@ index 0000000..468ae77
+#endif /* defined(RTW_ENABLE_WIFI_CONTROL_FUNC) */
+
+#endif //__RTW_ANDROID_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ap.h b/drivers/net/wireless/rtl8192cu/include/rtw_ap.h
-new file mode 100644
-index 0000000..1265174
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_ap.h
@@ -0,0 +1,63 @@
@@ -129840,9 +129479,6 @@ index 0000000..1265174
+#endif //end of CONFIG_AP_MODE
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h b/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h
-new file mode 100644
-index 0000000..1b5709a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_br_ext.h
@@ -0,0 +1,75 @@
@@ -129921,9 +129557,6 @@ index 0000000..1b5709a
+void nat25_db_cleanup(_adapter *priv);
+
+#endif // _RTW_BR_EXT_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h b/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h
-new file mode 100644
-index 0000000..757b01d
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_byteorder.h
@@ -0,0 +1,39 @@
@@ -129966,9 +129599,6 @@ index 0000000..757b01d
+#endif
+
+#endif /* _RTL871X_BYTEORDER_H_ */
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h b/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h
-new file mode 100644
-index 0000000..5253911
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_cmd.h
@@ -0,0 +1,1166 @@
@@ -131138,9 +130768,6 @@ index 0000000..5253911
+#endif
+
+#endif // _CMD_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_debug.h b/drivers/net/wireless/rtl8192cu/include/rtw_debug.h
-new file mode 100644
-index 0000000..9c72f70
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_debug.h
@@ -0,0 +1,537 @@
@@ -131681,9 +131308,6 @@ index 0000000..9c72f70
+#endif //CONFIG_PROC_DEBUG
+
+#endif //__RTW_DEBUG_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h b/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h
-new file mode 100644
-index 0000000..4326109
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_eeprom.h
@@ -0,0 +1,152 @@
@@ -131839,9 +131463,6 @@ index 0000000..4326109
+#endif //PLATFORM_LINUX
+
+#endif //__RTL871X_EEPROM_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h b/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h
-new file mode 100644
-index 0000000..dd09b85
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_efuse.h
@@ -0,0 +1,123 @@
@@ -131968,9 +131589,6 @@ index 0000000..dd09b85
+void EFUSE_ShadowRead(PADAPTER pAdapter, u8 Type, u16 Offset, u32 *Value);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_event.h b/drivers/net/wireless/rtl8192cu/include/rtw_event.h
-new file mode 100644
-index 0000000..3a0bbf3
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_event.h
@@ -0,0 +1,153 @@
@@ -132127,9 +131745,6 @@ index 0000000..3a0bbf3
+
+
+#endif // _WLANEVENT_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ht.h b/drivers/net/wireless/rtl8192cu/include/rtw_ht.h
-new file mode 100644
-index 0000000..74e416d
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_ht.h
@@ -0,0 +1,49 @@
@@ -132182,9 +131797,6 @@ index 0000000..74e416d
+};
+
+#endif //_RTL871X_HT_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_io.h b/drivers/net/wireless/rtl8192cu/include/rtw_io.h
-new file mode 100644
-index 0000000..daf342ac
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_io.h
@@ -0,0 +1,504 @@
@@ -132692,9 +132304,6 @@ index 0000000..daf342ac
+*/
+
+#endif //_RTL8711_IO_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h
-new file mode 100644
-index 0000000..093e46b
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl.h
@@ -0,0 +1,268 @@
@@ -132966,9 +132575,6 @@ index 0000000..093e46b
+ );
+
+#endif // #ifndef __INC_CEINFO_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h
-new file mode 100644
-index 0000000..3fcbc54
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_query.h
@@ -0,0 +1,35 @@
@@ -133007,9 +132613,6 @@ index 0000000..3fcbc54
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h
-new file mode 100644
-index 0000000..c017006
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_rtl.h
@@ -0,0 +1,83 @@
@@ -133096,9 +132699,6 @@ index 0000000..c017006
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h
-new file mode 100644
-index 0000000..5e21408
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_ioctl_set.h
@@ -0,0 +1,78 @@
@@ -133180,9 +132780,6 @@ index 0000000..5e21408
+int rtw_set_band(_adapter *adapter, enum _BAND band);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_iol.h b/drivers/net/wireless/rtl8192cu/include/rtw_iol.h
-new file mode 100644
-index 0000000..59786ee
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_iol.h
@@ -0,0 +1,89 @@
@@ -133275,9 +132872,6 @@ index 0000000..59786ee
+bool rtw_IOL_applied(ADAPTER *adapter);
+
+#endif //__RTW_IOL_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_led.h b/drivers/net/wireless/rtl8192cu/include/rtw_led.h
-new file mode 100644
-index 0000000..7de268e
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_led.h
@@ -0,0 +1,216 @@
@@ -133497,9 +133091,6 @@ index 0000000..7de268e
+extern void BlinkHandler(PLED_871x pLed);
+
+#endif //__RTW_LED_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h b/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h
-new file mode 100644
-index 0000000..862326d
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_mlme.h
@@ -0,0 +1,843 @@
@@ -134346,9 +133937,6 @@ index 0000000..862326d
+void rtw_proxim_send_packet(_adapter *padapter,u8 *pbuf,u16 len,u8 hw_rate);
+#endif //CONFIG_INTEL_PROXIM
+#endif //__RTL871X_MLME_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h b/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h
-new file mode 100644
-index 0000000..4403244
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_mlme_ext.h
@@ -0,0 +1,962 @@
@@ -135314,9 +134902,6 @@ index 0000000..4403244
+#endif//_RTL8192C_CMD_C_
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mp.h b/drivers/net/wireless/rtl8192cu/include/rtw_mp.h
-new file mode 100644
-index 0000000..06d43b5
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_mp.h
@@ -0,0 +1,711 @@
@@ -136031,9 +135616,6 @@ index 0000000..06d43b5
+extern void Hal_ProSetCrystalCap (PADAPTER pAdapter , u32 CrystalCapVal);
+
+#endif //_RTW_MP_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h b/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h
-new file mode 100644
-index 0000000..3016a9c
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_mp_ioctl.h
@@ -0,0 +1,595 @@
@@ -136632,9 +136214,6 @@ index 0000000..3016a9c
+#endif /* _RTW_MP_IOCTL_C_ */
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h b/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h
-new file mode 100644
-index 0000000..24e6624
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_mp_phy_regdef.h
@@ -0,0 +1,1096 @@
@@ -137734,9 +137313,6 @@ index 0000000..24e6624
+
+
+#endif //__INC_HAL8192SPHYREG_H
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h b/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h
-new file mode 100644
-index 0000000..b230faf
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_p2p.h
@@ -0,0 +1,160 @@
@@ -137900,9 +137476,6 @@ index 0000000..b230faf
+ (wdinfo)->find_phase_state_exchange_cnt != P2P_FINDPHASE_EX_NONE)
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h b/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h
-new file mode 100644
-index 0000000..a867da2
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_pwrctrl.h
@@ -0,0 +1,362 @@
@@ -138268,9 +137841,6 @@ index 0000000..a867da2
+int rtw_pm_set_lps(_adapter *padapter, u8 mode);
+
+#endif //__RTL871X_PWRCTRL_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_qos.h b/drivers/net/wireless/rtl8192cu/include/rtw_qos.h
-new file mode 100644
-index 0000000..bd15f93
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_qos.h
@@ -0,0 +1,39 @@
@@ -138313,9 +137883,6 @@ index 0000000..bd15f93
+
+
+#endif //_RTL871X_QOS_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_recv.h b/drivers/net/wireless/rtl8192cu/include/rtw_recv.h
-new file mode 100644
-index 0000000..28dca00
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_recv.h
@@ -0,0 +1,730 @@
@@ -139049,9 +138616,6 @@ index 0000000..28dca00
+extern void mgt_dispatcher(_adapter *padapter, union recv_frame *precv_frame);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_rf.h b/drivers/net/wireless/rtl8192cu/include/rtw_rf.h
-new file mode 100644
-index 0000000..b8acf93
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_rf.h
@@ -0,0 +1,151 @@
@@ -139206,9 +138770,6 @@ index 0000000..b8acf93
+
+
+#endif //_RTL8711_RF_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_security.h b/drivers/net/wireless/rtl8192cu/include/rtw_security.h
-new file mode 100644
-index 0000000..0d99c9a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_security.h
@@ -0,0 +1,446 @@
@@ -139658,9 +139219,6 @@ index 0000000..0d99c9a
+u8 rtw_handle_tkip_countermeasure(_adapter* adapter, const char *caller);
+
+#endif //__RTL871X_SECURITY_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_sreset.h b/drivers/net/wireless/rtl8192cu/include/rtw_sreset.h
-new file mode 100644
-index 0000000..f2d5dc7
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_sreset.h
@@ -0,0 +1,73 @@
@@ -139737,9 +139295,6 @@ index 0000000..f2d5dc7
+void sreset_reset(_adapter *padapter);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_tdls.h b/drivers/net/wireless/rtl8192cu/include/rtw_tdls.h
-new file mode 100644
-index 0000000..cbf996f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_tdls.h
@@ -0,0 +1,142 @@
@@ -139885,16 +139440,10 @@ index 0000000..cbf996f
+#endif //CONFIG_TDLS
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_version.h b/drivers/net/wireless/rtl8192cu/include/rtw_version.h
-new file mode 100644
-index 0000000..4fb9dd4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_version.h
@@ -0,0 +1 @@
+#define DRIVERVERSION "v4.0.2_9000.20130911"
-diff --git a/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h b/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h
-new file mode 100644
-index 0000000..11c67c4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/rtw_xmit.h
@@ -0,0 +1,753 @@
@@ -140651,9 +140200,6 @@ index 0000000..11c67c4
+#include <xmit_osdep.h>
+
+#endif //_RTL871X_XMIT_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/sta_info.h b/drivers/net/wireless/rtl8192cu/include/sta_info.h
-new file mode 100644
-index 0000000..e7e3dc4
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/sta_info.h
@@ -0,0 +1,431 @@
@@ -141088,9 +140634,6 @@ index 0000000..e7e3dc4
+extern u8 rtw_access_ctrl(_adapter *padapter, u8 *mac_addr);
+
+#endif //_STA_INFO_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/usb_hal.h b/drivers/net/wireless/rtl8192cu/include/usb_hal.h
-new file mode 100644
-index 0000000..ff29ea8
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/usb_hal.h
@@ -0,0 +1,36 @@
@@ -141130,9 +140673,6 @@ index 0000000..ff29ea8
+#endif // CONFIG_WOWLAN_MANUAL
+#endif //CONFIG_WOWLAN
+#endif //__USB_HAL_H__
-diff --git a/drivers/net/wireless/rtl8192cu/include/usb_ops.h b/drivers/net/wireless/rtl8192cu/include/usb_ops.h
-new file mode 100644
-index 0000000..3160fc9
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/usb_ops.h
@@ -0,0 +1,109 @@
@@ -141245,9 +140785,6 @@ index 0000000..3160fc9
+}
+
+#endif //__USB_OPS_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/usb_ops_linux.h b/drivers/net/wireless/rtl8192cu/include/usb_ops_linux.h
-new file mode 100644
-index 0000000..d3a5507
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/usb_ops_linux.h
@@ -0,0 +1,62 @@
@@ -141313,9 +140850,6 @@ index 0000000..d3a5507
+void usb_write_port_cancel(struct intf_hdl *pintfhdl);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/usb_osintf.h b/drivers/net/wireless/rtl8192cu/include/usb_osintf.h
-new file mode 100644
-index 0000000..6003ebb
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/usb_osintf.h
@@ -0,0 +1,37 @@
@@ -141356,9 +140890,6 @@ index 0000000..6003ebb
+
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h b/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h
-new file mode 100644
-index 0000000..0f67122
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/usb_vendor_req.h
@@ -0,0 +1,59 @@
@@ -141421,9 +140952,6 @@ index 0000000..0f67122
+//BOOLEAN CEusbGetDescriptorRequest(PCE_USB_DEVICE CEdevice, IN short urbLength, IN UCHAR DescriptorType, IN UCHAR Index, IN USHORT LanguageId, IN PVOID TransferBuffer, IN ULONG TransferBufferLength);
+
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/include/wifi.h b/drivers/net/wireless/rtl8192cu/include/wifi.h
-new file mode 100644
-index 0000000..1ff400a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/wifi.h
@@ -0,0 +1,1245 @@
@@ -142672,9 +142200,6 @@ index 0000000..1ff400a
+
+
+#endif // _WIFI_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h b/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h
-new file mode 100644
-index 0000000..641b7e9
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/wlan_bssdef.h
@@ -0,0 +1,702 @@
@@ -143380,9 +142905,6 @@ index 0000000..641b7e9
+
+
+#endif //#ifndef WLAN_BSSDEF_H_
-diff --git a/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h b/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h
-new file mode 100644
-index 0000000..0f6d092
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/include/xmit_osdep.h
@@ -0,0 +1,94 @@
@@ -143480,9 +143002,6 @@ index 0000000..0f6d092
+extern void rtw_os_xmit_complete(_adapter *padapter, struct xmit_frame *pxframe);
+
+#endif //__XMIT_OSDEP_H_
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c
-new file mode 100644
-index 0000000..60e92b8
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_cfg80211.c
@@ -0,0 +1,5488 @@
@@ -148974,9 +148493,6 @@ index 0000000..60e92b8
+}
+
+#endif //CONFIG_IOCTL_CFG80211
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c
-new file mode 100644
-index 0000000..865f57f
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/ioctl_linux.c
@@ -0,0 +1,11908 @@
@@ -160888,9 +160404,6 @@ index 0000000..865f57f
+#endif
+};
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c
-new file mode 100644
-index 0000000..d518395
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/mlme_linux.c
@@ -0,0 +1,585 @@
@@ -161479,9 +160992,6 @@ index 0000000..d518395
+
+#endif
+#endif
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c
-new file mode 100644
-index 0000000..476ea5c
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c
@@ -0,0 +1,2748 @@
@@ -164233,9 +163743,6 @@ index 0000000..476ea5c
+#endif
+ free_netdev(ndev);
+}
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c
-new file mode 100644
-index 0000000..15f5d9b
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_intf.c
@@ -0,0 +1,1996 @@
@@ -166235,9 +165742,6 @@ index 0000000..15f5d9b
+
+module_init(rtw_drv_entry);
+module_exit(rtw_drv_halt);
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_ops_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_ops_linux.c
-new file mode 100644
-index 0000000..5eed11a
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/pci_ops_linux.c
@@ -0,0 +1,21 @@
@@ -166262,9 +165766,6 @@ index 0000000..5eed11a
+#define _PCI_OPS_LINUX_C_
+
+#include <drv_types.h>
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c
-new file mode 100644
-index 0000000..ba82c4d
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/recv_linux.c
@@ -0,0 +1,447 @@
@@ -166715,9 +166216,6 @@ index 0000000..ba82c4d
+ _init_timer(&(preorder_ctrl->reordering_ctrl_timer), padapter->pnetdev, _rtw_reordering_ctrl_timeout_handler, preorder_ctrl);
+
+}
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c
-new file mode 100644
-index 0000000..d59c236
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/rtw_android.c
@@ -0,0 +1,838 @@
@@ -167559,9 +167057,6 @@ index 0000000..d59c236
+ platform_driver_unregister(&wifi_device_legacy);
+}
+#endif /* defined(RTW_ENABLE_WIFI_CONTROL_FUNC) */
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c
-new file mode 100644
-index 0000000..aaf45fa
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_intf.c
@@ -0,0 +1,1654 @@
@@ -169219,9 +168714,6 @@ index 0000000..aaf45fa
+}
+EXPORT_SYMBOL(rtw_usb_get_sw_pointer);
+#endif //CONFIG_INTEL_PROXIM
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_ops_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_ops_linux.c
-new file mode 100644
-index 0000000..acb58ef
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/usb_ops_linux.c
@@ -0,0 +1,648 @@
@@ -169873,9 +169365,6 @@ index 0000000..acb58ef
+ pxmitbuf++;
+ }
+}
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c b/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c
-new file mode 100644
-index 0000000..13dc446
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/linux/xmit_linux.c
@@ -0,0 +1,420 @@
@@ -170299,9 +169788,6 @@ index 0000000..13dc446
+ rtw_mstat_update(MSTAT_TYPE_SKB, MSTAT_ALLOC_SUCCESS, pkt->truesize);
+ return _rtw_xmit_entry(pkt, pnetdev);
+}
-diff --git a/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c b/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c
-new file mode 100644
-index 0000000..b4a7523
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/os_dep/osdep_service.c
@@ -0,0 +1,2299 @@
@@ -172604,9 +172090,6 @@ index 0000000..b4a7523
+{
+ rtw_mfree((u8*)cbuf, sizeof(*cbuf) + sizeof(void*)*cbuf->size);
+}
-diff --git a/drivers/net/wireless/rtl8192cu/runwpa b/drivers/net/wireless/rtl8192cu/runwpa
-new file mode 100755
-index 0000000..17616d8
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/runwpa
@@ -0,0 +1,18 @@
@@ -172628,9 +172111,6 @@ index 0000000..17616d8
+
+ fi
+fi
-diff --git a/drivers/net/wireless/rtl8192cu/wlan0dhcp b/drivers/net/wireless/rtl8192cu/wlan0dhcp
-new file mode 100755
-index 0000000..24ab372
--- /dev/null
+++ b/drivers/net/wireless/rtl8192cu/wlan0dhcp
@@ -0,0 +1,15 @@
@@ -172649,6 +172129,3 @@ index 0000000..24ab372
+rm -f /etc/sysconfig/network-scripts/ifcfg-wlan0
+
+echo "get ip: $var1"
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch b/target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch
index 0be80e1942..50c3aaf7f2 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch
+++ b/target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch
@@ -32,8 +32,6 @@ Signed-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>
drivers/video/fbdev/core/cfbimgblt.c | 152 +++++++++++++++++++++++++++++++++--
1 file changed, 147 insertions(+), 5 deletions(-)
-diff --git a/drivers/video/fbdev/core/cfbimgblt.c b/drivers/video/fbdev/core/cfbimgblt.c
-index a2bb276..436494f 100644
--- a/drivers/video/fbdev/core/cfbimgblt.c
+++ b/drivers/video/fbdev/core/cfbimgblt.c
@@ -28,6 +28,11 @@
@@ -48,7 +46,7 @@ index a2bb276..436494f 100644
*/
#include <linux/module.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)
{
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;
}
@@ -209,6 +207,3 @@ index a2bb276..436494f 100644
slow_imageblit(image, p, dst1, fgcolor, bgcolor,
start_index, pitch_index);
} else
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch
index 383bc8628f..e584a43997 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch
+++ b/target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch
@@ -15,11 +15,9 @@ Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
include/uapi/linux/fb.h | 5 +++++
2 files changed, 35 insertions(+)
-diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c
-index 0705d88..771992a 100644
--- a/drivers/video/fbdev/core/fbmem.c
+++ b/drivers/video/fbdev/core/fbmem.c
-@@ -1084,6 +1084,25 @@ fb_blank(struct fb_info *info, int blank)
+@@ -1084,6 +1084,25 @@ fb_blank(struct fb_info *info, int blank
}
EXPORT_SYMBOL(fb_blank);
@@ -45,7 +43,7 @@ index 0705d88..771992a 100644
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
unsigned long arg)
{
-@@ -1094,6 +1113,7 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
+@@ -1094,6 +1113,7 @@ static long do_fb_ioctl(struct fb_info *
struct fb_cmap cmap_from;
struct fb_cmap_user cmap;
struct fb_event event;
@@ -53,7 +51,7 @@ index 0705d88..771992a 100644
void __user *argp = (void __user *)arg;
long ret = 0;
-@@ -1211,6 +1231,15 @@ static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
+@@ -1211,6 +1231,15 @@ static long do_fb_ioctl(struct fb_info *
unlock_fb_info(info);
console_unlock();
break;
@@ -69,7 +67,7 @@ index 0705d88..771992a 100644
default:
if (!lock_fb_info(info))
return -ENODEV;
-@@ -1365,6 +1394,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd,
+@@ -1365,6 +1394,7 @@ static long fb_compat_ioctl(struct file
case FBIOPAN_DISPLAY:
case FBIOGET_CON2FBMAP:
case FBIOPUT_CON2FBMAP:
@@ -77,8 +75,6 @@ index 0705d88..771992a 100644
arg = (unsigned long) compat_ptr(arg);
case FBIOBLANK:
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
+++ b/include/uapi/linux/fb.h
@@ -34,6 +34,11 @@
@@ -93,6 +89,3 @@ index fb795c3..fa72af0 100644
#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
#define FB_TYPE_PLANES 1 /* Non interleaved planes */
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch b/target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch
index 7e90770a3a..010c13f37c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch
@@ -55,11 +55,9 @@ Signed-off-by: Luke Diamand <luke@diamand.org>
6 files changed, 1724 insertions(+), 1602 deletions(-)
create mode 100644 drivers/video/fbdev/bcm2708_fb.c
-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
+++ 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);
@@ -74,8 +72,6 @@ index 51d147a..1da2413 100644
/* Complete an ongoing DMA (assuming its results are to be ignored)
Does nothing if there is no DMA in progress.
This routine waits for the current AXI transfer to complete before
-diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
-index f2568d4..a4aac4c 100644
--- a/arch/arm/mach-bcm2708/include/mach/dma.h
+++ b/arch/arm/mach-bcm2708/include/mach/dma.h
@@ -64,11 +64,13 @@ struct bcm2708_dma_cb {
@@ -92,8 +88,6 @@ index f2568d4..a4aac4c 100644
extern int /*rc*/ bcm_dma_abort(void __iomem *dma_chan_base);
/* When listing features we can ask for when allocating DMA channels give
-diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
-index c7bf606..0349473 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -224,6 +224,20 @@ config FB_TILEBLITTING
@@ -117,11 +111,9 @@ index c7bf606..0349473 100644
config FB_GRVGA
tristate "Aeroflex Gaisler framebuffer support"
depends on FB && SPARC
-diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile
-index 1979aff..57181ad 100644
--- a/drivers/video/fbdev/Makefile
+++ b/drivers/video/fbdev/Makefile
-@@ -12,6 +12,7 @@ obj-$(CONFIG_FB_MACMODES) += macmodes.o
+@@ -12,6 +12,7 @@ obj-$(CONFIG_FB_MACMODES) += macmod
obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o
# Hardware specific drivers go first
@@ -129,9 +121,6 @@ index 1979aff..57181ad 100644
obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o
obj-$(CONFIG_FB_ARC) += arcfb.o
obj-$(CONFIG_FB_CLPS711X) += clps711x-fb.o
-diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c
-new file mode 100644
-index 0000000..dcc4de2
--- /dev/null
+++ b/drivers/video/fbdev/bcm2708_fb.c
@@ -0,0 +1,818 @@
@@ -953,8 +942,6 @@ index 0000000..dcc4de2
+MODULE_PARM_DESC(fbheight, "Height 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");
-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
+++ b/drivers/video/logo/logo_linux_clut224.ppm
@@ -1,1604 +1,883 @@
@@ -3443,6 +3430,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
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch b/target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch
index 2a36ed0767..bb43e46d5e 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch
@@ -122,8 +122,6 @@ described above.
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
-diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index bbeb451..b6109a2 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -524,6 +524,7 @@ source "drivers/misc/carma/Kconfig"
@@ -134,8 +132,6 @@ index bbeb451..b6109a2 100644
source "drivers/misc/mic/Kconfig"
source "drivers/misc/genwqe/Kconfig"
source "drivers/misc/echo/Kconfig"
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index 7d5c4cd..c085ede 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -51,6 +51,7 @@ obj-$(CONFIG_INTEL_MEI) += mei/
@@ -146,9 +142,6 @@ index 7d5c4cd..c085ede 100644
obj-y += mic/
obj-$(CONFIG_GENWQE) += genwqe/
obj-$(CONFIG_ECHO) += echo/
-diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig
-new file mode 100644
-index 0000000..2663933
--- /dev/null
+++ b/drivers/misc/vc04_services/Kconfig
@@ -0,0 +1,9 @@
@@ -161,9 +154,6 @@ index 0000000..2663933
+ BCM2708 family of products.
+ Defaults to Y when the Broadcom Videocore services
+ 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..0c82520
--- /dev/null
+++ b/drivers/misc/vc04_services/Makefile
@@ -0,0 +1,17 @@
@@ -184,9 +174,6 @@ index 0000000..0c82520
+ccflags-y += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000
+
+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
+++ b/drivers/misc/vc04_services/interface/vchi/connections/connection.h
@@ -0,0 +1,328 @@
@@ -518,9 +505,6 @@ index 0000000..fef6ac3
+#endif /* CONNECTION_H_ */
+
+/****************************** 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
+++ b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h
@@ -0,0 +1,204 @@
@@ -728,9 +712,6 @@ index 0000000..8b3f767
+#endif // _VCHI_MESSAGE_H_
+
+/****************************** 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..1b17e98
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchi/vchi.h
@@ -0,0 +1,378 @@
@@ -1112,9 +1093,6 @@ index 0000000..1b17e98
+#endif /* VCHI_H_ */
+
+/****************************** 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
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h
@@ -0,0 +1,224 @@
@@ -1342,9 +1320,6 @@ index 0000000..26bc2d3
+#endif /* VCHI_CFG_H_ */
+
+/****************************** 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
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h
@@ -0,0 +1,71 @@
@@ -1419,9 +1394,6 @@ index 0000000..35dcba4
+//#define VCHI_RX_NANOLOCKS
+
+#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..d76118c
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_common.h
@@ -0,0 +1,174 @@
@@ -1599,9 +1571,6 @@ index 0000000..d76118c
+
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h
@@ -0,0 +1,42 @@
@@ -1647,9 +1616,6 @@ index 0000000..198bd07
+#define VCHI_MEM_HANDLE_INVALID 0
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h
@@ -0,0 +1,40 @@
@@ -1693,9 +1659,6 @@ index 0000000..ad398ba
+#include "vchiq_util.h"
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h
@@ -0,0 +1,42 @@
@@ -1741,9 +1704,6 @@ index 0000000..7ea5c64
+#define VCHIQ_PLATFORM_FRAGMENTS_COUNT_IDX 1
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -0,0 +1,561 @@
@@ -2308,9 +2268,6 @@ index 0000000..b3bdaa2
+
+ 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..2596818
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
@@ -0,0 +1,2883 @@
@@ -5197,9 +5154,6 @@ index 0000000..2596818
+module_exit(vchiq_exit);
+MODULE_LICENSE("GPL");
+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..d1e2741
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h
@@ -0,0 +1,223 @@
@@ -5426,9 +5380,6 @@ index 0000000..d1e2741
+
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h
@@ -0,0 +1,37 @@
@@ -5469,9 +5420,6 @@ index 0000000..df64581
+const char *vchiq_get_build_version(void);
+const char *vchiq_get_build_time(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..c382740
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h
@@ -0,0 +1,66 @@
@@ -5541,9 +5489,6 @@ index 0000000..c382740
+#endif
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
@@ -0,0 +1,119 @@
@@ -5666,9 +5611,6 @@ index 0000000..65f4b52
+ mutex_unlock(&g_connected_mutex);
+}
+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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h
@@ -0,0 +1,50 @@
@@ -5722,9 +5664,6 @@ index 0000000..863b3e3
+void vchiq_call_connected_callbacks(void);
+
+#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..f962027
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c
@@ -0,0 +1,3861 @@
@@ -9589,9 +9528,6 @@ index 0000000..f962027
+ 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..1b27917
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h
@@ -0,0 +1,711 @@
@@ -10306,9 +10242,6 @@ index 0000000..1b27917
+ size_t numBytes);
+
+#endif
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
-new file mode 100644
-index 0000000..7e03213
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c
@@ -0,0 +1,383 @@
@@ -10695,9 +10628,6 @@ index 0000000..7e03213
+}
+
+#endif /* CONFIG_DEBUG_FS */
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h
-new file mode 100644
-index 0000000..4d6a378
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h
@@ -0,0 +1,52 @@
@@ -10753,9 +10683,6 @@ index 0000000..4d6a378
+void vchiq_debugfs_remove_instance(VCHIQ_INSTANCE_T instance);
+
+#endif /* VCHIQ_DEBUGFS_H */
-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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion
@@ -0,0 +1,87 @@
@@ -10846,9 +10773,6 @@ index 0000000..9f5b634
+ return vchiq_build_time;
+}
+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..8067bbe
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h
@@ -0,0 +1,189 @@
@@ -11041,9 +10965,6 @@ index 0000000..8067bbe
+ short *peer_version);
+
+#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..6137ae9
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h
@@ -0,0 +1,131 @@
@@ -11178,9 +11099,6 @@ index 0000000..6137ae9
+#define VCHIQ_IOC_MAX 17
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
@@ -0,0 +1,456 @@
@@ -11640,9 +11558,6 @@ index 0000000..be9735f
+
+ 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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h
@@ -0,0 +1,71 @@
@@ -11717,9 +11632,6 @@ index 0000000..d02e776
+ const VCHIQ_PLATFORM_DATA_T * platform_data);
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h
@@ -0,0 +1,58 @@
@@ -11781,9 +11693,6 @@ index 0000000..54a3ece
+} FRAGMENTS_T;
+
+#endif /* VCHIQ_PAGELIST_H */
-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..72eacdaf
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
@@ -0,0 +1,853 @@
@@ -12640,9 +12549,6 @@ index 0000000..72eacdaf
+ return ret;
+}
+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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
@@ -0,0 +1,151 @@
@@ -12797,9 +12703,6 @@ index 0000000..c2eefef
+
+ 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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h
@@ -0,0 +1,81 @@
@@ -12884,9 +12787,6 @@ index 0000000..f4d0b66
+extern VCHIQ_HEADER_T *vchiu_queue_pop(VCHIU_QUEUE_T *queue);
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c
@@ -0,0 +1,59 @@
@@ -12949,6 +12849,3 @@ index 0000000..b6bfa21
+{
+ return vchiq_build_time;
+}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch b/target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch
index 80ccf8348f..0bd5249dfd 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch
+++ b/target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch
@@ -15,8 +15,6 @@ vchiq: Include SIGSTOP and SIGCONT in list of signals not-masked by vchiq to all
7 files changed, 75 insertions(+)
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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -56,6 +56,7 @@
@@ -27,8 +25,6 @@ index b3bdaa2..7e7b09f 100644
#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 2596818..3e328ab 100644
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c
@@ -50,6 +50,7 @@
@@ -39,8 +35,6 @@ index 2596818..3e328ab 100644
#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c
@@ -33,6 +33,7 @@
@@ -51,8 +45,6 @@ index 65f4b52..5efc62f 100644
#include <linux/module.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 f962027..14a4155 100644
--- a/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 @@
@@ -63,8 +55,6 @@ index f962027..14a4155 100644
#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
@@ -39,6 +39,7 @@
@@ -75,9 +65,6 @@ index be9735f..5a4182e 100644
/* ---- 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..335446e
--- /dev/null
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h
@@ -0,0 +1,69 @@
@@ -150,8 +137,6 @@ index 0000000..335446e
+#define mutex_lock_interruptible mutex_lock_interruptible_killable
+
+#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
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c
@@ -32,6 +32,7 @@
@@ -162,6 +147,3 @@ index c2eefef..05e7979 100644
static inline int is_pow2(int i)
{
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch b/target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
index ee501c1b4b..2edcd35cd4 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
+++ b/target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
@@ -20,8 +20,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
create mode 100644 drivers/char/broadcom/vc_cma/vc_cma.c
create mode 100644 include/linux/broadcom/vc_cma.h
-diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
-index efefd12..aebd7ca 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -581,6 +581,8 @@ config DEVPORT
@@ -33,8 +31,6 @@ index efefd12..aebd7ca 100644
config MSM_SMD_PKT
bool "Enable device interface for some SMD packet ports"
default n
-diff --git a/drivers/char/Makefile b/drivers/char/Makefile
-index d06cde26..a9f9daf 100644
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
@@ -62,3 +62,4 @@ js-rtc-y = rtc.o
@@ -42,9 +38,6 @@ index d06cde26..a9f9daf 100644
obj-$(CONFIG_TILE_SROM) += tile-srom.o
obj-$(CONFIG_XILLYBUS) += xillybus/
+obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/
-diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig
-new file mode 100644
-index 0000000..2d8bd6e
--- /dev/null
+++ b/drivers/char/broadcom/Kconfig
@@ -0,0 +1,15 @@
@@ -63,16 +56,10 @@ index 0000000..2d8bd6e
+ default n
+ help
+ 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
+++ b/drivers/char/broadcom/Makefile
@@ -0,0 +1 @@
+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
+++ b/drivers/char/broadcom/vc_cma/Makefile
@@ -0,0 +1,14 @@
@@ -90,9 +77,6 @@ index 0000000..6a94de4
+obj-$(CONFIG_BCM_VC_CMA) += 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
+++ b/drivers/char/broadcom/vc_cma/vc_cma.c
@@ -0,0 +1,1143 @@
@@ -1239,8 +1223,6 @@ index 0000000..a635f9f
+module_exit(vc_cma_exit);
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Broadcom Corporation");
-diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index c085ede..43d2ac9 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -51,7 +51,7 @@ obj-$(CONFIG_INTEL_MEI) += mei/
@@ -1252,9 +1234,6 @@ index c085ede..43d2ac9 100644
obj-y += mic/
obj-$(CONFIG_GENWQE) += genwqe/
obj-$(CONFIG_ECHO) += echo/
-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
+++ b/include/linux/broadcom/vc_cma.h
@@ -0,0 +1,29 @@
@@ -1287,6 +1266,3 @@ index 0000000..5325832
+#endif
+
+#endif /* VC_CMA_H */
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch b/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch
index 1619f7b6cb..9e31690dec 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch
@@ -44,8 +44,6 @@ snd-bcm2708: Fix dmesg spam for non-error case
create mode 100755 sound/arm/bcm2835.h
create mode 100644 sound/arm/vc_vchi_audioserv_defs.h
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 8950e53..63cb6a4 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -202,6 +202,26 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -75,11 +73,9 @@ index 8950e53..63cb6a4 100644
CONFIG_HID_A4TECH=m
CONFIG_HID_ACRUX=m
CONFIG_HID_APPLE=m
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 7503649..f3dccae 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -403,6 +403,58 @@ struct platform_device bcm2708_powerman_device = {
+@@ -403,6 +403,58 @@ struct platform_device bcm2708_powerman_
.coherent_dma_mask = 0xffffffffUL},
};
@@ -147,8 +143,6 @@ index 7503649..f3dccae 100644
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];
-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 5a4182e..25e7011 100644
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c
@@ -288,11 +288,12 @@ VCHIQ_STATUS_T vchiq_open_service(
@@ -167,11 +161,9 @@ index 5a4182e..25e7011 100644
}
failed:
-diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
-index 72eacdaf..c26eff7 100644
--- a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
+++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c
-@@ -634,6 +634,9 @@ int32_t vchi_service_open(VCHI_INSTANCE_T instance_handle,
+@@ -634,6 +634,9 @@ int32_t vchi_service_open(VCHI_INSTANCE_
{
VCHIQ_INSTANCE_T instance = (VCHIQ_INSTANCE_T)instance_handle;
SHIM_SERVICE_T *service = service_alloc(instance, setup);
@@ -181,7 +173,7 @@ index 72eacdaf..c26eff7 100644
if (service) {
VCHIQ_SERVICE_PARAMS_T params;
VCHIQ_STATUS_T status;
-@@ -650,11 +653,10 @@ int32_t vchi_service_open(VCHI_INSTANCE_T instance_handle,
+@@ -650,11 +653,10 @@ int32_t vchi_service_open(VCHI_INSTANCE_
if (status != VCHIQ_SUCCESS) {
service_free(service);
service = NULL;
@@ -194,7 +186,7 @@ index 72eacdaf..c26eff7 100644
return (service != NULL) ? 0 : -1;
}
EXPORT_SYMBOL(vchi_service_open);
-@@ -665,6 +667,9 @@ int32_t vchi_service_create(VCHI_INSTANCE_T instance_handle,
+@@ -665,6 +667,9 @@ int32_t vchi_service_create(VCHI_INSTANC
{
VCHIQ_INSTANCE_T instance = (VCHIQ_INSTANCE_T)instance_handle;
SHIM_SERVICE_T *service = service_alloc(instance, setup);
@@ -204,7 +196,7 @@ index 72eacdaf..c26eff7 100644
if (service) {
VCHIQ_SERVICE_PARAMS_T params;
VCHIQ_STATUS_T status;
-@@ -680,11 +685,10 @@ int32_t vchi_service_create(VCHI_INSTANCE_T instance_handle,
+@@ -680,11 +685,10 @@ int32_t vchi_service_create(VCHI_INSTANC
if (status != VCHIQ_SUCCESS) {
service_free(service);
service = NULL;
@@ -217,8 +209,6 @@ index 72eacdaf..c26eff7 100644
return (service != NULL) ? 0 : -1;
}
EXPORT_SYMBOL(vchi_service_create);
-diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig
-index 885683a..f7ceafd 100644
--- a/sound/arm/Kconfig
+++ b/sound/arm/Kconfig
@@ -39,5 +39,12 @@ config SND_PXA2XX_AC97
@@ -234,11 +224,9 @@ index 885683a..f7ceafd 100644
+
endif # SND_ARM
-diff --git a/sound/arm/Makefile b/sound/arm/Makefile
-index 8c0c851..6796d7f 100644
--- a/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
snd-pxa2xx-ac97-objs := pxa2xx-ac97.o
@@ -247,9 +235,6 @@ index 8c0c851..6796d7f 100644
+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
-diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c
-new file mode 100755
-index 0000000..aad905f
--- /dev/null
+++ b/sound/arm/bcm2835-ctl.c
@@ -0,0 +1,323 @@
@@ -576,9 +561,6 @@ index 0000000..aad905f
+ }
+ return 0;
+}
-diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c
-new file mode 100755
-index 0000000..3a20b34
--- /dev/null
+++ b/sound/arm/bcm2835-pcm.c
@@ -0,0 +1,552 @@
@@ -1134,9 +1116,6 @@ index 0000000..3a20b34
+
+ return 0;
+}
-diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c
-new file mode 100755
-index 0000000..3c95381
--- /dev/null
+++ b/sound/arm/bcm2835-vchiq.c
@@ -0,0 +1,902 @@
@@ -2042,9 +2021,6 @@ index 0000000..3c95381
+
+module_param(force_bulk, bool, 0444);
+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..7ed5079
--- /dev/null
+++ b/sound/arm/bcm2835.c
@@ -0,0 +1,420 @@
@@ -2468,9 +2444,6 @@ index 0000000..7ed5079
+MODULE_DESCRIPTION("Alsa driver for BCM2835 chip");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:bcm2835_alsa");
-diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h
-new file mode 100755
-index 0000000..0f71c5d
--- /dev/null
+++ b/sound/arm/bcm2835.h
@@ -0,0 +1,167 @@
@@ -2641,9 +2614,6 @@ index 0000000..0f71c5d
+void bcm2835_audio_flush_playback_buffers(bcm2835_alsa_stream_t * alsa_stream);
+
+#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
+++ b/sound/arm/vc_vchi_audioserv_defs.h
@@ -0,0 +1,116 @@
@@ -2763,6 +2733,3 @@ index 0000000..af3e6eb
+} VC_AUDIO_MSG_T;
+
+#endif // _VC_AUDIO_DEFS_H_
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch b/target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch
index 2e6a726fdb..17f9d44552 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch
@@ -10,8 +10,6 @@ Subject: [PATCH 014/114] Add hwrng (hardware random number generator) driver
3 files changed, 130 insertions(+)
create mode 100755 drivers/char/hw_random/bcm2708-rng.c
-diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
-index 91a04ae..0d2ca0d 100644
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
@@ -320,6 +320,17 @@ config HW_RANDOM_TPM
@@ -32,20 +30,15 @@ index 91a04ae..0d2ca0d 100644
config HW_RANDOM_MSM
tristate "Qualcomm SoCs Random Number Generator support"
depends on HW_RANDOM && ARCH_QCOM
-diff --git a/drivers/char/hw_random/Makefile b/drivers/char/hw_random/Makefile
-index 0b4cd57..78b019c 100644
--- a/drivers/char/hw_random/Makefile
+++ b/drivers/char/hw_random/Makefile
-@@ -28,5 +28,6 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += powernv-rng.o
+@@ -28,5 +28,6 @@ obj-$(CONFIG_HW_RANDOM_POWERNV) += power
obj-$(CONFIG_HW_RANDOM_EXYNOS) += exynos-rng.o
obj-$(CONFIG_HW_RANDOM_TPM) += tpm-rng.o
obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o
+obj-$(CONFIG_HW_RANDOM_BCM2708) += bcm2708-rng.o
obj-$(CONFIG_HW_RANDOM_MSM) += msm-rng.o
obj-$(CONFIG_HW_RANDOM_XGENE) += xgene-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..340f004
--- /dev/null
+++ b/drivers/char/hw_random/bcm2708-rng.c
@@ -0,0 +1,118 @@
@@ -167,6 +160,3 @@ index 0000000..340f004
+
+MODULE_DESCRIPTION("BCM2708 H/W Random Number Generator (RNG) driver");
+MODULE_LICENSE("GPL and additional rights");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch b/target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch
index f820965a10..88bcf51c33 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch
+++ b/target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch
@@ -38,8 +38,6 @@ lirc-rpi: Correct the interrupt usage
3 files changed, 666 insertions(+)
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
+++ b/drivers/staging/media/lirc/Kconfig
@@ -38,6 +38,12 @@ config LIRC_PARALLEL
@@ -55,8 +53,6 @@ index e60a59f..6b7ff70 100644
config LIRC_SASEM
tristate "Sasem USB IR Remote"
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
+++ b/drivers/staging/media/lirc/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_LIRC_BT829) += lirc_bt829.o
@@ -67,9 +63,6 @@ index b90fcab..2b227fd 100644
obj-$(CONFIG_LIRC_SASEM) += lirc_sasem.o
obj-$(CONFIG_LIRC_SERIAL) += lirc_serial.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..c688364
--- /dev/null
+++ b/drivers/staging/media/lirc/lirc_rpi.c
@@ -0,0 +1,659 @@
@@ -732,6 +725,3 @@ index 0000000..c688364
+
+module_param(debug, bool, S_IRUGO | S_IWUSR);
+MODULE_PARM_DESC(debug, "Enable debugging messages");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch b/target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch
index 0a3cee2fd4..7c9827970e 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch
@@ -11,8 +11,6 @@ Subject: [PATCH 016/114] Add cpufreq driver
4 files changed, 234 insertions(+)
create mode 100755 drivers/cpufreq/bcm2835-cpufreq.c
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 4cedaf2..6283d7d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -390,6 +390,7 @@ config ARCH_BCM2708
@@ -23,8 +21,6 @@ index 4cedaf2..6283d7d 100644
select GENERIC_CLOCKEVENTS
select ARM_ERRATA_411920
select MACH_BCM2708
-diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
-index 83a75dc..210394f 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -241,6 +241,14 @@ config ARM_SPEAR_CPUFREQ
@@ -42,11 +38,9 @@ index 83a75dc..210394f 100644
config ARM_TEGRA_CPUFREQ
bool "TEGRA CPUFreq support"
depends on ARCH_TEGRA
-diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
-index 40c53dc..47d2922 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
-@@ -75,6 +75,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o
+@@ -75,6 +75,7 @@ obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5p
obj-$(CONFIG_ARM_SA1100_CPUFREQ) += sa1100-cpufreq.o
obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o
obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o
@@ -54,9 +48,6 @@ index 40c53dc..47d2922 100644
obj-$(CONFIG_ARM_TEGRA_CPUFREQ) += tegra-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..447ca09
--- /dev/null
+++ b/drivers/cpufreq/bcm2835-cpufreq.c
@@ -0,0 +1,224 @@
@@ -284,6 +275,3 @@ index 0000000..447ca09
+
+module_init(bcm2835_cpufreq_module_init);
+module_exit(bcm2835_cpufreq_module_exit);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch b/target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
index aa9336a034..fbb2174fdc 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
+++ b/target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
@@ -16,11 +16,9 @@ Subject: [PATCH 017/114] Added hwmon/thermal driver for reporting core
create mode 100644 drivers/hwmon/bcm2835-hwmon.c
create mode 100644 drivers/thermal/bcm2835-thermal.c
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index f3dccae..af57d11 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -455,6 +455,14 @@ static struct platform_device bcm2708_alsa_devices[] = {
+@@ -455,6 +455,14 @@ static struct platform_device bcm2708_al
},
};
@@ -45,11 +43,9 @@ index f3dccae..af57d11 100644
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];
amba_device_register(d, &iomem_resource);
-diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
-index 5286d7c..d52e192 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
-@@ -1680,6 +1680,16 @@ config SENSORS_ULTRA45
+@@ -1689,6 +1689,16 @@ config SENSORS_ULTRA45
This driver provides support for the Ultra45 workstation environmental
sensors.
@@ -66,11 +62,9 @@ index 5286d7c..d52e192 100644
if ACPI
comment "ACPI drivers"
-diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
-index c90a761..15aaecf 100644
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
-@@ -153,6 +153,7 @@ obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o
+@@ -154,6 +154,7 @@ obj-$(CONFIG_SENSORS_W83L786NG) += w83l7
obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o
obj-$(CONFIG_SENSORS_WM8350) += wm8350-hwmon.o
obj-$(CONFIG_SENSORS_GSC) += gsc.o
@@ -78,9 +72,6 @@ index c90a761..15aaecf 100644
obj-$(CONFIG_PMBUS) += pmbus/
-diff --git a/drivers/hwmon/bcm2835-hwmon.c b/drivers/hwmon/bcm2835-hwmon.c
-new file mode 100644
-index 0000000..5bbed45
--- /dev/null
+++ b/drivers/hwmon/bcm2835-hwmon.c
@@ -0,0 +1,219 @@
@@ -303,8 +294,6 @@ index 0000000..5bbed45
+MODULE_DESCRIPTION("HW Monitor driver for bcm2835 chip");
+
+module_platform_driver(bcm2835_hwmon_driver);
-diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig
-index f554d25..fecc621 100644
--- a/drivers/thermal/Kconfig
+++ b/drivers/thermal/Kconfig
@@ -206,6 +206,12 @@ config INTEL_POWERCLAMP
@@ -320,11 +309,9 @@ index f554d25..fecc621 100644
config X86_PKG_TEMP_THERMAL
tristate "X86 package temperature thermal driver"
depends on X86_THERMAL_VECTOR
-diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile
-index 39c4fe8..30a4741 100644
--- a/drivers/thermal/Makefile
+++ b/drivers/thermal/Makefile
-@@ -29,6 +29,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_thermal.o
+@@ -29,6 +29,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_t
obj-$(CONFIG_IMX_THERMAL) += imx_thermal.o
obj-$(CONFIG_DB8500_CPUFREQ_COOLING) += db8500_cpufreq_cooling.o
obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o
@@ -332,9 +319,6 @@ index 39c4fe8..30a4741 100644
obj-$(CONFIG_X86_PKG_TEMP_THERMAL) += x86_pkg_temp_thermal.o
obj-$(CONFIG_INTEL_SOC_DTS_THERMAL) += intel_soc_dts_thermal.o
obj-$(CONFIG_TI_SOC_THERMAL) += ti-soc-thermal/
-diff --git a/drivers/thermal/bcm2835-thermal.c b/drivers/thermal/bcm2835-thermal.c
-new file mode 100644
-index 0000000..85fceb5
--- /dev/null
+++ b/drivers/thermal/bcm2835-thermal.c
@@ -0,0 +1,184 @@
@@ -522,6 +506,3 @@ index 0000000..85fceb5
+MODULE_DESCRIPTION("Thermal driver for bcm2835 chip");
+
+module_platform_driver(bcm2835_thermal_driver);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch b/target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch
index 1644ff42d3..ac059b5192 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch
+++ b/target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch
@@ -8,8 +8,6 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
drivers/net/usb/smsc95xx.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
-diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c
-index d07bf4c..5ae60ab 100644
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
@@ -59,6 +59,7 @@
@@ -31,7 +29,7 @@ index d07bf4c..5ae60ab 100644
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
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);
}
@@ -91,6 +89,3 @@ index d07bf4c..5ae60ab 100644
/* try reading mac address from EEPROM */
if (smsc95xx_read_eeprom(dev, EEPROM_MAC_OFFSET, ETH_ALEN,
dev->net->dev_addr) == 0) {
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch b/target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch
index cad4e68d78..95e4a6d244 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch
+++ b/target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch
@@ -25,8 +25,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/spi/spi-bcm2708.c
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 63cb6a4..6d2eae1 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -195,6 +195,13 @@ CONFIG_SERIAL_AMBA_PL011=y
@@ -43,8 +41,6 @@ index 63cb6a4..6d2eae1 100644
# CONFIG_HWMON is not set
CONFIG_WATCHDOG=y
CONFIG_FB=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
+++ b/arch/arm/mach-bcm2708/Kconfig
@@ -31,4 +31,11 @@ config BCM2708_NOL2CACHE
@@ -59,8 +55,6 @@ index 9355841..e151ed4 100644
+ help
+ Binds spidev driver to the SPI0 master
endmenu
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index af57d11..82f56fb 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -31,6 +31,7 @@
@@ -103,7 +97,7 @@ index af57d11..82f56fb 100644
}
};
-@@ -455,6 +463,89 @@ static struct platform_device bcm2708_alsa_devices[] = {
+@@ -455,6 +463,89 @@ static struct platform_device bcm2708_al
},
};
@@ -216,8 +210,6 @@ index af57d11..82f56fb 100644
}
static void timer_set_mode(enum clock_event_mode mode,
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 917c358..3d3db41 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -371,6 +371,25 @@ config I2C_BCM2835
@@ -246,8 +238,6 @@ index 917c358..3d3db41 100644
config I2C_BCM_KONA
tristate "BCM Kona I2C adapter"
depends on ARCH_BCM_MOBILE
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index 78d56c5..abe642f 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
@@ -33,6 +33,7 @@ obj-$(CONFIG_I2C_AT91) += i2c-at91.o
@@ -258,9 +248,6 @@ index 78d56c5..abe642f 100644
obj-$(CONFIG_I2C_BLACKFIN_TWI) += i2c-bfin-twi.o
obj-$(CONFIG_I2C_CADENCE) += i2c-cadence.o
obj-$(CONFIG_I2C_CBUS_GPIO) += i2c-cbus-gpio.o
-diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
-new file mode 100644
-index 0000000..09203c0
--- /dev/null
+++ b/drivers/i2c/busses/i2c-bcm2708.c
@@ -0,0 +1,420 @@
@@ -684,8 +671,6 @@ index 0000000..09203c0
+MODULE_AUTHOR("Chris Boot <bootc@bootc.net>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" DRV_NAME);
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 84e7c9e..71b4741 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -86,6 +86,14 @@ config SPI_BCM2835
@@ -703,11 +688,9 @@ index 84e7c9e..71b4741 100644
config SPI_BFIN5XX
tristate "SPI controller driver for ADI Blackfin5xx"
depends on BLACKFIN && !BF60x
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 78f24ca..fdd29d3 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63xx.o
+@@ -20,6 +20,7 @@ obj-$(CONFIG_SPI_BCM63XX) += spi-bcm63x
obj-$(CONFIG_SPI_BCM63XX_HSSPI) += spi-bcm63xx-hsspi.o
obj-$(CONFIG_SPI_BFIN5XX) += spi-bfin5xx.o
obj-$(CONFIG_SPI_ADI_V3) += spi-adi-v3.o
@@ -715,9 +698,6 @@ index 78f24ca..fdd29d3 100644
obj-$(CONFIG_SPI_BFIN_SPORT) += spi-bfin-sport.o
obj-$(CONFIG_SPI_BITBANG) += spi-bitbang.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..b04a57d
--- /dev/null
+++ b/drivers/spi/spi-bcm2708.c
@@ -0,0 +1,626 @@
@@ -1347,6 +1327,3 @@ index 0000000..b04a57d
+MODULE_AUTHOR("Chris Boot <bootc@bootc.net>");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:" DRV_NAME);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0020-Perform-I2C-combined-transactions-when-possible.patch b/target/linux/brcm2708/patches-3.18/0020-Perform-I2C-combined-transactions-when-possible.patch
index 236f9c6030..c31848d108 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0020-Perform-I2C-combined-transactions-when-possible.patch
+++ b/target/linux/brcm2708/patches-3.18/0020-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 ++++++++++++++++++++++++++++++-
1 file changed, 30 insertions(+), 1 deletion(-)
-diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
-index 09203c0..7d385a3 100644
--- a/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_PARM_DESC(baudrate, "The I2C baudrate");
@@ -30,7 +28,7 @@ index 09203c0..7d385a3 100644
struct bcm2708_i2c {
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)
{
unsigned long bus_hz;
@@ -39,7 +37,7 @@ index 09203c0..7d385a3 100644
u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1;
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_A, bi->msg->addr);
bcm2708_wr(bi, BSC_DLEN, bi->msg->len);
@@ -72,6 +70,3 @@ index 09203c0..7d385a3 100644
bcm2708_wr(bi, BSC_C, c);
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch b/target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
index b2d715c57f..92aaea5f65 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
+++ b/target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
@@ -26,8 +26,6 @@ Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
drivers/w1/w1_io.c | 18 +++++++++++---
5 files changed, 114 insertions(+), 8 deletions(-)
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 82f56fb..7dd89a7f 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -32,6 +32,7 @@
@@ -58,7 +56,7 @@ index 82f56fb..7dd89a7f 100644
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),
};
@@ -97,8 +95,6 @@ index 82f56fb..7dd89a7f 100644
module_param(reboot_part, uint, 0644);
+module_param(w1_gpio_pin, 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 1d111e5..61be2cd 100644
--- a/drivers/w1/masters/w1-gpio.c
+++ b/drivers/w1/masters/w1-gpio.c
@@ -23,6 +23,15 @@
@@ -134,7 +130,7 @@ index 1d111e5..61be2cd 100644
#if defined(CONFIG_OF)
static struct of_device_id w1_gpio_dt_ids[] = {
{ .compatible = "w1-gpio" },
-@@ -113,13 +132,15 @@ static int w1_gpio_probe_dt(struct platform_device *pdev)
+@@ -113,13 +132,15 @@ static int w1_gpio_probe_dt(struct platf
static int w1_gpio_probe(struct platform_device *pdev)
{
struct w1_bus_master *master;
@@ -155,7 +151,7 @@ index 1d111e5..61be2cd 100644
}
pdata = dev_get_platdata(&pdev->dev);
-@@ -136,6 +157,19 @@ static int w1_gpio_probe(struct platform_device *pdev)
+@@ -136,6 +157,19 @@ static int w1_gpio_probe(struct platform
return -ENOMEM;
}
@@ -175,7 +171,7 @@ index 1d111e5..61be2cd 100644
err = devm_gpio_request(&pdev->dev, pdata->pin, "w1");
if (err) {
dev_err(&pdev->dev, "gpio_request (pin) failed\n");
-@@ -165,6 +199,14 @@ static int w1_gpio_probe(struct platform_device *pdev)
+@@ -165,6 +199,14 @@ static int w1_gpio_probe(struct platform
master->set_pullup = w1_gpio_set_pullup;
}
@@ -190,7 +186,7 @@ index 1d111e5..61be2cd 100644
err = w1_add_master_device(master);
if (err) {
dev_err(&pdev->dev, "w1_add_master device failed\n");
-@@ -195,6 +237,9 @@ static int w1_gpio_remove(struct platform_device *pdev)
+@@ -195,6 +237,9 @@ static int w1_gpio_remove(struct platfor
w1_remove_master_device(master);
@@ -200,8 +196,6 @@ index 1d111e5..61be2cd 100644
return 0;
}
-diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h
-index 56a49ba..881d728 100644
--- a/drivers/w1/w1.h
+++ b/drivers/w1/w1.h
@@ -171,6 +171,12 @@ struct w1_bus_master
@@ -217,11 +211,9 @@ index 56a49ba..881d728 100644
void (*search)(void *, struct w1_master *,
u8, w1_slave_found_callback);
};
-diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c
-index 47249a3..a4b4a8d 100644
--- a/drivers/w1/w1_int.c
+++ b/drivers/w1/w1_int.c
-@@ -123,6 +123,20 @@ int w1_add_master_device(struct w1_bus_master *master)
+@@ -123,6 +123,20 @@ int w1_add_master_device(struct w1_bus_m
return(-EINVAL);
}
@@ -242,11 +234,9 @@ index 47249a3..a4b4a8d 100644
/* Lock until the device is added (or not) to w1_masters. */
mutex_lock(&w1_mlock);
/* Search for the first available id (starting at 1). */
-diff --git a/drivers/w1/w1_io.c b/drivers/w1/w1_io.c
-index 2820924..fd0550f 100644
--- a/drivers/w1/w1_io.c
+++ b/drivers/w1/w1_io.c
-@@ -134,10 +134,22 @@ static void w1_pre_write(struct w1_master *dev)
+@@ -134,10 +134,22 @@ static void w1_pre_write(struct w1_maste
static void w1_post_write(struct w1_master *dev)
{
if (dev->pullup_duration) {
@@ -261,17 +251,14 @@ index 2820924..fd0550f 100644
+ } else if (dev->bus_master->bitbang_pullup) {
+ dev->bus_master->
+ bitbang_pullup(dev->bus_master->data, 1);
-+ msleep(dev->pullup_duration);
+ msleep(dev->pullup_duration);
+ dev->bus_master->
+ bitbang_pullup(dev->bus_master->data, 0);
+ }
+ } else {
- msleep(dev->pullup_duration);
++ msleep(dev->pullup_duration);
+ }
+
dev->pullup_duration = 0;
}
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch b/target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch
index 2b0d0cb6fe..a004a71953 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch
+++ b/target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 022/114] Added Device IDs for August DVB-T 205
drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
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 27b1e03..a2997b7 100644
--- a/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
+++ b/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
-@@ -1531,6 +1531,10 @@ static const struct usb_device_id rtl28xxu_id_table[] = {
+@@ -1531,6 +1531,10 @@ static const struct usb_device_id rtl28x
&rtl2832u_props, "Compro VideoMate U620F", NULL) },
{ DVB_USB_DEVICE(USB_VID_KWORLD_2, 0xd394,
&rtl2832u_props, "MaxMedia HU394-T", NULL) },
@@ -22,6 +20,3 @@ index 27b1e03..a2997b7 100644
{ DVB_USB_DEVICE(USB_VID_LEADTEK, 0x6a03,
&rtl2832u_props, "Leadtek WinFast DTV Dongle mini", NULL) },
{ DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A,
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch b/target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch
index 56d28d7571..e1c5c0342c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch
+++ b/target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 023/114] config: add missing options from 3.6.y kernel
arch/arm/configs/bcmrpi_defconfig | 658 ++++++++++++++++++++++++++++++++++++--
1 file changed, 636 insertions(+), 22 deletions(-)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 6d2eae1..e2da9da 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -1,3 +1,5 @@
@@ -934,6 +932,3 @@ index 6d2eae1..e2da9da 100644
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_HW is not set
CONFIG_CRC_ITU_T=y
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch b/target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
index f637a436e3..e720949304 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
+++ b/target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
@@ -10,8 +10,6 @@ Subject: [PATCH 024/114] config: Enable CONFIG_MEMCG, but leave it disabled
mm/memcontrol.c | 1 +
3 files changed, 25 insertions(+)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index e2da9da..897616c 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -19,6 +19,7 @@ CONFIG_CGROUP_FREEZER=y
@@ -22,11 +20,9 @@ index e2da9da..897616c 100644
CONFIG_BLK_CGROUP=y
CONFIG_NAMESPACES=y
CONFIG_SCHED_AUTOGROUP=y
-diff --git a/kernel/cgroup.c b/kernel/cgroup.c
-index 136ecea..c909506 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
-@@ -5322,6 +5322,29 @@ static int __init cgroup_disable(char *str)
+@@ -5322,6 +5322,29 @@ static int __init cgroup_disable(char *s
}
__setup("cgroup_disable=", cgroup_disable);
@@ -56,11 +52,9 @@ index 136ecea..c909506 100644
static int __init cgroup_set_legacy_files_on_dfl(char *str)
{
printk("cgroup: using legacy files on the default hierarchy\n");
-diff --git a/mm/memcontrol.c b/mm/memcontrol.c
-index 4918b6e..168498c 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
-@@ -6207,6 +6207,7 @@ struct cgroup_subsys memory_cgrp_subsys = {
+@@ -6207,6 +6207,7 @@ struct cgroup_subsys memory_cgrp_subsys
.bind = mem_cgroup_bind,
.legacy_cftypes = mem_cgroup_files,
.early_init = 0,
@@ -68,6 +62,3 @@ index 4918b6e..168498c 100644
};
#ifdef CONFIG_MEMCG_SWAP
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch b/target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch
index 822f8dacd8..8d3464fefe 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch
+++ b/target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch
@@ -282,8 +282,6 @@ incarnations.
create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
create mode 100755 drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 6283d7d..ba9c18e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -395,6 +395,7 @@ config ARCH_BCM2708
@@ -294,11 +292,9 @@ index 6283d7d..ba9c18e 100644
help
This enables support for Broadcom BCM2708 boards.
-diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h
-index 3b763d6..5770408 100644
--- a/arch/arm/include/asm/irqflags.h
+++ b/arch/arm/include/asm/irqflags.h
-@@ -145,12 +145,22 @@ static inline unsigned long arch_local_save_flags(void)
+@@ -145,12 +145,22 @@ static inline unsigned long arch_local_s
}
/*
@@ -324,8 +320,6 @@ index 3b763d6..5770408 100644
:
: "r" (flags)
: "memory", "cc");
-diff --git a/arch/arm/kernel/fiqasm.S b/arch/arm/kernel/fiqasm.S
-index 8dd26e1..eef4847 100644
--- a/arch/arm/kernel/fiqasm.S
+++ b/arch/arm/kernel/fiqasm.S
@@ -47,3 +47,7 @@ ENTRY(__get_fiq_regs)
@@ -336,11 +330,9 @@ index 8dd26e1..eef4847 100644
+ENTRY(__FIQ_Branch)
+ mov pc, r8
+ENDPROC(__FIQ_Branch)
-diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c
-index ef1c8d5..96fa9b9 100644
--- a/arch/arm/mach-bcm2708/armctrl.c
+++ b/arch/arm/mach-bcm2708/armctrl.c
-@@ -52,8 +52,12 @@ static void armctrl_mask_irq(struct irq_data *d)
+@@ -52,8 +52,12 @@ static void armctrl_mask_irq(struct irq_
0
};
@@ -355,7 +347,7 @@ index ef1c8d5..96fa9b9 100644
}
static void armctrl_unmask_irq(struct irq_data *d)
-@@ -65,8 +69,14 @@ static void armctrl_unmask_irq(struct irq_data *d)
+@@ -65,8 +69,14 @@ static void armctrl_unmask_irq(struct ir
0
};
@@ -372,18 +364,16 @@ index ef1c8d5..96fa9b9 100644
}
#if defined(CONFIG_PM)
-@@ -204,5 +214,6 @@ int __init armctrl_init(void __iomem * base, unsigned int irq_start,
+@@ -204,5 +214,6 @@ int __init armctrl_init(void __iomem * b
}
armctrl_pm_register(base, irq_start, resume_sources);
+ init_FIQ(FIQ_START);
return 0;
}
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 7dd89a7f..dc59a6b 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -321,12 +321,32 @@ static struct resource bcm2708_usb_resources[] = {
+@@ -321,12 +321,32 @@ static struct resource bcm2708_usb_resou
.flags = IORESOURCE_MEM,
},
[1] = {
@@ -430,8 +420,6 @@ index 7dd89a7f..dc59a6b 100644
bcm_register_device(&bcm2708_usb_device);
bcm_register_device(&bcm2708_uart1_device);
bcm_register_device(&bcm2708_powerman_device);
-diff --git a/arch/arm/mach-bcm2708/include/mach/irqs.h b/arch/arm/mach-bcm2708/include/mach/irqs.h
-index 3a88a1a..45152ed 100644
--- a/arch/arm/mach-bcm2708/include/mach/irqs.h
+++ b/arch/arm/mach-bcm2708/include/mach/irqs.h
@@ -106,87 +106,90 @@
@@ -600,11 +588,9 @@ index 3a88a1a..45152ed 100644
#define GPIO_IRQS (32*5)
#define SPARE_ALLOC_IRQS 64
#define BCM2708_ALLOC_IRQS (HARD_IRQS+FIQ_IRQS+GPIO_IRQS+SPARE_ALLOC_IRQS)
-diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
-index 1668f10..5c50a8b 100644
--- a/drivers/usb/host/dwc_common_port/dwc_common_linux.c
+++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
-@@ -580,7 +580,13 @@ void DWC_WRITE_REG64(uint64_t volatile *reg, uint64_t value)
+@@ -580,7 +580,13 @@ void DWC_WRITE_REG64(uint64_t volatile *
void DWC_MODIFY_REG32(uint32_t volatile *reg, uint32_t clear_mask, uint32_t set_mask)
{
@@ -618,7 +604,7 @@ index 1668f10..5c50a8b 100644
}
#if 0
-@@ -995,6 +1001,11 @@ void DWC_TASK_SCHEDULE(dwc_tasklet_t *task)
+@@ -995,6 +1001,11 @@ void DWC_TASK_SCHEDULE(dwc_tasklet_t *ta
tasklet_schedule(&task->t);
}
@@ -630,8 +616,6 @@ index 1668f10..5c50a8b 100644
/* workqueues
- run in process context (can sleep)
-diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h
-index 89cc325..4ce560d 100644
--- a/drivers/usb/host/dwc_common_port/dwc_list.h
+++ b/drivers/usb/host/dwc_common_port/dwc_list.h
@@ -384,17 +384,17 @@ struct { \
@@ -659,11 +643,9 @@ index 89cc325..4ce560d 100644
/*
* Tail queue functions.
-diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h
-index 8117731..a2bbe23 100644
--- a/drivers/usb/host/dwc_common_port/dwc_os.h
+++ b/drivers/usb/host/dwc_common_port/dwc_os.h
-@@ -982,6 +982,8 @@ extern void DWC_TASK_FREE(dwc_tasklet_t *task);
+@@ -982,6 +982,8 @@ extern void DWC_TASK_FREE(dwc_tasklet_t
extern void DWC_TASK_SCHEDULE(dwc_tasklet_t *task);
#define dwc_task_schedule DWC_TASK_SCHEDULE
@@ -672,11 +654,9 @@ index 8117731..a2bbe23 100644
/** @name Timer
*
-diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile
-index 236c47c..a56f193 100644
--- a/drivers/usb/host/dwc_otg/Makefile
+++ b/drivers/usb/host/dwc_otg/Makefile
-@@ -36,6 +36,7 @@ dwc_otg-objs += dwc_otg_cil.o dwc_otg_cil_intr.o
+@@ -36,6 +36,7 @@ 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_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
@@ -684,11 +664,9 @@ index 236c47c..a56f193 100644
ifneq ($(CFI),)
dwc_otg-objs += dwc_otg_cfi.o
endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
-index fab2961..9da0c92 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_attr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c
-@@ -909,7 +909,7 @@ static ssize_t regdump_show(struct device *_dev,
+@@ -909,7 +909,7 @@ static ssize_t regdump_show(struct devic
return sprintf(buf, "Register Dump\n");
}
@@ -697,7 +675,7 @@ index fab2961..9da0c92 100644
/**
* Dump global registers and either host or device registers (depending on the
-@@ -920,12 +920,12 @@ static ssize_t spramdump_show(struct device *_dev,
+@@ -920,12 +920,12 @@ static ssize_t spramdump_show(struct dev
{
dwc_otg_device_t *otg_dev = dwc_otg_drvdev(_dev);
@@ -712,7 +690,7 @@ index fab2961..9da0c92 100644
/**
* Dump the current hcd state.
-@@ -940,7 +940,7 @@ static ssize_t hcddump_show(struct device *_dev,
+@@ -940,7 +940,7 @@ static ssize_t hcddump_show(struct devic
return sprintf(buf, "HCD Dump\n");
}
@@ -721,7 +699,7 @@ index fab2961..9da0c92 100644
/**
* Dump the average frame remaining at SOF. This can be used to
-@@ -958,7 +958,7 @@ static ssize_t hcd_frrem_show(struct device *_dev,
+@@ -958,7 +958,7 @@ static ssize_t hcd_frrem_show(struct dev
return sprintf(buf, "HCD Dump Frame Remaining\n");
}
@@ -730,7 +708,7 @@ index fab2961..9da0c92 100644
/**
* Displays the time required to read the GNPTXFSIZ register many times (the
-@@ -986,7 +986,7 @@ static ssize_t rd_reg_test_show(struct device *_dev,
+@@ -986,7 +986,7 @@ static ssize_t rd_reg_test_show(struct d
RW_REG_COUNT, time * MSEC_PER_JIFFIE, time);
}
@@ -739,7 +717,7 @@ index fab2961..9da0c92 100644
/**
* Displays the time required to write the GNPTXFSIZ register many times (the
-@@ -1014,7 +1014,7 @@ static ssize_t wr_reg_test_show(struct device *_dev,
+@@ -1014,7 +1014,7 @@ static ssize_t wr_reg_test_show(struct d
RW_REG_COUNT, time * MSEC_PER_JIFFIE, time);
}
@@ -748,8 +726,6 @@ index fab2961..9da0c92 100644
#ifdef CONFIG_USB_DWC_OTG_LPM
-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 59fc862..2f8b3bd 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
@@ -45,6 +45,7 @@
@@ -760,7 +736,7 @@ index 59fc862..2f8b3bd 100644
#ifdef DEBUG
inline const char *op_state_str(dwc_otg_core_if_t * core_if)
-@@ -1318,7 +1319,7 @@ static int32_t dwc_otg_handle_lpm_intr(dwc_otg_core_if_t * core_if)
+@@ -1318,7 +1319,7 @@ static int32_t dwc_otg_handle_lpm_intr(d
/**
* This function returns the Core Interrupt register.
*/
@@ -769,7 +745,7 @@ index 59fc862..2f8b3bd 100644
{
gahbcfg_data_t gahbcfg = {.d32 = 0 };
gintsts_data_t gintsts;
-@@ -1335,26 +1336,45 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if)
+@@ -1335,26 +1336,45 @@ static inline uint32_t dwc_otg_read_comm
gintmsk_common.b.lpmtranrcvd = 1;
#endif
gintmsk_common.b.restoredone = 1;
@@ -824,7 +800,7 @@ index 59fc862..2f8b3bd 100644
}
-@@ -1386,6 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1386,6 +1406,7 @@ int32_t dwc_otg_handle_common_intr(void
{
int retval = 0;
gintsts_data_t gintsts;
@@ -832,7 +808,7 @@ index 59fc862..2f8b3bd 100644
gpwrdn_data_t gpwrdn = {.d32 = 0 };
dwc_otg_device_t *otg_dev = dev;
dwc_otg_core_if_t *core_if = otg_dev->core_if;
-@@ -1407,7 +1428,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1407,7 +1428,7 @@ int32_t dwc_otg_handle_common_intr(void
}
if (core_if->hibernation_suspend <= 0) {
@@ -841,7 +817,7 @@ index 59fc862..2f8b3bd 100644
if (gintsts.b.modemismatch) {
retval |= dwc_otg_handle_mode_mismatch_intr(core_if);
-@@ -1504,8 +1525,12 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1504,8 +1525,12 @@ int32_t dwc_otg_handle_common_intr(void
gintsts.b.portintr = 1;
DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32);
retval |= 1;
@@ -854,11 +830,9 @@ index 59fc862..2f8b3bd 100644
} else {
DWC_DEBUGPL(DBG_ANY, "gpwrdn=%08x\n", gpwrdn.d32);
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
-index 8900318..ccc24e0 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
+++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h
-@@ -49,6 +49,7 @@ static inline uint32_t SET_DEBUG_LEVEL(const uint32_t new)
+@@ -49,6 +49,7 @@ static inline uint32_t SET_DEBUG_LEVEL(c
return old;
}
@@ -866,8 +840,6 @@ index 8900318..ccc24e0 100644
/** When debug level has the DBG_CIL bit set, display CIL Debug messages. */
#define DBG_CIL (0x2)
/** When debug level has the DBG_CILV bit set, display CIL Verbose debug
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
-index ac2c846..f06c3d22 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_driver.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
@@ -64,6 +64,8 @@ bool microframe_schedule=true;
@@ -879,7 +851,7 @@ index ac2c846..f06c3d22 100644
extern int pcd_init(
#ifdef LM_INTERFACE
struct lm_device *_dev
-@@ -238,6 +240,14 @@ static struct dwc_otg_driver_module_params dwc_otg_module_params = {
+@@ -238,6 +240,14 @@ static struct dwc_otg_driver_module_para
.adp_enable = -1,
};
@@ -933,7 +905,7 @@ index ac2c846..f06c3d22 100644
#else
{
struct map_desc desc = {
-@@ -1044,6 +1070,12 @@ static int __init dwc_otg_driver_init(void)
+@@ -1044,6 +1070,12 @@ static int __init dwc_otg_driver_init(vo
int retval = 0;
int error;
struct device_driver *drv;
@@ -946,7 +918,7 @@ index ac2c846..f06c3d22 100644
printk(KERN_INFO "%s: version %s (%s bus)\n", dwc_driver_name,
DWC_DRIVER_VERSION,
#ifdef LM_INTERFACE
-@@ -1063,6 +1095,9 @@ static int __init dwc_otg_driver_init(void)
+@@ -1063,6 +1095,9 @@ static int __init dwc_otg_driver_init(vo
printk(KERN_ERR "%s retval=%d\n", __func__, retval);
return retval;
}
@@ -956,7 +928,7 @@ index ac2c846..f06c3d22 100644
error = driver_create_file(drv, &driver_attr_version);
#ifdef DEBUG
-@@ -1343,6 +1378,13 @@ MODULE_PARM_DESC(otg_ver, "OTG revision supported 0=OTG 1.3 1=OTG 2.0");
+@@ -1343,6 +1378,13 @@ MODULE_PARM_DESC(otg_ver, "OTG revision
module_param(microframe_schedule, bool, 0444);
MODULE_PARM_DESC(microframe_schedule, "Enable the microframe scheduler");
@@ -970,8 +942,6 @@ index ac2c846..f06c3d22 100644
/** @page "Module Parameters"
*
* The following parameters may be specified when starting the module.
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-index 1e89549..986d361 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
@@ -40,10 +40,14 @@
@@ -990,7 +960,7 @@ index 1e89549..986d361 100644
//#define DEBUG_HOST_CHANNELS
#ifdef DEBUG_HOST_CHANNELS
-@@ -53,6 +57,13 @@ static int last_sel_trans_num_avail_hc_at_start = 0;
+@@ -53,6 +57,13 @@ static int last_sel_trans_num_avail_hc_a
static int last_sel_trans_num_avail_hc_at_end = 0;
#endif /* DEBUG_HOST_CHANNELS */
@@ -1004,7 +974,7 @@ index 1e89549..986d361 100644
dwc_otg_hcd_t *dwc_otg_hcd_alloc_hcd(void)
{
return DWC_ALLOC(sizeof(dwc_otg_hcd_t));
-@@ -162,31 +173,43 @@ static void del_timers(dwc_otg_hcd_t * hcd)
+@@ -162,31 +173,43 @@ static void del_timers(dwc_otg_hcd_t * h
/**
* Processes all the URBs in a single list of QHs. Completes them with
@@ -1053,7 +1023,7 @@ index 1e89549..986d361 100644
* and periodic schedules. The QTD associated with each URB is removed from
* the schedule and freed. This function may be called when a disconnect is
* detected or when the HCD is being stopped.
-@@ -272,7 +295,8 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
+@@ -272,7 +295,8 @@ 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 = 0;
@@ -1063,7 +1033,7 @@ index 1e89549..986d361 100644
/*
* Shutdown any transfers in process by clearing the Tx FIFO Empty
* interrupt mask and status bits and disabling subsequent host
-@@ -368,8 +392,22 @@ static int32_t dwc_otg_hcd_disconnect_cb(void *p)
+@@ -368,8 +392,22 @@ static int32_t dwc_otg_hcd_disconnect_cb
channel->qh = NULL;
}
}
@@ -1094,7 +1064,7 @@ index 1e89549..986d361 100644
/**
* HCD Callback function for Remote Wakeup.
*
-@@ -457,10 +496,12 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
+@@ -457,10 +496,12 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
dwc_otg_hcd_urb_t * dwc_otg_urb, void **ep_handle,
int atomic_alloc)
{
@@ -1108,7 +1078,7 @@ index 1e89549..986d361 100644
#ifdef DEBUG /* integrity checks (Broadcom) */
if (NULL == hcd->core_if) {
-@@ -475,6 +516,16 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
+@@ -475,6 +516,16 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
return -DWC_E_NO_DEVICE;
}
@@ -1125,7 +1095,7 @@ index 1e89549..986d361 100644
qtd = dwc_otg_hcd_qtd_create(dwc_otg_urb, atomic_alloc);
if (qtd == NULL) {
DWC_ERROR("DWC OTG HCD URB Enqueue failed creating QTD\n");
-@@ -490,32 +541,27 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_t * hcd,
+@@ -490,32 +541,27 @@ int dwc_otg_hcd_urb_enqueue(dwc_otg_hcd_
return -DWC_E_NO_MEMORY;
}
#endif
@@ -1168,7 +1138,7 @@ index 1e89549..986d361 100644
return retval;
}
-@@ -524,6 +570,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
+@@ -524,6 +570,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
{
dwc_otg_qh_t *qh;
dwc_otg_qtd_t *urb_qtd;
@@ -1177,7 +1147,7 @@ index 1e89549..986d361 100644
#ifdef DEBUG /* integrity checks (Broadcom) */
-@@ -540,14 +588,17 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
+@@ -540,14 +588,17 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
return -DWC_E_INVALID;
}
urb_qtd = dwc_otg_urb->qtd;
@@ -1195,7 +1165,7 @@ index 1e89549..986d361 100644
if (CHK_DEBUG_LEVEL(DBG_HCDV | DBG_HCD_URB)) {
if (urb_qtd->in_process) {
dump_channel_info(hcd, qh);
-@@ -571,6 +622,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_t * hcd,
+@@ -571,6 +622,8 @@ int dwc_otg_hcd_urb_dequeue(dwc_otg_hcd_
*/
dwc_otg_hc_halt(hcd->core_if, qh->channel,
DWC_OTG_HC_XFER_URB_DEQUEUE);
@@ -1204,7 +1174,7 @@ index 1e89549..986d361 100644
}
}
-@@ -687,6 +740,33 @@ static void reset_tasklet_func(void *data)
+@@ -687,6 +740,33 @@ static void reset_tasklet_func(void *dat
dwc_otg_hcd->flags.b.port_reset_change = 1;
}
@@ -1238,7 +1208,7 @@ index 1e89549..986d361 100644
static void qh_list_free(dwc_otg_hcd_t * hcd, dwc_list_link_t * qh_list)
{
dwc_list_link_t *item;
-@@ -819,12 +899,14 @@ static void dwc_otg_hcd_free(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -819,12 +899,14 @@ static void dwc_otg_hcd_free(dwc_otg_hcd
} else if (dwc_otg_hcd->status_buf != NULL) {
DWC_FREE(dwc_otg_hcd->status_buf);
}
@@ -1253,7 +1223,7 @@ index 1e89549..986d361 100644
#ifdef DWC_DEV_SRPCAP
if (dwc_otg_hcd->core_if->power_down == 2 &&
-@@ -874,7 +956,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
+@@ -874,7 +956,7 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
DWC_LIST_INIT(&hcd->periodic_sched_ready);
DWC_LIST_INIT(&hcd->periodic_sched_assigned);
DWC_LIST_INIT(&hcd->periodic_sched_queued);
@@ -1262,7 +1232,7 @@ index 1e89549..986d361 100644
/*
* Create a host channel descriptor for each host channel implemented
* in the controller. Initialize the channel descriptor array.
-@@ -912,6 +994,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
+@@ -912,6 +994,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
/* Initialize reset tasklet. */
hcd->reset_tasklet = DWC_TASK_ALLOC("reset_tasklet", reset_tasklet_func, hcd);
@@ -1272,7 +1242,7 @@ index 1e89549..986d361 100644
#ifdef DWC_DEV_SRPCAP
if (hcd->core_if->power_down == 2) {
/* Initialize Power on timer for Host power up in case hibernation */
-@@ -944,6 +1029,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
+@@ -944,6 +1029,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
hcd->frame_list = NULL;
hcd->frame_list_dma = 0;
hcd->periodic_qh_count = 0;
@@ -1285,7 +1255,7 @@ index 1e89549..986d361 100644
out:
return retval;
}
-@@ -1089,7 +1180,12 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1089,7 +1180,12 @@ static void assign_and_init_hc(dwc_otg_h
uint32_t hub_addr, port_addr;
hc->do_split = 1;
hc->xact_pos = qtd->isoc_split_pos;
@@ -1299,7 +1269,7 @@ index 1e89549..986d361 100644
hcd->fops->hub_info(hcd, urb->priv, &hub_addr, &port_addr);
hc->hub_addr = (uint8_t) hub_addr;
hc->port_addr = (uint8_t) port_addr;
-@@ -1236,6 +1332,65 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1236,6 +1332,65 @@ static void assign_and_init_hc(dwc_otg_h
hc->qh = qh;
}
@@ -1365,7 +1335,7 @@ index 1e89549..986d361 100644
/**
* This function selects transactions from the HCD transfer schedule and
* assigns them to available host channels. It is called from HCD interrupt
-@@ -1249,9 +1404,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1249,9 +1404,10 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
{
dwc_list_link_t *qh_ptr;
dwc_otg_qh_t *qh;
@@ -1377,7 +1347,7 @@ index 1e89549..986d361 100644
dwc_otg_transaction_type_e ret_val = DWC_OTG_TRANSACTION_NONE;
#ifdef DEBUG_SOF
-@@ -1269,11 +1425,29 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1269,11 +1425,29 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
while (qh_ptr != &hcd->periodic_sched_ready &&
!DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
@@ -1407,7 +1377,7 @@ index 1e89549..986d361 100644
break;
}
hcd->available_host_channels--;
-@@ -1294,8 +1468,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1294,8 +1468,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_assigned,
&qh->qh_list_entry);
DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
@@ -1416,7 +1386,7 @@ index 1e89549..986d361 100644
}
/*
-@@ -1310,6 +1482,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1310,6 +1482,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
num_channels - hcd->periodic_channels) &&
!DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
@@ -1448,7 +1418,7 @@ index 1e89549..986d361 100644
if (microframe_schedule) {
DWC_SPINLOCK_IRQSAVE(channel_lock, &flags);
if (hcd->available_host_channels < 1) {
-@@ -1322,7 +1519,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1322,7 +1519,6 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
last_sel_trans_num_nonper_scheduled++;
#endif /* DEBUG_HOST_CHANNELS */
}
@@ -1456,7 +1426,7 @@ index 1e89549..986d361 100644
assign_and_init_hc(hcd, qh);
-@@ -1336,21 +1532,22 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1336,21 +1532,22 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
&qh->qh_list_entry);
DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
@@ -1486,7 +1456,7 @@ index 1e89549..986d361 100644
return ret_val;
}
-@@ -1464,6 +1661,15 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1464,6 +1661,15 @@ static void process_periodic_channels(dw
qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
@@ -1502,7 +1472,7 @@ index 1e89549..986d361 100644
/*
* Set a flag if we're queuing high-bandwidth in slave mode.
* The flag prevents any halts to get into the request queue in
-@@ -1593,6 +1799,15 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1593,6 +1799,15 @@ static void process_non_periodic_channel
qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t,
qh_list_entry);
@@ -1518,7 +1488,7 @@ index 1e89549..986d361 100644
status =
queue_transaction(hcd, qh->channel,
tx_status.b.nptxfspcavail);
-@@ -3118,17 +3333,13 @@ dwc_otg_hcd_urb_t *dwc_otg_hcd_urb_alloc(dwc_otg_hcd_t * hcd,
+@@ -3118,17 +3333,13 @@ dwc_otg_hcd_urb_t *dwc_otg_hcd_urb_alloc
else
dwc_otg_urb = DWC_ALLOC(size);
@@ -1542,8 +1512,6 @@ index 1e89549..986d361 100644
return dwc_otg_urb;
}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
-index bb4f67a..0007fa1 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
@@ -168,10 +168,10 @@ typedef enum dwc_otg_control_phase {
@@ -1620,7 +1588,7 @@ index bb4f67a..0007fa1 100644
/** Frame List DMA address */
dma_addr_t frame_list_dma;
-@@ -589,6 +612,10 @@ extern dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t
+@@ -589,6 +612,10 @@ extern dwc_otg_transaction_type_e dwc_ot
extern void dwc_otg_hcd_queue_transactions(dwc_otg_hcd_t * hcd,
dwc_otg_transaction_type_e tr_type);
@@ -1631,11 +1599,9 @@ index bb4f67a..0007fa1 100644
/** @} */
/** @name Interrupt Handler Functions */
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
-index 274967b..ee920c4 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c
-@@ -276,7 +276,7 @@ void dump_frame_list(dwc_otg_hcd_t * hcd)
+@@ -276,7 +276,7 @@ void dump_frame_list(dwc_otg_hcd_t * hcd
static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
{
dwc_irqflags_t flags;
@@ -1644,7 +1610,7 @@ index 274967b..ee920c4 100644
dwc_hc_t *hc = qh->channel;
if (dwc_qh_is_non_per(qh)) {
-@@ -306,7 +306,6 @@ static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -306,7 +306,6 @@ static void release_channel_ddma(dwc_otg
dwc_memset(qh->desc_list, 0x00,
sizeof(dwc_otg_host_dma_desc_t) * max_desc_num(qh));
}
@@ -1652,11 +1618,9 @@ index 274967b..ee920c4 100644
}
/**
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
-index 4823167..fb57db0 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h
-@@ -113,6 +113,11 @@ extern void dwc_otg_hcd_remove(dwc_otg_hcd_t * hcd);
+@@ -113,6 +113,11 @@ extern void dwc_otg_hcd_remove(dwc_otg_h
*/
extern int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd);
@@ -1668,8 +1632,6 @@ index 4823167..fb57db0 100644
/**
* Returns private data set by
* dwc_otg_hcd_set_priv_data function.
-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 b41e164..64d33a5 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
@@ -34,6 +34,12 @@
@@ -2184,7 +2146,7 @@ index b41e164..64d33a5 100644
/* Don't print debug message in the interrupt handler on SOF */
#ifndef DEBUG_SOF
if (gintsts.d32 != DWC_SOF_INTR_MASK)
-@@ -88,10 +543,16 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -88,10 +543,16 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
"DWC OTG HCD Interrupt Detected gintsts&gintmsk=0x%08x core_if=%p\n",
gintsts.d32, core_if);
#endif
@@ -2203,7 +2165,7 @@ index b41e164..64d33a5 100644
if (gintsts.b.rxstsqlvl) {
retval |=
dwc_otg_hcd_handle_rx_status_q_level_intr
-@@ -106,7 +567,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -106,7 +567,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
/** @todo Implement i2cintr handler. */
}
if (gintsts.b.portintr) {
@@ -2214,7 +2176,7 @@ index b41e164..64d33a5 100644
}
if (gintsts.b.hcintr) {
retval |= dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd);
-@@ -138,11 +602,48 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -138,11 +602,48 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
#endif
}
@@ -2263,7 +2225,7 @@ index b41e164..64d33a5 100644
#warning Compiling code to track missed SOFs
#define FRAME_NUM_ARRAY_SIZE 1000
/**
-@@ -188,7 +689,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
+@@ -188,7 +689,8 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
dwc_list_link_t *qh_entry;
dwc_otg_qh_t *qh;
dwc_otg_transaction_type_e tr_type;
@@ -2273,7 +2235,7 @@ index b41e164..64d33a5 100644
hfnum.d32 =
DWC_READ_REG32(&hcd->core_if->host_if->host_global_regs->hfnum);
-@@ -212,17 +714,31 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_otg_hcd_t * hcd)
+@@ -212,17 +714,31 @@ int32_t dwc_otg_hcd_handle_sof_intr(dwc_
qh = DWC_LIST_ENTRY(qh_entry, dwc_otg_qh_t, qh_list_entry);
qh_entry = qh_entry->next;
if (dwc_frame_num_le(qh->sched_frame, hcd->frame_number)) {
@@ -2305,7 +2267,7 @@ index b41e164..64d33a5 100644
}
/* Clear interrupt */
-@@ -511,6 +1027,15 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -511,6 +1027,15 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o
haint.d32 = dwc_otg_read_host_all_channels_intr(dwc_otg_hcd->core_if);
@@ -2321,7 +2283,7 @@ index b41e164..64d33a5 100644
for (i = 0; i < dwc_otg_hcd->core_if->core_params->host_channels; i++) {
if (haint.b2.chint & (1 << i)) {
retval |= dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd, i);
-@@ -551,7 +1076,10 @@ static uint32_t get_actual_xfer_length(dwc_hc_t * hc,
+@@ -551,7 +1076,10 @@ static uint32_t get_actual_xfer_length(d
*short_read = (hctsiz.b.xfersize != 0);
}
} else if (hc->qh->do_split) {
@@ -2333,7 +2295,7 @@ index b41e164..64d33a5 100644
} else {
length = hc->xfer_len;
}
-@@ -595,7 +1123,6 @@ static int update_urb_state_xfer_comp(dwc_hc_t * hc,
+@@ -595,7 +1123,6 @@ static int update_urb_state_xfer_comp(dw
DWC_OTG_HC_XFER_COMPLETE,
&short_read);
@@ -2341,7 +2303,7 @@ index b41e164..64d33a5 100644
/* non DWORD-aligned buffer case handling. */
if (hc->align_buff && xfer_length && hc->ep_is_in) {
dwc_memcpy(urb->buf + urb->actual_length, hc->qh->dw_align_buf,
-@@ -797,11 +1324,24 @@ static void release_channel(dwc_otg_hcd_t * hcd,
+@@ -797,11 +1324,24 @@ static void release_channel(dwc_otg_hcd_
dwc_otg_transaction_type_e tr_type;
int free_qtd;
dwc_irqflags_t flags;
@@ -2401,7 +2363,7 @@ index b41e164..64d33a5 100644
}
/**
-@@ -1295,6 +1852,17 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd,
+@@ -1295,6 +1852,17 @@ static int32_t handle_hc_nak_intr(dwc_ot
"NAK Received--\n", hc->hc_num);
/*
@@ -2419,7 +2381,7 @@ index b41e164..64d33a5 100644
* Handle NAK for IN/OUT SSPLIT/CSPLIT transfers, bulk, control, and
* interrupt. Re-start the SSPLIT transfer.
*/
-@@ -1316,7 +1884,11 @@ static int32_t handle_hc_nak_intr(dwc_otg_hcd_t * hcd,
+@@ -1316,7 +1884,11 @@ static int32_t handle_hc_nak_intr(dwc_ot
* transfers in DMA mode for the sole purpose of
* resetting the error count after a transaction error
* occurs. The core will continue transferring data.
@@ -2431,7 +2393,7 @@ index b41e164..64d33a5 100644
qtd->error_count = 0;
goto handle_nak_done;
}
-@@ -1428,6 +2000,15 @@ static int32_t handle_hc_ack_intr(dwc_otg_hcd_t * hcd,
+@@ -1428,6 +2000,15 @@ static int32_t handle_hc_ack_intr(dwc_ot
halt_channel(hcd, hc, qtd, DWC_OTG_HC_XFER_ACK);
}
} else {
@@ -2447,7 +2409,7 @@ index b41e164..64d33a5 100644
qtd->error_count = 0;
if (hc->qh->ping_state) {
-@@ -1490,8 +2071,10 @@ static int32_t handle_hc_nyet_intr(dwc_otg_hcd_t * hcd,
+@@ -1490,8 +2071,10 @@ static int32_t handle_hc_nyet_intr(dwc_o
hc->ep_type == DWC_OTG_EP_TYPE_ISOC) {
int frnum = dwc_otg_hcd_get_frame_number(hcd);
@@ -2459,7 +2421,7 @@ index b41e164..64d33a5 100644
/*
* No longer in the same full speed frame.
* Treat this as a transaction error.
-@@ -1778,13 +2361,28 @@ static int32_t handle_hc_datatglerr_intr(dwc_otg_hcd_t * hcd,
+@@ -1778,13 +2361,28 @@ static int32_t handle_hc_datatglerr_intr
dwc_otg_qtd_t * qtd)
{
DWC_DEBUGPL(DBG_HCDI, "--Host Channel %d Interrupt: "
@@ -2493,7 +2455,7 @@ index b41e164..64d33a5 100644
}
disable_hc_int(hc_regs, datatglerr);
-@@ -1862,10 +2460,10 @@ static inline int halt_status_ok(dwc_otg_hcd_t * hcd,
+@@ -1862,10 +2460,10 @@ static inline int halt_status_ok(dwc_otg
static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
dwc_hc_t * hc,
dwc_otg_hc_regs_t * hc_regs,
@@ -2507,7 +2469,7 @@ index b41e164..64d33a5 100644
int out_nak_enh = 0;
/* For core with OUT NAK enhancement, the flow for high-
-@@ -1897,8 +2495,11 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
+@@ -1897,8 +2495,11 @@ static void handle_hc_chhltd_intr_dma(dw
}
/* Read the HCINTn register to determine the cause for the halt. */
@@ -2521,7 +2483,7 @@ index b41e164..64d33a5 100644
if (hcint.b.xfercomp) {
/** @todo This is here because of a possible hardware bug. Spec
-@@ -1937,6 +2538,8 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
+@@ -1937,6 +2538,8 @@ static void handle_hc_chhltd_intr_dma(dw
handle_hc_babble_intr(hcd, hc, hc_regs, qtd);
} else if (hcint.b.frmovrun) {
handle_hc_frmovrun_intr(hcd, hc, hc_regs, qtd);
@@ -2530,7 +2492,7 @@ index b41e164..64d33a5 100644
} else if (!out_nak_enh) {
if (hcint.b.nyet) {
/*
-@@ -1986,12 +2589,24 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
+@@ -1986,12 +2589,24 @@ static void handle_hc_chhltd_intr_dma(dw
DWC_READ_REG32(&hcd->
core_if->core_global_regs->
gintsts));
@@ -2555,7 +2517,7 @@ index b41e164..64d33a5 100644
}
}
-@@ -2009,13 +2624,15 @@ static void handle_hc_chhltd_intr_dma(dwc_otg_hcd_t * hcd,
+@@ -2009,13 +2624,15 @@ static void handle_hc_chhltd_intr_dma(dw
static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
dwc_hc_t * hc,
dwc_otg_hc_regs_t * hc_regs,
@@ -2573,7 +2535,7 @@ index b41e164..64d33a5 100644
} else {
#ifdef DEBUG
if (!halt_status_ok(hcd, hc, hc_regs, qtd)) {
-@@ -2032,7 +2649,7 @@ static int32_t handle_hc_chhltd_intr(dwc_otg_hcd_t * hcd,
+@@ -2032,7 +2649,7 @@ static int32_t handle_hc_chhltd_intr(dwc
int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
{
int retval = 0;
@@ -2582,7 +2544,7 @@ index b41e164..64d33a5 100644
hcintmsk_data_t hcintmsk;
dwc_hc_t *hc;
dwc_otg_hc_regs_t *hc_regs;
-@@ -2042,15 +2659,33 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
+@@ -2042,15 +2659,33 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
hc = dwc_otg_hcd->hc_ptr_array[num];
hc_regs = dwc_otg_hcd->core_if->host_if->hc_regs[num];
@@ -2616,7 +2578,7 @@ index b41e164..64d33a5 100644
if (!dwc_otg_hcd->core_if->dma_enable) {
if (hcint.b.chhltd && hcint.d32 != 0x2) {
hcint.b.chhltd = 0;
-@@ -2068,7 +2703,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
+@@ -2068,7 +2703,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
hcint.b.nyet = 0;
}
if (hcint.b.chhltd) {
@@ -2625,7 +2587,7 @@ index b41e164..64d33a5 100644
}
if (hcint.b.ahberr) {
retval |= handle_hc_ahberr_intr(dwc_otg_hcd, hc, hc_regs, qtd);
-@@ -2080,7 +2715,8 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
+@@ -2080,7 +2715,8 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
retval |= handle_hc_nak_intr(dwc_otg_hcd, hc, hc_regs, qtd);
}
if (hcint.b.ack) {
@@ -2635,14 +2597,12 @@ index b41e164..64d33a5 100644
}
if (hcint.b.nyet) {
retval |= handle_hc_nyet_intr(dwc_otg_hcd, hc, hc_regs, qtd);
-@@ -2102,5 +2738,4 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
+@@ -2102,5 +2738,4 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
return retval;
}
-
#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
-index e4787f5..ee8eec9 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
@@ -1,3 +1,4 @@
@@ -2676,7 +2636,7 @@ index e4787f5..ee8eec9 100644
/** @name Linux HC Driver API Functions */
/** @{ */
/* manage i/o requests, device state */
-@@ -259,13 +265,15 @@ static void free_bus_bandwidth(struct usb_hcd *hcd, uint32_t bw,
+@@ -259,13 +265,15 @@ static void free_bus_bandwidth(struct us
/**
* Sets the final status of an URB and returns it to the device driver. Any
@@ -2694,7 +2654,7 @@ index e4787f5..ee8eec9 100644
if (CHK_DEBUG_LEVEL(DBG_HCDV | DBG_HCD_URB)) {
DWC_PRINTF("%s: urb %p, device %d, ep %d %s, status=%d\n",
__func__, urb, usb_pipedevice(urb->pipe),
-@@ -279,7 +287,7 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
+@@ -279,7 +287,7 @@ static int _complete(dwc_otg_hcd_t * hcd
}
}
}
@@ -2703,7 +2663,7 @@ index e4787f5..ee8eec9 100644
urb->actual_length = dwc_otg_hcd_urb_get_actual_length(dwc_otg_urb);
/* Convert status value. */
switch (status) {
-@@ -301,6 +309,9 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
+@@ -301,6 +309,9 @@ static int _complete(dwc_otg_hcd_t * hcd
case -DWC_E_OVERFLOW:
status = -EOVERFLOW;
break;
@@ -2713,7 +2673,7 @@ index e4787f5..ee8eec9 100644
default:
if (status) {
DWC_PRINTF("Uknown urb status %d\n", status);
-@@ -342,18 +353,33 @@ static int _complete(dwc_otg_hcd_t * hcd, void *urb_handle,
+@@ -342,18 +353,33 @@ static int _complete(dwc_otg_hcd_t * hcd
}
DWC_FREE(dwc_otg_urb);
@@ -2754,7 +2714,7 @@ index e4787f5..ee8eec9 100644
return 0;
}
-@@ -366,6 +392,16 @@ static struct dwc_otg_hcd_function_ops hcd_fops = {
+@@ -366,6 +392,16 @@ static struct dwc_otg_hcd_function_ops h
.get_b_hnp_enable = _get_b_hnp_enable,
};
@@ -2831,7 +2791,7 @@ index e4787f5..ee8eec9 100644
/* Initialize the DWC OTG HCD. */
dwc_otg_hcd = dwc_otg_hcd_alloc_hcd();
if (!dwc_otg_hcd) {
-@@ -607,9 +682,7 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd,
+@@ -607,9 +682,7 @@ static int dwc_otg_urb_enqueue(struct us
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
struct usb_host_endpoint *ep = urb->ep;
#endif
@@ -2841,7 +2801,7 @@ index e4787f5..ee8eec9 100644
void **ref_ep_hcpriv = &ep->hcpriv;
dwc_otg_hcd_t *dwc_otg_hcd = hcd_to_dwc_otg_hcd(hcd);
dwc_otg_hcd_urb_t *dwc_otg_urb;
-@@ -661,9 +734,8 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd,
+@@ -661,9 +734,8 @@ static int dwc_otg_urb_enqueue(struct us
if(dwc_otg_urb == NULL)
return -ENOMEM;
@@ -2853,7 +2813,7 @@ index e4787f5..ee8eec9 100644
dwc_otg_hcd_urb_set_pipeinfo(dwc_otg_urb, usb_pipedevice(urb->pipe),
usb_pipeendpoint(urb->pipe), ep_type,
-@@ -703,37 +775,42 @@ static int dwc_otg_urb_enqueue(struct usb_hcd *hcd,
+@@ -703,37 +775,42 @@ static int dwc_otg_urb_enqueue(struct us
iso_frame_desc[i].length);
}
@@ -2897,13 +2857,14 @@ index e4787f5..ee8eec9 100644
- DWC_SPINLOCK_IRQSAVE(dwc_otg_hcd->lock, &irqflags);
- usb_hcd_unlink_urb_from_ep(hcd, urb);
- DWC_SPINUNLOCK_IRQRESTORE(dwc_otg_hcd->lock, irqflags);
-+ usb_hcd_unlink_urb_from_ep(hcd, urb);
- #endif
+-#endif
- if (retval == -DWC_E_NO_DEVICE) {
- retval = -ENODEV;
- }
- }
- }
++ usb_hcd_unlink_urb_from_ep(hcd, urb);
++#endif
+ DWC_FREE(dwc_otg_urb);
+ urb->hcpriv = NULL;
+ if (retval == -DWC_E_NO_DEVICE)
@@ -2921,7 +2882,7 @@ index e4787f5..ee8eec9 100644
return retval;
}
-@@ -777,6 +854,8 @@ static int dwc_otg_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
+@@ -777,6 +854,8 @@ static int dwc_otg_urb_dequeue(struct us
usb_hcd_unlink_urb_from_ep(hcd, urb);
#endif
DWC_SPINUNLOCK_IRQRESTORE(dwc_otg_hcd->lock, flags);
@@ -2930,8 +2891,6 @@ index e4787f5..ee8eec9 100644
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
usb_hcd_giveback_urb(hcd, urb);
#else
-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 0a1cbb7..5c22b6c 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
@@ -41,6 +41,7 @@
@@ -2942,7 +2901,7 @@ index 0a1cbb7..5c22b6c 100644
extern bool microframe_schedule;
-@@ -182,6 +183,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, dwc_otg_hcd_urb_t * urb)
+@@ -182,6 +183,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_ot
if (microframe_schedule)
qh->speed = dev_speed;
@@ -2950,7 +2909,7 @@ index 0a1cbb7..5c22b6c 100644
if (((dev_speed == USB_SPEED_LOW) ||
(dev_speed == USB_SPEED_FULL)) &&
-@@ -191,6 +193,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh, dwc_otg_hcd_urb_t * urb)
+@@ -191,6 +193,7 @@ void qh_init(dwc_otg_hcd_t * hcd, dwc_ot
dwc_otg_hcd_get_ep_num(&urb->pipe_info), hub_addr,
hub_port);
qh->do_split = 1;
@@ -2958,7 +2917,7 @@ index 0a1cbb7..5c22b6c 100644
}
if (qh->ep_type == UE_INTERRUPT || qh->ep_type == UE_ISOCHRONOUS) {
-@@ -573,6 +576,9 @@ static int check_max_xfer_size(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -573,6 +576,9 @@ static int check_max_xfer_size(dwc_otg_h
return status;
}
@@ -2968,7 +2927,7 @@ index 0a1cbb7..5c22b6c 100644
/**
* Schedules an interrupt or isochronous transfer in the periodic schedule.
*
-@@ -631,8 +637,13 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -631,8 +637,13 @@ static int schedule_periodic(dwc_otg_hcd
DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry);
}
else {
@@ -2984,7 +2943,7 @@ index 0a1cbb7..5c22b6c 100644
}
if (!microframe_schedule) {
-@@ -646,6 +657,7 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -646,6 +657,7 @@ static int schedule_periodic(dwc_otg_hcd
return status;
}
@@ -2992,7 +2951,7 @@ index 0a1cbb7..5c22b6c 100644
/**
* This function adds a QH to either the non periodic or periodic schedule if
* it is not already in the schedule. If the QH is already in the schedule, no
-@@ -668,6 +680,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -668,6 +680,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h
/* Always start in the inactive schedule. */
DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive,
&qh->qh_list_entry);
@@ -3000,7 +2959,7 @@ index 0a1cbb7..5c22b6c 100644
} else {
status = schedule_periodic(hcd, qh);
if ( !hcd->periodic_qh_count ) {
-@@ -727,6 +740,9 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -727,6 +740,9 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t
hcd->non_periodic_qh_ptr->next;
}
DWC_LIST_REMOVE_INIT(&qh->qh_list_entry);
@@ -3010,7 +2969,7 @@ index 0a1cbb7..5c22b6c 100644
} else {
deschedule_periodic(hcd, qh);
hcd->periodic_qh_count--;
-@@ -755,6 +771,24 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
+@@ -755,6 +771,24 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
int sched_next_periodic_split)
{
if (dwc_qh_is_non_per(qh)) {
@@ -3035,7 +2994,7 @@ index 0a1cbb7..5c22b6c 100644
dwc_otg_hcd_qh_remove(hcd, qh);
if (!DWC_CIRCLEQ_EMPTY(&qh->qtd_list)) {
/* Add back to inactive non-periodic schedule. */
-@@ -768,6 +802,7 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
+@@ -768,6 +802,7 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
if (sched_next_periodic_split) {
qh->sched_frame = frame_number;
@@ -3043,7 +3002,7 @@ index 0a1cbb7..5c22b6c 100644
if (dwc_frame_num_le(frame_number,
dwc_frame_num_inc
(qh->start_split_frame,
-@@ -816,6 +851,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
+@@ -816,6 +851,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready,
&qh->qh_list_entry);
} else {
@@ -3055,7 +3014,7 @@ index 0a1cbb7..5c22b6c 100644
DWC_LIST_MOVE_HEAD
(&hcd->periodic_sched_inactive,
&qh->qh_list_entry);
-@@ -880,6 +920,7 @@ void dwc_otg_hcd_qtd_init(dwc_otg_qtd_t * qtd, dwc_otg_hcd_urb_t * urb)
+@@ -880,6 +920,7 @@ void dwc_otg_hcd_qtd_init(dwc_otg_qtd_t
* QH to place the QTD into. If it does not find a QH, then it will create a
* new QH. If the QH to which the QTD is added is not currently scheduled, it
* is placed into the proper schedule based on its EP type.
@@ -3063,7 +3022,7 @@ index 0a1cbb7..5c22b6c 100644
*
* @param[in] qtd The QTD to add
* @param[in] hcd The DWC HCD structure
-@@ -892,8 +933,6 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd,
+@@ -892,8 +933,6 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t *
dwc_otg_hcd_t * hcd, dwc_otg_qh_t ** qh, int atomic_alloc)
{
int retval = 0;
@@ -3072,7 +3031,7 @@ index 0a1cbb7..5c22b6c 100644
dwc_otg_hcd_urb_t *urb = qtd->urb;
/*
-@@ -903,18 +942,16 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd,
+@@ -903,18 +942,16 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t *
if (*qh == NULL) {
*qh = dwc_otg_hcd_qh_create(hcd, urb, atomic_alloc);
if (*qh == NULL) {
@@ -3093,9 +3052,6 @@ index 0a1cbb7..5c22b6c 100644
done:
return retval;
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
-new file mode 100755
-index 0000000..50b94a8
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.c
@@ -0,0 +1,113 @@
@@ -3212,9 +3168,6 @@ index 0000000..50b94a8
+
+ 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
-new file mode 100755
-index 0000000..ca17379
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_mphi_fix.h
@@ -0,0 +1,48 @@
@@ -3266,8 +3219,6 @@ index 0000000..ca17379
+extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable;
+
+#endif
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
-index e46d9bb..6b2c7d0 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
+++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h
@@ -97,6 +97,9 @@ typedef struct os_dependent {
@@ -3280,8 +3231,6 @@ index e46d9bb..6b2c7d0 100644
#ifdef LM_INTERFACE
struct lm_device *lmdev;
#elif defined(PCI_INTERFACE)
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
-index 1b1f83c..c8590b5 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c
@@ -4276,7 +4276,7 @@ do { \
@@ -3293,6 +3242,3 @@ index 1b1f83c..c8590b5 100644
out_desc_addr->status.d32;
if (status.b.sr) {
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0026-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch b/target/linux/brcm2708/patches-3.18/0026-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch
index 5ab7e485ab..1a57f46dc8 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0026-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch
+++ b/target/linux/brcm2708/patches-3.18/0026-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.h
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index dc59a6b..a740344 100644
--- a/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,
.flags = IORESOURCE_IRQ,
},
@@ -165,11 +163,9 @@ index dc59a6b..a740344 100644
bcm_register_device(&bcm2708_usb_device);
bcm_register_device(&bcm2708_uart1_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
+++ 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_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
@@ -179,8 +175,6 @@ index a56f193..e7bdd12 100644
ifneq ($(CFI),)
dwc_otg-objs += dwc_otg_cfi.o
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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
@@ -45,7 +45,6 @@
@@ -191,7 +185,7 @@ index 2f8b3bd..065807f 100644
#ifdef DEBUG
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.
*/
@@ -200,7 +194,7 @@ index 2f8b3bd..065807f 100644
{
gahbcfg_data_t gahbcfg = {.d32 = 0 };
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);
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);
-@@ -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);
}
#endif
@@ -244,7 +238,7 @@ index 2f8b3bd..065807f 100644
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;
gintsts_data_t gintsts;
@@ -253,7 +247,7 @@ index 2f8b3bd..065807f 100644
gpwrdn_data_t gpwrdn = {.d32 = 0 };
dwc_otg_device_t *otg_dev = dev;
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) {
@@ -265,7 +259,7 @@ index 2f8b3bd..065807f 100644
if (gintsts.b.modemismatch) {
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;
DWC_WRITE_REG32(&core_if->core_global_regs->gintsts,gintsts.d32);
retval |= 1;
@@ -285,15 +279,13 @@ index 2f8b3bd..065807f 100644
} else {
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)
DWC_SPINUNLOCK(core_if->lock);
-
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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c
@@ -56,6 +56,7 @@
@@ -312,7 +304,7 @@ index f06c3d22..dc7cd32 100644
extern int pcd_init(
#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,
};
@@ -361,7 +353,7 @@ index f06c3d22..dc7cd32 100644
#endif
DWC_DEBUGPL(DBG_CIL, "registering (common) handler for irq%d\n",
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;
struct device_driver *drv;
@@ -374,7 +366,7 @@ index f06c3d22..dc7cd32 100644
}
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);
return retval;
}
@@ -387,7 +379,7 @@ index f06c3d22..dc7cd32 100644
error = driver_create_file(drv, &driver_attr_version);
#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_PARM_DESC(microframe_schedule, "Enable the microframe scheduler");
@@ -413,9 +405,6 @@ index f06c3d22..dc7cd32 100644
/** @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..1be6e71
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
@@ -0,0 +1,1290 @@
@@ -1709,9 +1698,6 @@ index 0000000..1be6e71
+ state->fiq_done++;
+ 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..5c7707f
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
@@ -0,0 +1,353 @@
@@ -2068,9 +2054,6 @@ index 0000000..5c7707f
+extern void dwc_otg_fiq_nop(struct fiq_state *state);
+
+#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..ffa8d21
--- /dev/null
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S
@@ -0,0 +1,80 @@
@@ -2154,8 +2137,6 @@ index 0000000..ffa8d21
+ subs pc, lr, #4;
+_dwc_otg_fiq_stub_end:
+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 986d361..130096b 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
@@ -45,9 +45,10 @@
@@ -2171,7 +2152,7 @@ index 986d361..130096b 100644
//#define 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;
#endif /* DEBUG_HOST_CHANNELS */
@@ -2184,7 +2165,7 @@ index 986d361..130096b 100644
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 = 0;
@@ -2193,7 +2174,7 @@ index 986d361..130096b 100644
local_fiq_disable();
/*
* 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;
}
}
@@ -2216,7 +2197,7 @@ index 986d361..130096b 100644
local_fiq_enable();
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
intr_mask.d32 = DWC_READ_REG32(&hcd->core_if->core_global_regs->gintmsk);
@@ -2225,7 +2206,7 @@ index 986d361..130096b 100644
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 */
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) {
/* The QTD is in process (it has been assigned to a channel). */
if (hcd->flags.b.port_connect_status) {
@@ -2233,7 +2214,7 @@ index 986d361..130096b 100644
/*
* If still connected (i.e. in host mode), halt the
* 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
* device mode.
*/
@@ -2254,7 +2235,7 @@ index 986d361..130096b 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);
@@ -2297,7 +2278,7 @@ index 986d361..130096b 100644
/**
* Frees secondary storage associated with the dwc_otg_hcd structure contained
* 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_TASK_FREE(dwc_otg_hcd->reset_tasklet);
DWC_TASK_FREE(dwc_otg_hcd->completion_tasklet);
@@ -2305,7 +2286,7 @@ index 986d361..130096b 100644
#ifdef DWC_DEV_SRPCAP
if (dwc_otg_hcd->core_if->power_down == 2 &&
-@@ -984,6 +1009,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
+@@ -984,6 +1009,59 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
channel);
}
@@ -2365,7 +2346,7 @@ index 986d361..130096b 100644
/* Initialize the Connection timeout timer. */
hcd->conn_timer = DWC_TIMER_ALLOC("Connection timer",
dwc_otg_hcd_connect_timeout, 0);
-@@ -1181,7 +1259,8 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1181,7 +1259,8 @@ static void assign_and_init_hc(dwc_otg_h
hc->do_split = 1;
hc->xact_pos = qtd->isoc_split_pos;
/* We don't need to do complete splits anymore */
@@ -2375,7 +2356,7 @@ index 986d361..130096b 100644
hc->complete_split = qtd->complete_split = 0;
else
hc->complete_split = qtd->complete_split;
-@@ -1332,62 +1411,487 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1332,62 +1411,487 @@ static void assign_and_init_hc(dwc_otg_h
hc->qh = qh;
}
@@ -2468,7 +2449,8 @@ index 986d361..130096b 100644
+ dwc_hc_t *hc = qh->channel;
+ struct fiq_dma_blob *blob;
+ struct dwc_otg_hcd_iso_packet_desc *frame_desc;
-+
+
+- hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
+ for (i = 0; i < 6; i++) {
+ st->dma_info.slot_len[i] = 255;
+ }
@@ -2494,24 +2476,23 @@ index 986d361..130096b 100644
+ } else {
+ 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))
- {
- 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++;
-+ /* 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)
- {
- printk_once(KERN_ERR "Error: Having to skip port allocation");
- local_fiq_disable();
- BUG();
++ /* Virtual address for bounce buffers */
++ blob = hcd->fiq_dmab;
++
+ ptr = qtd->urb->buf + frame_desc->offset;
+ if (frame_length == 0) {
+ /*
@@ -2706,7 +2687,8 @@ index 986d361..130096b 100644
+ if (st->fsm != FIQ_PASSTHROUGH)
+ return 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.b.mps = hc->max_packet;
+ st->hcchar_copy.b.epdir = hc->ep_is_in;
@@ -2725,7 +2707,12 @@ index 986d361..130096b 100644
+ }
+ st->hcchar_copy.b.lspddev = (hc->speed == DWC_OTG_EP_SPEED_LOW) ? 1 : 0;
+ /* 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;
+ if(qh->do_split) {
+ hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
@@ -2747,17 +2734,11 @@ index 986d361..130096b 100644
+ st->hub_addr = hub_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.b.dopng = 0;
+ 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)) {
+ hc->xfer_len = hc->max_packet;
+ } else if (!hc->ep_is_in && (hc->xfer_len > 188)) {
@@ -2902,7 +2883,7 @@ index 986d361..130096b 100644
}
-@@ -1404,16 +1908,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1404,16 +1908,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
{
dwc_list_link_t *qh_ptr;
dwc_otg_qh_t *qh;
@@ -2919,7 +2900,7 @@ index 986d361..130096b 100644
#ifdef DEBUG_HOST_CHANNELS
last_sel_trans_num_per_scheduled = 0;
last_sel_trans_num_nonper_scheduled = 0;
-@@ -1428,26 +1927,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1428,26 +1927,11 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
@@ -2946,7 +2927,7 @@ index 986d361..130096b 100644
break;
}
hcd->available_host_channels--;
-@@ -1483,27 +1967,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1483,27 +1967,24 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
!DWC_CIRCLEQ_EMPTY(&hcd->free_hc_list)) {
qh = DWC_LIST_ENTRY(qh_ptr, dwc_otg_qh_t, qh_list_entry);
@@ -2987,7 +2968,7 @@ index 986d361..130096b 100644
}
}
-@@ -1532,12 +2013,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_select_transactions(dwc_otg_hcd_t * hcd)
+@@ -1532,12 +2013,31 @@ dwc_otg_transaction_type_e dwc_otg_hcd_s
&qh->qh_list_entry);
DWC_SPINUNLOCK_IRQRESTORE(channel_lock, flags);
@@ -3021,7 +3002,7 @@ index 986d361..130096b 100644
if(!DWC_LIST_EMPTY(&hcd->periodic_sched_assigned))
ret_val |= DWC_OTG_TRANSACTION_PERIODIC;
-@@ -1582,6 +2082,12 @@ static int queue_transaction(dwc_otg_hcd_t * hcd,
+@@ -1582,6 +2082,12 @@ static int queue_transaction(dwc_otg_hcd
hc->qh->ping_state = 0;
}
} else if (!hc->xfer_started) {
@@ -3034,7 +3015,7 @@ index 986d361..130096b 100644
dwc_otg_hc_start_transfer(hcd->core_if, hc);
hc->qh->ping_state = 0;
}
-@@ -1634,7 +2140,7 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1634,7 +2140,7 @@ static void process_periodic_channels(dw
hptxsts_data_t tx_status;
dwc_list_link_t *qh_ptr;
dwc_otg_qh_t *qh;
@@ -3043,7 +3024,7 @@ index 986d361..130096b 100644
int no_queue_space = 0;
int no_fifo_space = 0;
-@@ -1663,27 +2169,34 @@ static void process_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1663,27 +2169,34 @@ static void process_periodic_channels(dw
// 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
@@ -3094,7 +3075,7 @@ index 986d361..130096b 100644
}
/*
-@@ -1800,25 +2313,19 @@ static void process_non_periodic_channels(dwc_otg_hcd_t * hcd)
+@@ -1800,25 +2313,19 @@ static void process_non_periodic_channel
qh = DWC_LIST_ENTRY(hcd->non_periodic_qh_ptr, dwc_otg_qh_t,
qh_list_entry);
@@ -3105,16 +3086,16 @@ index 986d361..130096b 100644
- g_next_sched_frame = dwc_otg_hcd_get_frame_number(hcd) | 7;
- break;
- }
--
-- status =
-- queue_transaction(hcd, qh->channel,
-- tx_status.b.nptxfspcavail);
+ if(fiq_fsm_enable && fiq_fsm_transaction_suitable(qh)) {
+ fiq_fsm_queue_split_transaction(hcd, qh);
+ } else {
+ status = queue_transaction(hcd, qh->channel,
+ tx_status.b.nptxfspcavail);
+- status =
+- queue_transaction(hcd, qh->channel,
+- tx_status.b.nptxfspcavail);
+-
- if (status > 0) {
- more_to_do = 1;
- } else if (status < 0) {
@@ -3131,8 +3112,6 @@ index 986d361..130096b 100644
/* Advance to next QH, skipping start-of-list entry. */
hcd->non_periodic_qh_ptr = hcd->non_periodic_qh_ptr->next;
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..43dbed9 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
@@ -40,6 +40,8 @@
@@ -3157,7 +3136,7 @@ index 0007fa1..43dbed9 100644
#ifdef DEBUG
uint32_t frrem_samples;
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);
void dwc_otg_hcd_release_port(dwc_otg_hcd_t * dwc_otg_hcd, dwc_otg_qh_t *qh);
@@ -3167,8 +3146,6 @@ index 0007fa1..43dbed9 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..4195ff2 100644
--- a/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 @@
@@ -3213,7 +3190,7 @@ index 64d33a5..4195ff2 100644
#ifdef FIQ_DEBUG
char buffer[1000*16];
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;
char text[17];
hfnum_data_t hfnum = { .d32 = FIQ_READ(dwc_regs_base + 0x408) };
@@ -3227,7 +3204,7 @@ index 64d33a5..4195ff2 100644
snprintf(text, 9, "%4d%d:%d ", hfnum.b.frnum/8, hfnum.b.frnum%8, 8 - hfnum.b.frrem/937);
va_start(args, fmt);
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);
wptr = (wptr + 16) % sizeof(buffer);
@@ -3640,7 +3617,7 @@ index 64d33a5..4195ff2 100644
#ifdef DEBUG
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);
/* Check if HOST Mode */
if (dwc_otg_is_host_mode(core_if)) {
@@ -3676,7 +3653,7 @@ index 64d33a5..4195ff2 100644
#ifdef DEBUG
// 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);
#endif
hfnum.d32 = DWC_READ_REG32(&dwc_otg_hcd->core_if->host_if->host_global_regs->hfnum);
@@ -3690,7 +3667,7 @@ index 64d33a5..4195ff2 100644
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:
@@ -3715,12 +3692,17 @@ index 64d33a5..4195ff2 100644
- mphi_int_count = 0;
- }
- 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;
+ if(fiq_fsm_enable)
+ haintmsk_new.d32 = *(volatile uint32_t *)&dwc_otg_hcd->fiq_state->haintmsk_saved.d32;
+ else
+ haintmsk_new.d32 = 0x0000FFFF;
-+
+
+ /* The FIQ could have sneaked another interrupt in. If so, don't clear MPHI */
+ if ((gintmsk_new.d32 == ~0) && (haintmsk_new.d32 == 0x0000FFFF)) {
+ DWC_WRITE_REG32(dwc_otg_hcd->fiq_state->mphi_regs.intstat, (1<<16));
@@ -3733,12 +3715,7 @@ index 64d33a5..4195ff2 100644
+ dwc_otg_hcd->fiq_state->mphi_int_count = 0;
+ }
+ 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);
+ /* Re-enable interrupts that the FIQ masked (first time round) */
+ FIQ_WRITE(dwc_otg_hcd->fiq_state->dwc_regs_base + GINTMSK, gintmsk.d32);
@@ -3759,7 +3736,7 @@ index 64d33a5..4195ff2 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)
{
hfnum_data_t hfnum;
@@ -3767,7 +3744,7 @@ index 64d33a5..4195ff2 100644
dwc_list_link_t *qh_entry;
dwc_otg_qh_t *qh;
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_
}
}
}
@@ -3778,7 +3755,7 @@ index 64d33a5..4195ff2 100644
tr_type = dwc_otg_hcd_select_transactions(hcd);
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;
}
@@ -3794,7 +3771,7 @@ index 64d33a5..4195ff2 100644
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 retval = 0;
@@ -3821,7 +3798,7 @@ index 64d33a5..4195ff2 100644
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);
}
} else if (hc->qh->do_split) {
@@ -3832,7 +3809,7 @@ index 64d33a5..4195ff2 100644
length = qtd->ssplit_out_xfer_count;
} else {
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;
dwc_irqflags_t flags;
dwc_spinlock_t *channel_lock = hcd->channel_lock;
@@ -3893,7 +3870,7 @@ index 64d33a5..4195ff2 100644
/* Try to queue more transfers now that there's a free channel. */
tr_type = dwc_otg_hcd_select_transactions(hcd);
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)) {
case UE_BULK:
case UE_CONTROL:
@@ -3902,7 +3879,7 @@ index 64d33a5..4195ff2 100644
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
if (dwc_full_frame_num(frnum) !=
dwc_full_frame_num(hc->qh->sched_frame) ||
@@ -3911,7 +3888,7 @@ index 64d33a5..4195ff2 100644
/*
* No longer in the same full speed frame.
* 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,
dwc_hc_t * hc,
dwc_otg_hc_regs_t * hc_regs,
@@ -3927,7 +3904,7 @@ index 64d33a5..4195ff2 100644
/* For core with OUT NAK enhancement, the flow for high-
* 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. */
@@ -3942,7 +3919,7 @@ index 64d33a5..4195ff2 100644
if (hcint.b.xfercomp) {
/** @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,
dwc_hc_t * hc,
dwc_otg_hc_regs_t * hc_regs,
@@ -3960,7 +3937,7 @@ index 64d33a5..4195ff2 100644
} else {
#ifdef DEBUG
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;
}
@@ -4334,7 +4311,7 @@ index 64d33a5..4195ff2 100644
hcintmsk_data_t hcintmsk;
dwc_hc_t *hc;
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);
@@ -4382,7 +4359,7 @@ index 64d33a5..4195ff2 100644
if (!dwc_otg_hcd->core_if->dma_enable) {
if (hcint.b.chhltd && hcint.d32 != 0x2) {
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;
}
if (hcint.b.chhltd) {
@@ -4391,8 +4368,6 @@ index 64d33a5..4195ff2 100644
}
if (hcint.b.ahberr) {
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..98e1dc5 100644
--- a/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 @@
@@ -4422,7 +4397,7 @@ index ee8eec9..98e1dc5 100644
/** @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);
}
}
@@ -4430,7 +4405,7 @@ index ee8eec9..98e1dc5 100644
DWC_FREE(dwc_otg_urb);
if (!new_entry) {
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 = {
.name = "usb_fiq",
};
@@ -4582,8 +4557,6 @@ index ee8eec9..98e1dc5 100644
}
#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 5c22b6c..17d3030 100644
--- a/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 @@
@@ -4594,7 +4567,7 @@ index 5c22b6c..17d3030 100644
extern bool microframe_schedule;
-@@ -577,7 +576,6 @@ static int check_max_xfer_size(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -577,7 +576,6 @@ static int check_max_xfer_size(dwc_otg_h
}
@@ -4602,7 +4575,7 @@ index 5c22b6c..17d3030 100644
/**
* Schedules an interrupt or isochronous transfer in the periodic schedule.
-@@ -637,9 +635,9 @@ static int schedule_periodic(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -637,9 +635,9 @@ static int schedule_periodic(dwc_otg_hcd
DWC_LIST_INSERT_TAIL(&hcd->periodic_sched_ready, &qh->qh_list_entry);
}
else {
@@ -4614,7 +4587,7 @@ index 5c22b6c..17d3030 100644
}
/* Always start in the inactive schedule. */
-@@ -680,7 +678,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -680,7 +678,7 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h
/* Always start in the inactive schedule. */
DWC_LIST_INSERT_TAIL(&hcd->non_periodic_sched_inactive,
&qh->qh_list_entry);
@@ -4623,7 +4596,7 @@ index 5c22b6c..17d3030 100644
} else {
status = schedule_periodic(hcd, qh);
if ( !hcd->periodic_qh_count ) {
-@@ -740,13 +738,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -740,13 +738,12 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t
hcd->non_periodic_qh_ptr->next;
}
DWC_LIST_REMOVE_INIT(&qh->qh_list_entry);
@@ -4640,7 +4613,7 @@ index 5c22b6c..17d3030 100644
intr_mask.b.sofintr = 1;
DWC_MODIFY_REG32(&hcd->core_if->core_global_regs->gintmsk,
intr_mask.d32, 0);
-@@ -771,28 +768,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
+@@ -771,28 +768,11 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
int sched_next_periodic_split)
{
if (dwc_qh_is_non_per(qh)) {
@@ -4670,7 +4643,7 @@ index 5c22b6c..17d3030 100644
}
} else {
uint16_t frame_number = dwc_otg_hcd_get_frame_number(hcd);
-@@ -851,9 +831,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh,
+@@ -851,9 +831,9 @@ void dwc_otg_hcd_qh_deactivate(dwc_otg_h
DWC_LIST_MOVE_HEAD(&hcd->periodic_sched_ready,
&qh->qh_list_entry);
} else {
@@ -4682,7 +4655,7 @@ index 5c22b6c..17d3030 100644
}
DWC_LIST_MOVE_HEAD
-@@ -944,6 +924,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t * qtd,
+@@ -944,6 +924,9 @@ int dwc_otg_hcd_qtd_add(dwc_otg_qtd_t *
if (*qh == NULL) {
retval = -DWC_E_NO_MEMORY;
goto done;
@@ -4692,9 +4665,6 @@ index 5c22b6c..17d3030 100644
}
}
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
+++ /dev/null
@@ -1,113 +0,0 @@
@@ -4811,9 +4781,6 @@ index 50b94a8..0000000
-
- 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
+++ /dev/null
@@ -1,48 +0,0 @@
@@ -4865,8 +4832,6 @@ index ca17379..0000000
-extern bool fiq_fix_enable, nak_holdoff_enable, fiq_split_enable;
-
-#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
+++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c
@@ -59,6 +59,8 @@
@@ -4895,6 +4860,3 @@ index 5d310df..4b32941 100644
free_wrapper(gadget_wrapper);
return -EBUSY;
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch b/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
index bfbf8043f9..8e8071db42 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
+++ b/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
@@ -46,9 +46,6 @@ Signed-off-by: Luke Diamand <luked@broadcom.com>
create mode 100644 drivers/media/platform/bcm2835/mmal-vchiq.c
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
+++ b/Documentation/video4linux/bcm2835-v4l2.txt
@@ -0,0 +1,60 @@
@@ -112,8 +109,6 @@ index 0000000..c585a8f
+List of available formats:
+
+$ v4l2-ctl --list-formats
-diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
-index 3aac88f..9bc18aa 100644
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
@@ -126,6 +126,7 @@ config VIDEO_S3C_CAMIF
@@ -124,20 +119,15 @@ index 3aac88f..9bc18aa 100644
endif # V4L_PLATFORM_DRIVERS
-diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
-index 579046b..9c9cb34 100644
--- a/drivers/media/platform/Makefile
+++ b/drivers/media/platform/Makefile
-@@ -49,4 +49,6 @@ obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1/
+@@ -49,4 +49,6 @@ obj-$(CONFIG_VIDEO_RENESAS_VSP1) += vsp1
obj-y += omap/
+obj-$(CONFIG_VIDEO_BCM2835) += bcm2835/
+
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
+++ b/drivers/media/platform/bcm2835/Kconfig
@@ -0,0 +1,25 @@
@@ -166,9 +156,6 @@ index 0000000..a8fd172
+
+
+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
+++ b/drivers/media/platform/bcm2835/Makefile
@@ -0,0 +1,5 @@
@@ -177,9 +164,6 @@ index 0000000..f17c79c
+obj-$(CONFIG_VIDEO_BCM2835_MMAL) += bcm2835-v4l2.o
+
+ccflags-$(CONFIG_VIDEO_BCM2835) += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000
-diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
-new file mode 100644
-index 0000000..1c9d9d5
--- /dev/null
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
@@ -0,0 +1,1476 @@
@@ -1659,9 +1643,6 @@ index 0000000..1c9d9d5
+
+module_init(bm2835_mmal_init);
+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
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
@@ -0,0 +1,113 @@
@@ -1778,9 +1759,6 @@ index 0000000..883eab7
+ (pix_fmt)->pixelformat, (pix_fmt)->bytesperline, \
+ (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
+++ b/drivers/media/platform/bcm2835/controls.c
@@ -0,0 +1,725 @@
@@ -2509,9 +2487,6 @@ index 0000000..d1408e5
+
+ 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..84abbb3
--- /dev/null
+++ b/drivers/media/platform/bcm2835/mmal-common.h
@@ -0,0 +1,51 @@
@@ -2566,9 +2541,6 @@ index 0000000..84abbb3
+ u32 u;
+ 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
+++ b/drivers/media/platform/bcm2835/mmal-encodings.h
@@ -0,0 +1,93 @@
@@ -2665,9 +2637,6 @@ index 0000000..856e80e
+#define MMAL_ENCODING_VARIANT_H264_AVC1 MMAL_FOURCC('A', 'V', 'C', '1')
+/** Implicitly delineated NAL units without emulation prevention */
+#define MMAL_ENCODING_VARIANT_H264_RAW MMAL_FOURCC('R', 'A', 'W', ' ')
-diff --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
+++ b/drivers/media/platform/bcm2835/mmal-msg-common.h
@@ -0,0 +1,50 @@
@@ -2721,9 +2690,6 @@ index 0000000..66e8a6e
+};
+
+#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
+++ b/drivers/media/platform/bcm2835/mmal-msg-format.h
@@ -0,0 +1,81 @@
@@ -2808,9 +2774,6 @@ index 0000000..123d86e
+};
+
+#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
+++ b/drivers/media/platform/bcm2835/mmal-msg-port.h
@@ -0,0 +1,107 @@
@@ -2921,9 +2884,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
+++ b/drivers/media/platform/bcm2835/mmal-msg.h
@@ -0,0 +1,404 @@
@@ -3331,9 +3291,6 @@ index 0000000..67b1076
+ u8 payload[MMAL_MSG_MAX_PAYLOAD];
+ } 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
+++ b/drivers/media/platform/bcm2835/mmal-parameters.h
@@ -0,0 +1,539 @@
@@ -3876,9 +3833,6 @@ index 0000000..c611b58
+ u32 num_effect_params;
+ 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
+++ b/drivers/media/platform/bcm2835/mmal-vchiq.c
@@ -0,0 +1,1916 @@
@@ -5798,9 +5752,6 @@ index 0000000..a06fb44
+ kfree(instance);
+ 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
+++ b/drivers/media/platform/bcm2835/mmal-vchiq.h
@@ -0,0 +1,178 @@
@@ -5982,6 +5933,3 @@ index 0000000..9d1d11e
+ struct mmal_buffer *buf);
+
+#endif /* MMAL_VCHIQ_H */
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch b/target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch
index bd554a9f96..a8fa989c38 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch
+++ b/target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch
@@ -232,8 +232,6 @@ bcm2835-camera: stop_streaming now has a void return
drivers/media/platform/bcm2835/mmal-vchiq.c | 4 +-
8 files changed, 1300 insertions(+), 187 deletions(-)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 897616c..3f99687 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -708,6 +708,9 @@ CONFIG_DVB_AS102=m
@@ -246,8 +244,6 @@ index 897616c..3f99687 100644
CONFIG_RADIO_SI470X=y
CONFIG_USB_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 1c9d9d5..e5a0010 100644
--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
@@ -36,7 +36,8 @@
@@ -415,7 +411,7 @@ index 1c9d9d5..e5a0010 100644
};
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 {
if (dev->capture.frame_count) {
@@ -425,7 +421,7 @@ index 1c9d9d5..e5a0010 100644
s64 runtime_us = pts -
dev->capture.vc_start_timestamp;
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;
}
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
@@ -434,7 +430,7 @@ index 1c9d9d5..e5a0010 100644
"with offset %llu to %d.%06d\n",
(int)dev->capture.kernel_start_ts.
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);
if (ret) {
v4l2_err(&dev->v4l2_dev,
@@ -451,7 +447,7 @@ index 1c9d9d5..e5a0010 100644
return -1;
}
-@@ -439,7 +555,7 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
+@@ -439,7 +555,7 @@ static int start_streaming(struct vb2_qu
}
/* abort streaming and wait for last buffer */
@@ -460,7 +456,7 @@ index 1c9d9d5..e5a0010 100644
{
int ret;
struct bm2835_mmal_dev *dev = vb2_get_drv_priv(vq);
-@@ -451,8 +567,11 @@ static int stop_streaming(struct vb2_queue *vq)
+@@ -451,8 +567,11 @@ static int stop_streaming(struct vb2_que
dev->capture.frame_count = 0;
/* ensure a format has actually been set */
@@ -474,7 +470,7 @@ index 1c9d9d5..e5a0010 100644
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, "stopping capturing\n");
-@@ -483,12 +602,8 @@ static int stop_streaming(struct vb2_queue *vq)
+@@ -483,12 +602,8 @@ static int stop_streaming(struct vb2_que
ret);
}
@@ -489,7 +485,7 @@ index 1c9d9d5..e5a0010 100644
}
static void bm2835_mmal_lock(struct vb2_queue *vq)
-@@ -530,6 +645,7 @@ static int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv,
+@@ -530,6 +645,7 @@ static int vidioc_enum_fmt_vid_overlay(s
strlcpy(f->description, fmt->name, sizeof(f->description));
f->pixelformat = fmt->fourcc;
@@ -497,7 +493,7 @@ index 1c9d9d5..e5a0010 100644
return 0;
}
-@@ -647,10 +763,18 @@ static int vidioc_g_fbuf(struct file *file, void *fh,
+@@ -647,10 +763,18 @@ static int vidioc_g_fbuf(struct file *fi
{
/* The video overlay must stay within the framebuffer and can't be
positioned independently. */
@@ -519,7 +515,7 @@ index 1c9d9d5..e5a0010 100644
return 0;
}
-@@ -717,6 +841,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
+@@ -717,6 +841,8 @@ static int vidioc_enum_fmt_vid_cap(struc
strlcpy(f->description, fmt->name, sizeof(f->description));
f->pixelformat = fmt->fourcc;
@@ -528,7 +524,7 @@ index 1c9d9d5..e5a0010 100644
return 0;
}
-@@ -729,20 +855,13 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void *priv,
+@@ -729,20 +855,13 @@ static int vidioc_g_fmt_vid_cap(struct f
f->fmt.pix.height = dev->capture.height;
f->fmt.pix.field = V4L2_FIELD_NONE;
f->fmt.pix.pixelformat = dev->capture.fmt->fourcc;
@@ -554,7 +550,7 @@ index 1c9d9d5..e5a0010 100644
f->fmt.pix.priv = 0;
v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
-@@ -766,21 +885,35 @@ static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
+@@ -766,21 +885,35 @@ static int vidioc_try_fmt_vid_cap(struct
}
f->fmt.pix.field = V4L2_FIELD_NONE;
@@ -600,7 +596,7 @@ index 1c9d9d5..e5a0010 100644
v4l2_dump_pix_format(1, bcm2835_v4l2_debug, &dev->v4l2_dev, &f->fmt.pix,
__func__);
return 0;
-@@ -818,8 +951,8 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -818,8 +951,8 @@ static int mmal_setup_components(struct
switch (mfmt->mmal_component) {
case MMAL_COMPONENT_CAMERA:
/* Make a further decision on port based on resolution */
@@ -611,7 +607,7 @@ index 1c9d9d5..e5a0010 100644
camera_port = port =
&dev->component[MMAL_COMPONENT_CAMERA]->
output[MMAL_CAMERA_PORT_VIDEO];
-@@ -861,8 +994,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -861,8 +994,9 @@ static int mmal_setup_components(struct
camera_port->es.video.crop.y = 0;
camera_port->es.video.crop.width = f->fmt.pix.width;
camera_port->es.video.crop.height = f->fmt.pix.height;
@@ -622,7 +618,7 @@ index 1c9d9d5..e5a0010 100644
ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
-@@ -896,8 +1030,10 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -896,8 +1030,10 @@ static int mmal_setup_components(struct
preview_port->es.video.crop.y = 0;
preview_port->es.video.crop.width = f->fmt.pix.width;
preview_port->es.video.crop.height = f->fmt.pix.height;
@@ -635,7 +631,7 @@ index 1c9d9d5..e5a0010 100644
ret = vchiq_mmal_port_set_format(dev->instance, preview_port);
if (overlay_enabled) {
ret = vchiq_mmal_port_connect_tunnel(
-@@ -913,7 +1049,9 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -913,7 +1049,9 @@ static int mmal_setup_components(struct
if (ret) {
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
@@ -646,7 +642,7 @@ index 1c9d9d5..e5a0010 100644
/* ensure capture is not going to be tried */
dev->capture.port = NULL;
} else {
-@@ -927,69 +1065,91 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -927,69 +1065,91 @@ static int mmal_setup_components(struct
camera_port->current_buffer.num =
camera_port->recommended_buffer.num;
@@ -792,7 +788,7 @@ index 1c9d9d5..e5a0010 100644
}
} else {
/* configure buffering */
-@@ -1001,13 +1161,20 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
+@@ -1001,13 +1161,20 @@ static int mmal_setup_components(struct
if (!ret) {
dev->capture.fmt = mfmt;
dev->capture.stride = f->fmt.pix.bytesperline;
@@ -815,7 +811,7 @@ index 1c9d9d5..e5a0010 100644
}
}
-@@ -1048,14 +1215,115 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void *priv,
+@@ -1048,14 +1215,115 @@ static int vidioc_s_fmt_vid_cap(struct f
}
ret = mmal_setup_components(dev, f);
@@ -932,7 +928,7 @@ index 1c9d9d5..e5a0010 100644
static const struct v4l2_ioctl_ops camera0_ioctl_ops = {
/* overlay */
.vidioc_enum_fmt_vid_overlay = vidioc_enum_fmt_vid_overlay,
-@@ -1084,6 +1352,51 @@ static const struct v4l2_ioctl_ops camera0_ioctl_ops = {
+@@ -1084,6 +1352,51 @@ static const struct v4l2_ioctl_ops camer
.vidioc_querybuf = vb2_ioctl_querybuf,
.vidioc_qbuf = vb2_ioctl_qbuf,
.vidioc_dqbuf = vb2_ioctl_dqbuf,
@@ -984,7 +980,7 @@ index 1c9d9d5..e5a0010 100644
.vidioc_streamon = vb2_ioctl_streamon,
.vidioc_streamoff = vb2_ioctl_streamoff,
-@@ -1122,8 +1435,10 @@ static int set_camera_parameters(struct vchiq_mmal_instance *instance,
+@@ -1122,8 +1435,10 @@ static int set_camera_parameters(struct
.max_stills_h = MAX_HEIGHT,
.stills_yuv422 = 1,
.one_shot_stills = 1,
@@ -997,7 +993,7 @@ index 1c9d9d5..e5a0010 100644
.num_preview_video_frames = 3,
.stills_capture_circular_buffer_height = 0,
.fast_preview_resume = 0,
-@@ -1141,6 +1456,7 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1141,6 +1456,7 @@ static int __init mmal_init(struct bm283
{
int ret;
struct mmal_es_format *format;
@@ -1005,7 +1001,7 @@ index 1c9d9d5..e5a0010 100644
ret = vchiq_mmal_init(&dev->instance);
if (ret < 0)
-@@ -1176,8 +1492,8 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1176,8 +1492,8 @@ static int __init mmal_init(struct bm283
format->es->video.crop.y = 0;
format->es->video.crop.width = 1024;
format->es->video.crop.height = 768;
@@ -1016,7 +1012,7 @@ index 1c9d9d5..e5a0010 100644
format =
&dev->component[MMAL_COMPONENT_CAMERA]->
-@@ -1192,8 +1508,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1192,8 +1508,14 @@ static int __init mmal_init(struct bm283
format->es->video.crop.y = 0;
format->es->video.crop.width = 1024;
format->es->video.crop.height = 768;
@@ -1033,7 +1029,7 @@ index 1c9d9d5..e5a0010 100644
format =
&dev->component[MMAL_COMPONENT_CAMERA]->
-@@ -1207,13 +1529,22 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1207,13 +1529,22 @@ static int __init mmal_init(struct bm283
format->es->video.crop.y = 0;
format->es->video.crop.width = 2592;
format->es->video.crop.height = 1944;
@@ -1057,7 +1053,7 @@ index 1c9d9d5..e5a0010 100644
/* get the preview component ready */
ret = vchiq_mmal_component_init(
-@@ -1260,6 +1591,14 @@ static int __init mmal_init(struct bm2835_mmal_dev *dev)
+@@ -1260,6 +1591,14 @@ static int __init mmal_init(struct bm283
}
{
@@ -1072,7 +1068,7 @@ index 1c9d9d5..e5a0010 100644
unsigned int enable = 1;
vchiq_mmal_port_parameter_set(
dev->instance,
-@@ -1312,6 +1651,11 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
+@@ -1312,6 +1651,11 @@ static int __init bm2835_mmal_init_devic
int ret;
*vfd = vdev_template;
@@ -1084,7 +1080,7 @@ index 1c9d9d5..e5a0010 100644
vfd->v4l2_dev = &dev->v4l2_dev;
-@@ -1326,8 +1670,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
+@@ -1326,8 +1670,9 @@ static int __init bm2835_mmal_init_devic
if (ret < 0)
return ret;
@@ -1096,7 +1092,7 @@ index 1c9d9d5..e5a0010 100644
return 0;
}
-@@ -1335,9 +1680,9 @@ static int __init bm2835_mmal_init_device(struct bm2835_mmal_dev *dev,
+@@ -1335,9 +1680,9 @@ static int __init bm2835_mmal_init_devic
static struct v4l2_format default_v4l2_format = {
.fmt.pix.pixelformat = V4L2_PIX_FMT_JPEG,
.fmt.pix.width = 1024,
@@ -1118,8 +1114,6 @@ index 1c9d9d5..e5a0010 100644
ret = mmal_setup_components(dev, &default_v4l2_format);
if (ret < 0) {
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
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.h
@@ -15,7 +15,7 @@
@@ -1189,8 +1183,6 @@ index 883eab7..7fe9f65 100644
/* 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
+++ b/drivers/media/platform/bcm2835/controls.c
@@ -30,11 +30,23 @@
@@ -1249,7 +1241,7 @@ index d1408e5..3017b94 100644
};
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} }
};
@@ -1275,7 +1267,7 @@ index d1408e5..3017b94 100644
/* 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,
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
{
@@ -1287,7 +1279,7 @@ index d1408e5..3017b94 100644
struct vchiq_mmal_port *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));
}
@@ -1329,7 +1321,7 @@ index d1408e5..3017b94 100644
static int ctrl_set_rotate(struct bm2835_mmal_dev *dev,
struct v4l2_ctrl *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,
const struct bm2835_mmal_v4l2_ctrl *mmal_ctrl)
{
@@ -1439,7 +1431,7 @@ index d1408e5..3017b94 100644
struct v4l2_ctrl *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;
switch (ctrl->val) {
@@ -1472,7 +1464,7 @@ index d1408e5..3017b94 100644
}
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));
}
@@ -1502,7 +1494,7 @@ index d1408e5..3017b94 100644
static int ctrl_set_image_effect(struct bm2835_mmal_dev *dev,
struct v4l2_ctrl *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));
v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
@@ -1513,7 +1505,7 @@ index d1408e5..3017b94 100644
(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;
}
@@ -1522,7 +1514,7 @@ index d1408e5..3017b94 100644
struct v4l2_ctrl *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));
}
@@ -1770,7 +1762,7 @@ index d1408e5..3017b94 100644
if ((mmal_ctrl == NULL) ||
(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;
}
@@ -1785,7 +1777,7 @@ index d1408e5..3017b94 100644
}
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,
-100, 100, 0, 1, NULL,
@@ -1849,7 +1841,7 @@ index d1408e5..3017b94 100644
},
/* 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
},
*/
{
@@ -2123,7 +2115,7 @@ index d1408e5..3017b94 100644
int bm2835_mmal_init_controls(struct bm2835_mmal_dev *dev,
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;
case MMAL_CONTROL_TYPE_STD_MENU:
@@ -2155,8 +2147,6 @@ index d1408e5..3017b94 100644
case MMAL_CONTROL_TYPE_INT_MENU:
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 84abbb3..35698c8 100644
--- a/drivers/media/platform/bcm2835/mmal-common.h
+++ b/drivers/media/platform/bcm2835/mmal-common.h
@@ -26,6 +26,7 @@
@@ -2167,8 +2157,6 @@ index 84abbb3..35698c8 100644
u32 mmal;
int depth;
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
+++ b/drivers/media/platform/bcm2835/mmal-encodings.h
@@ -12,6 +12,8 @@
@@ -2223,8 +2211,6 @@ index 856e80e..024d620 100644
+/* @} MmalColorSpace List */
+
+#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
+++ b/drivers/media/platform/bcm2835/mmal-parameters.h
@@ -57,7 +57,8 @@ enum mmal_parameter_common_type {
@@ -2251,7 +2237,7 @@ index c611b58..aa0fd18 100644
};
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
*/
};
@@ -2390,11 +2376,9 @@ index c611b58..aa0fd18 100644
};
/** 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
+++ 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;
}
@@ -2403,7 +2387,7 @@ index a06fb44..76f249e 100644
if (ret <= 0) {
pr_err("error %d waiting for sync completion\n", ret);
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,
rmsg->u.port_parameter_get_reply.size);
@@ -2412,6 +2396,3 @@ index a06fb44..76f249e 100644
ret, port->component->handle, port->handle, parameter_id);
release_msg:
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch b/target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch
index d75b88d2f3..d12b07fbe7 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch
+++ b/target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch
@@ -20,11 +20,9 @@ DMA: fix cyclic LITE length overflow bug
5 files changed, 1066 insertions(+), 1 deletion(-)
create mode 100644 drivers/dma/bcm2708-dmaengine.c
-diff --git a/arch/arm/mach-bcm2708/dma.c b/arch/arm/mach-bcm2708/dma.c
-index 1da2413..a5e58d1 100644
--- a/arch/arm/mach-bcm2708/dma.c
+++ b/arch/arm/mach-bcm2708/dma.c
-@@ -156,6 +156,8 @@ static void vc_dmaman_init(struct vc_dmaman *dmaman, void __iomem *dma_base,
+@@ -156,6 +156,8 @@ static void vc_dmaman_init(struct vc_dma
dmaman->chan_available = chans_available;
dmaman->has_feature[BCM_DMA_FEATURE_FAST_ORD] = 0x0c; /* chans 2 & 3 */
dmaman->has_feature[BCM_DMA_FEATURE_BULK_ORD] = 0x01; /* chan 0 */
@@ -33,11 +31,9 @@ index 1da2413..a5e58d1 100644
}
static int vc_dmaman_chan_alloc(struct vc_dmaman *dmaman,
-diff --git a/arch/arm/mach-bcm2708/include/mach/dma.h b/arch/arm/mach-bcm2708/include/mach/dma.h
-index a4aac4c..d03e7b5 100644
--- a/arch/arm/mach-bcm2708/include/mach/dma.h
+++ b/arch/arm/mach-bcm2708/include/mach/dma.h
-@@ -77,9 +77,13 @@ extern int /*rc*/ bcm_dma_abort(void __iomem *dma_chan_base);
+@@ -77,9 +77,13 @@ extern int /*rc*/ bcm_dma_abort(void __i
those with higher priority smaller ordinal numbers */
#define BCM_DMA_FEATURE_FAST_ORD 0
#define BCM_DMA_FEATURE_BULK_ORD 1
@@ -52,8 +48,6 @@ index a4aac4c..d03e7b5 100644
/* return channel no or -ve error */
extern int bcm_dma_chan_alloc(unsigned preferred_feature_set,
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index de46982..c9b8eb5 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -330,6 +330,12 @@ config DMA_BCM2835
@@ -69,8 +63,6 @@ index de46982..c9b8eb5 100644
config TI_CPPI41
tristate "AM33xx CPPI41 DMA support"
depends on ARCH_OMAP
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index cb626c1..d3c4a82 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -38,6 +38,7 @@ obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
@@ -81,9 +73,6 @@ index cb626c1..d3c4a82 100644
obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o
obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.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..10463db
--- /dev/null
+++ b/drivers/dma/bcm2708-dmaengine.c
@@ -0,0 +1,1052 @@
@@ -1139,6 +1128,3 @@ index 0000000..10463db
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_AUTHOR("Gellert Weisz <gellert@raspberrypi.org>");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch b/target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch
index 59a1d9fb09..adaf624be4 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch
+++ b/target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch
@@ -56,8 +56,6 @@ to avoid the name clash when registering debugfs entries.
create mode 100644 sound/soc/bcm/bcm2708-i2s.c
create mode 100644 sound/soc/bcm/bcm2708-i2s.h
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index 6a834e1..7e5b945 100644
--- a/sound/soc/bcm/Kconfig
+++ b/sound/soc/bcm/Kconfig
@@ -7,3 +7,14 @@ config SND_BCM2835_SOC_I2S
@@ -75,11 +73,9 @@ index 6a834e1..7e5b945 100644
+ Say Y or M if you want to add support for codecs attached to
+ the BCM2708 I2S interface. You will also need
+ 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
+++ 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
@@ -87,9 +83,6 @@ index bc816b7..f8bbe1f 100644
+snd-soc-bcm2708-i2s-objs := 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..0b5322a
--- /dev/null
+++ b/sound/soc/bcm/bcm2708-i2s.c
@@ -0,0 +1,998 @@
@@ -1091,9 +1084,6 @@ index 0000000..0b5322a
+MODULE_DESCRIPTION("BCM2708 I2S interface");
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/bcm/bcm2708-i2s.h b/sound/soc/bcm/bcm2708-i2s.h
-new file mode 100644
-index 0000000..6fdcbc1
--- /dev/null
+++ b/sound/soc/bcm/bcm2708-i2s.h
@@ -0,0 +1,35 @@
@@ -1132,6 +1122,3 @@ index 0000000..6fdcbc1
+extern void bcm2708_i2s_set_gpio(int gpio);
+
+#endif
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch b/target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch
index 6b393d3fdd..0bbbd8c8a2 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch
+++ b/target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch
@@ -14,8 +14,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
3 files changed, 69 insertions(+)
create mode 100644 sound/soc/codecs/pcm5102a.c
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index a68d173..0ef8bb7 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -80,6 +80,7 @@ config SND_SOC_ALL_CODECS
@@ -36,11 +34,9 @@ index a68d173..0ef8bb7 100644
config SND_SOC_RT5631
tristate
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index 5dce451..7b606e6 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
-@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.o
+@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.
snd-soc-pcm512x-spi-objs := pcm512x-spi.o
snd-soc-rl6231-objs := rl6231.o
snd-soc-rt286-objs := rt286.o
@@ -48,7 +44,7 @@ index 5dce451..7b606e6 100644
snd-soc-rt5631-objs := rt5631.o
snd-soc-rt5640-objs := rt5640.o
snd-soc-rt5645-objs := rt5645.o
-@@ -250,6 +251,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
+@@ -250,6 +251,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o
obj-$(CONFIG_SND_SOC_RT286) += snd-soc-rt286.o
@@ -56,9 +52,6 @@ index 5dce451..7b606e6 100644
obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.o
obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o
obj-$(CONFIG_SND_SOC_RT5645) += snd-soc-rt5645.o
-diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c
-new file mode 100644
-index 0000000..126f1e9
--- /dev/null
+++ b/sound/soc/codecs/pcm5102a.c
@@ -0,0 +1,63 @@
@@ -125,6 +118,3 @@ index 0000000..126f1e9
+MODULE_DESCRIPTION("ASoC PCM5102A codec driver");
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch b/target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch
index b2b34c68d0..958443f8e5 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch
+++ b/target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch
@@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
arch/arm/mach-bcm2708/bcm2708.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index a740344..dca28ad 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -587,6 +587,28 @@ static struct platform_device bcm2835_thermal_device = {
+@@ -587,6 +587,28 @@ static struct platform_device bcm2835_th
.name = "bcm2835_thermal",
};
@@ -55,6 +53,3 @@ index a740344..dca28ad 100644
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];
amba_device_register(d, &iomem_resource);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch b/target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch
index a0ecb837b9..affa8679d1 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch
+++ b/target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch
@@ -15,8 +15,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
3 files changed, 112 insertions(+)
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
+++ b/sound/soc/bcm/Kconfig
@@ -18,3 +18,10 @@ config SND_BCM2708_SOC_I2S
@@ -30,11 +28,9 @@ index 7e5b945..b36a62f 100644
+ select SND_SOC_PCM5102A
+ help
+ 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
+++ 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
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
+
+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
+++ b/sound/soc/bcm/hifiberry_dac.c
@@ -0,0 +1,100 @@
@@ -149,6 +142,3 @@ index 0000000..4b70b45
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch b/target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
index 49d2c1b0ad..cb77239a2b 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
+++ b/target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
@@ -11,11 +11,9 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
arch/arm/mach-bcm2708/bcm2708.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index dca28ad..50d4991 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -609,6 +609,20 @@ static struct platform_device bcm2708_i2s_device = {
+@@ -609,6 +609,20 @@ static struct platform_device bcm2708_i2
};
#endif
@@ -48,6 +46,3 @@ index dca28ad..50d4991 100644
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];
amba_device_register(d, &iomem_resource);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch b/target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch
index af6bb5839a..c1d4fd5579 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch
+++ b/target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch
@@ -11,8 +11,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
arch/arm/configs/bcmrpi_defconfig | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 3f99687..dfd98df 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -753,6 +753,10 @@ CONFIG_SND_USB_UA101=m
@@ -35,6 +33,3 @@ index 3f99687..dfd98df 100644
CONFIG_UIO=m
CONFIG_UIO_PDRV_GENIRQ=m
CONFIG_STAGING=y
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch b/target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
index 1a5c444a1e..f01984af56 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
+++ b/target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
@@ -19,8 +19,6 @@ Signed-off-by: Florian Meier <florian.meier@koalo.de>
create mode 100644 sound/soc/bcm/rpi-dac.c
create mode 100644 sound/soc/codecs/pcm1794a.c
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index dfd98df..f688da5 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -756,6 +756,7 @@ CONFIG_SND_USB_6FIRE=m
@@ -31,11 +29,9 @@ index dfd98df..f688da5 100644
CONFIG_SND_SIMPLE_CARD=m
CONFIG_SOUND_PRIME=m
CONFIG_HIDRAW=y
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 50d4991..100c223 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -623,6 +623,20 @@ static struct platform_device snd_pcm5102a_codec_device = {
+@@ -623,6 +623,20 @@ static struct platform_device snd_pcm510
};
#endif
@@ -68,8 +64,6 @@ index 50d4991..100c223 100644
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];
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
+++ b/sound/soc/bcm/Kconfig
@@ -25,3 +25,10 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
@@ -83,11 +77,9 @@ index b36a62f..714841d 100644
+ select SND_SOC_PCM1794A
+ help
+ 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
+++ 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
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
@@ -95,9 +87,6 @@ index be90a49cb..ccc9809 100644
obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-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..6d6e0ba
--- /dev/null
+++ b/sound/soc/bcm/rpi-dac.c
@@ -0,0 +1,97 @@
@@ -198,8 +187,6 @@ index 0000000..6d6e0ba
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_DESCRIPTION("ASoC Driver for RPi-DAC");
+MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 0ef8bb7..3c236a6 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -81,6 +81,7 @@ config SND_SOC_ALL_CODECS
@@ -220,11 +207,9 @@ index 0ef8bb7..3c236a6 100644
config SND_SOC_PCM5102A
tristate
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index 7b606e6..2a7f823 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
-@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.o
+@@ -74,6 +74,7 @@ snd-soc-pcm512x-i2c-objs := pcm512x-i2c.
snd-soc-pcm512x-spi-objs := pcm512x-spi.o
snd-soc-rl6231-objs := rl6231.o
snd-soc-rt286-objs := rt286.o
@@ -232,7 +217,7 @@ index 7b606e6..2a7f823 100644
snd-soc-pcm5102a-objs := pcm5102a.o
snd-soc-rt5631-objs := rt5631.o
snd-soc-rt5640-objs := rt5640.o
-@@ -251,6 +252,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
+@@ -251,6 +252,7 @@ obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
obj-$(CONFIG_SND_SOC_RL6231) += snd-soc-rl6231.o
obj-$(CONFIG_SND_SOC_RT286) += snd-soc-rt286.o
@@ -240,9 +225,6 @@ index 7b606e6..2a7f823 100644
obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o
obj-$(CONFIG_SND_SOC_RT5631) += snd-soc-rt5631.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
+++ b/sound/soc/codecs/pcm1794a.c
@@ -0,0 +1,62 @@
@@ -308,6 +290,3 @@ index 0000000..b4eaa44
+MODULE_DESCRIPTION("ASoC PCM1794A codec driver");
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch b/target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
index 9796fc57b4..1a96a09492 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
+++ b/target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
@@ -19,11 +19,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
sound/soc/codecs/wm8804.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
-index 3addc5f..d060b23 100644
--- a/sound/soc/codecs/wm8804.c
+++ b/sound/soc/codecs/wm8804.c
-@@ -278,6 +278,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream,
+@@ -278,6 +278,7 @@ static int wm8804_hw_params(struct snd_p
blen = 0x1;
break;
case 24:
@@ -31,7 +29,7 @@ index 3addc5f..d060b23 100644
blen = 0x2;
break;
default:
-@@ -624,7 +625,7 @@ static const struct snd_soc_dai_ops wm8804_dai_ops = {
+@@ -624,7 +625,7 @@ static const struct snd_soc_dai_ops wm88
};
#define WM8804_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
@@ -40,6 +38,3 @@ index 3addc5f..d060b23 100644
#define WM8804_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_64000 | \
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch b/target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
index d2da14b0d0..50def7f7ac 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
+++ b/target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
@@ -12,8 +12,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
3 files changed, 162 insertions(+)
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
+++ b/sound/soc/bcm/Kconfig
@@ -26,6 +26,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
@@ -30,11 +28,9 @@ index 714841d..e563dbc 100644
config SND_BCM2708_SOC_RPI_DAC
tristate "Support for RPi-DAC"
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
+++ 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
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_DIGI) += snd-soc-hifiberry-digi.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
+++ b/sound/soc/bcm/hifiberry_digi.c
@@ -0,0 +1,153 @@
@@ -203,6 +196,3 @@ index 0000000..e4f769d
+MODULE_AUTHOR("Daniel Matuschek <info@crazy-audio.com>");
+MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch b/target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
index 61d983b8cc..1b2ae2689e 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
+++ b/target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
@@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
arch/arm/mach-bcm2708/bcm2708.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 100c223..a57cb85 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -623,6 +623,21 @@ static struct platform_device snd_pcm5102a_codec_device = {
+@@ -623,6 +623,21 @@ static struct platform_device snd_pcm510
};
#endif
@@ -47,6 +45,3 @@ index 100c223..a57cb85 100644
#if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE)
bcm_register_device(&snd_rpi_dac_device);
bcm_register_device(&snd_pcm1794a_codec_device);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch b/target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch
index f0b0c07703..ea512db4e2 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch
+++ b/target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch
@@ -10,8 +10,6 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
arch/arm/configs/bcmrpi_defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index f688da5..c9d3fac 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -756,6 +756,7 @@ CONFIG_SND_USB_6FIRE=m
@@ -22,6 +20,3 @@ index f688da5..c9d3fac 100644
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
CONFIG_SND_SIMPLE_CARD=m
CONFIG_SOUND_PRIME=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch b/target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
index 2b9417ce6c..b2b1a93616 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
+++ b/target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
@@ -9,11 +9,9 @@ Signed-off-by: Daniel Matuschek <daniel@matuschek.net>
sound/soc/codecs/wm8804.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c
-index d060b23..d486a9d 100644
--- a/sound/soc/codecs/wm8804.c
+++ b/sound/soc/codecs/wm8804.c
-@@ -656,7 +656,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8804 = {
+@@ -656,7 +656,7 @@ static struct snd_soc_codec_driver soc_c
.probe = wm8804_probe,
.remove = wm8804_remove,
.set_bias_level = wm8804_set_bias_level,
@@ -22,6 +20,3 @@ index d060b23..d486a9d 100644
.controls = wm8804_snd_controls,
.num_controls = ARRAY_SIZE(wm8804_snd_controls),
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch b/target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
index 263b067c30..aaea9f1a50 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
+++ b/target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
@@ -12,8 +12,6 @@ Subject: [PATCH 042/114] Add IQaudIO Sound Card support for Raspberry Pi
5 files changed, 143 insertions(+)
create mode 100644 sound/soc/bcm/iqaudio-dac.c
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index c9d3fac..f15a4b9 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -758,6 +758,7 @@ CONFIG_SND_BCM2708_SOC_I2S=m
@@ -24,11 +22,9 @@ index c9d3fac..f15a4b9 100644
CONFIG_SND_SIMPLE_CARD=m
CONFIG_SOUND_PRIME=m
CONFIG_HIDRAW=y
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index a57cb85..633be19 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -652,6 +652,22 @@ static struct platform_device snd_pcm1794a_codec_device = {
+@@ -652,6 +652,22 @@ static struct platform_device snd_pcm179
};
#endif
@@ -64,8 +60,6 @@ index a57cb85..633be19 100644
for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
struct amba_device *d = amba_devs[i];
amba_device_register(d, &iomem_resource);
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index e563dbc..c621a5e 100644
--- a/sound/soc/bcm/Kconfig
+++ b/sound/soc/bcm/Kconfig
@@ -39,3 +39,10 @@ config SND_BCM2708_SOC_RPI_DAC
@@ -79,11 +73,9 @@ index e563dbc..c621a5e 100644
+ select SND_SOC_PCM512x_I2C
+ help
+ 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
+++ 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-digi-objs := hifiberry_digi.o
snd-soc-rpi-dac-objs := rpi-dac.o
@@ -93,9 +85,6 @@ index 826df7d..d597fb0 100644
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_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..8d0e2ae
--- /dev/null
+++ b/sound/soc/bcm/iqaudio-dac.c
@@ -0,0 +1,111 @@
@@ -210,6 +199,3 @@ index 0000000..8d0e2ae
+MODULE_AUTHOR("Florian Meier <florian.meier@koalo.de>");
+MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch b/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
index ab5e3632b3..5d1aba3490 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
+++ b/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
@@ -10,11 +10,9 @@ DAC ouput stages.
sound/soc/codecs/pcm512x.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
-index 640c991..b405719 100644
--- a/sound/soc/codecs/pcm512x.c
+++ b/sound/soc/codecs/pcm512x.c
-@@ -259,8 +259,8 @@ static const struct soc_enum pcm512x_veds =
+@@ -259,8 +259,8 @@ static const struct soc_enum pcm512x_ved
pcm512x_ramp_step_text);
static const struct snd_kcontrol_new pcm512x_controls[] = {
@@ -25,6 +23,3 @@ index 640c991..b405719 100644
SOC_DOUBLE_TLV("Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
PCM512x_LAGN_SHIFT, PCM512x_RAGN_SHIFT, 1, 1, analog_tlv),
SOC_DOUBLE_TLV("Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch b/target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
index 4826a871eb..39265f8cd5 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
+++ b/target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
@@ -11,11 +11,9 @@ http://www.spinics.net/lists/linux-mm/msg72236.html
include/linux/vmstat.h | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h
-index 82e7db7..f87d16d 100644
--- a/include/linux/vmstat.h
+++ b/include/linux/vmstat.h
-@@ -241,7 +241,11 @@ static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
+@@ -241,7 +241,11 @@ static inline void __inc_zone_state(stru
static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
{
atomic_long_dec(&zone->vm_stat[item]);
@@ -27,6 +25,3 @@ index 82e7db7..f87d16d 100644
}
static inline void __inc_zone_page_state(struct page *page,
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch b/target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch
index ae8e3adf9d..83778b6aa8 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch
+++ b/target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch
@@ -14,11 +14,9 @@ Fix a few thinkos with the transaction error passthrough for fiq_fsm.
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 2 +-
3 files changed, 9 insertions(+), 6 deletions(-)
-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 065807f..96c76e3 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c
-@@ -1348,10 +1348,9 @@ static inline uint32_t dwc_otg_read_common_intr(dwc_otg_core_if_t * core_if, gin
+@@ -1348,10 +1348,9 @@ static inline uint32_t dwc_otg_read_comm
local_fiq_disable();
/* Pull in the interrupts that the FIQ has masked */
gintmsk.d32 |= ~(hcd->fiq_state->gintmsk_saved.d32);
@@ -31,7 +29,7 @@ index 065807f..96c76e3 100644
local_fiq_enable();
}
-@@ -1535,7 +1534,7 @@ int32_t dwc_otg_handle_common_intr(void *dev)
+@@ -1535,7 +1534,7 @@ int32_t dwc_otg_handle_common_intr(void
// fiq_print(FIQDBG_INT, otg_dev->hcd->fiq_state, "CILOUT %1d", retval);
// fiq_print(FIQDBG_INT, otg_dev->hcd->fiq_state, "%08x", gintsts.d32);
// fiq_print(FIQDBG_INT, otg_dev->hcd->fiq_state, "%08x", gintmsk_reenable.d32);
@@ -40,11 +38,9 @@ index 065807f..96c76e3 100644
DWC_WRITE_REG32(&core_if->core_global_regs->gintmsk, gintmsk_reenable.d32);
}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-index 1be6e71..284f902 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-@@ -696,7 +696,11 @@ static int notrace noinline fiq_fsm_do_hcintr(struct fiq_state *state, int num_c
+@@ -696,7 +696,11 @@ static int notrace noinline fiq_fsm_do_h
fiq_print(FIQDBG_ERR, state, "ERRST %02d", n);
if (hcint_probe.b.nak || hcint_probe.b.ack || hcint_probe.b.datatglerr) {
fiq_print(FIQDBG_ERR, state, "RESET %02d", n);
@@ -57,11 +53,9 @@ index 1be6e71..284f902 100644
hcintmsk.b.nak = 0;
hcintmsk.b.ack = 0;
hcintmsk.b.datatglerr = 0;
-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 4195ff2..a5566bc 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
-@@ -2619,7 +2619,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc_otg_hcd_t * dwc_otg_hcd, uint32_t num)
+@@ -2619,7 +2619,7 @@ int32_t dwc_otg_hcd_handle_hc_n_intr(dwc
case FIQ_PASSTHROUGH_ERRORSTATE:
/* Hook into the error count */
fiq_print(FIQDBG_ERR, dwc_otg_hcd->fiq_state, "HCDERR%02d", num);
@@ -70,6 +64,3 @@ index 4195ff2..a5566bc 100644
qtd->error_count = 0;
fiq_print(FIQDBG_ERR, dwc_otg_hcd->fiq_state, "RESET ");
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch b/target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch
index 4d7a95d66c..680eb598de 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch
+++ b/target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch
@@ -19,11 +19,9 @@ Original idea by Hans Petter Selasky @ FreeBSD.org.
drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 32 ++++++++++++++++++++++++++------
1 file changed, 26 insertions(+), 6 deletions(-)
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-index 130096b..68d4f3b 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-@@ -1055,10 +1055,11 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
+@@ -1055,10 +1055,11 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
for (i=0; i < hcd->core_if->core_params->host_channels; i++) {
dwc_otg_cleanup_fiq_channel(hcd, i);
}
@@ -37,7 +35,7 @@ index 130096b..68d4f3b 100644
}
}
-@@ -1789,6 +1790,20 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1789,6 +1790,20 @@ int fiq_fsm_queue_split_transaction(dwc_
st->hcintmsk_copy.b.chhltd = 1;
st->hcintmsk_copy.b.ahberr = 1;
@@ -58,7 +56,7 @@ index 130096b..68d4f3b 100644
DWC_WRITE_REG32(&hc_regs->hcdma, st->hcdma_copy.d32);
DWC_WRITE_REG32(&hc_regs->hctsiz, st->hctsiz_copy.d32);
DWC_WRITE_REG32(&hc_regs->hcsplt, st->hcsplt_copy.d32);
-@@ -1842,6 +1857,9 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1842,6 +1857,9 @@ int fiq_fsm_queue_split_transaction(dwc_
}
}
}
@@ -68,7 +66,7 @@ index 130096b..68d4f3b 100644
fiq_print(FIQDBG_INT, hcd->fiq_state, "FSMQ %01d %01d", hc->hc_num, start_immediate);
fiq_print(FIQDBG_INT, hcd->fiq_state, "%08d", hfnum.b.frrem);
//fiq_print(FIQDBG_INT, hcd->fiq_state, "H:%02dP:%02d", hub_addr, port_addr);
-@@ -1873,11 +1891,13 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1873,11 +1891,13 @@ int fiq_fsm_queue_split_transaction(dwc_
}
break;
case UE_INTERRUPT:
@@ -86,6 +84,3 @@ index 130096b..68d4f3b 100644
default:
break;
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch b/target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch
index b6dc5562b1..73be69f815 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch
+++ b/target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch
@@ -15,11 +15,9 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
drivers/spi/spi-bcm2708.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c
-index b04a57d..349d21f 100644
--- a/drivers/spi/spi-bcm2708.c
+++ b/drivers/spi/spi-bcm2708.c
-@@ -545,7 +545,7 @@ static int bcm2708_spi_probe(struct platform_device *pdev)
+@@ -545,7 +545,7 @@ static int bcm2708_spi_probe(struct plat
}
/* initialise the hardware */
@@ -28,7 +26,7 @@ index b04a57d..349d21f 100644
bcm2708_wr(bs, SPI_CS, SPI_CS_REN | SPI_CS_CLEAR_RX | SPI_CS_CLEAR_TX);
err = spi_register_master(master);
-@@ -561,6 +561,7 @@ static int bcm2708_spi_probe(struct platform_device *pdev)
+@@ -561,6 +561,7 @@ static int bcm2708_spi_probe(struct plat
out_free_irq:
free_irq(bs->irq, master);
@@ -36,7 +34,7 @@ index b04a57d..349d21f 100644
out_workqueue:
destroy_workqueue(bs->workq);
out_iounmap:
-@@ -585,7 +586,7 @@ static int bcm2708_spi_remove(struct platform_device *pdev)
+@@ -585,7 +586,7 @@ static int bcm2708_spi_remove(struct pla
flush_work(&bs->work);
@@ -45,6 +43,3 @@ index b04a57d..349d21f 100644
clk_put(bs->clk);
free_irq(bs->irq, master);
iounmap(bs->base);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch b/target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch
index 68c988ab60..a2398739aa 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch
+++ b/target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch
@@ -21,8 +21,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
delete mode 100644 arch/arm/mach-bcm2708/clock.c
delete mode 100644 arch/arm/mach-bcm2708/clock.h
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index ba9c18e..0f2287f 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -385,11 +385,10 @@ config ARCH_BCM2708
@@ -38,8 +36,6 @@ index ba9c18e..0f2287f 100644
select ARCH_HAS_CPUFREQ
select GENERIC_CLOCKEVENTS
select ARM_ERRATA_411920
-diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile
-index a722f3f..21e3521 100644
--- a/arch/arm/mach-bcm2708/Makefile
+++ b/arch/arm/mach-bcm2708/Makefile
@@ -2,6 +2,6 @@
@@ -50,8 +46,6 @@ index a722f3f..21e3521 100644
+obj-$(CONFIG_MACH_BCM2708) += bcm2708.o armctrl.o vcio.o power.o dma.o
obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o
obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 633be19..ef12cb8 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -27,6 +27,8 @@
@@ -80,7 +74,7 @@ index 633be19..ef12cb8 100644
static unsigned disk_led_gpio = 16;
static unsigned disk_led_active_low = 1;
static unsigned reboot_part = 0;
-@@ -196,51 +197,39 @@ static void __init bcm2708_clocksource_init(void)
+@@ -196,51 +197,39 @@ static void __init bcm2708_clocksource_i
}
}
@@ -173,9 +167,6 @@ index 633be19..ef12cb8 100644
bcm_register_device(&bcm2708_dmaman_device);
bcm_register_device(&bcm2708_vcio_device);
-diff --git a/arch/arm/mach-bcm2708/clock.c b/arch/arm/mach-bcm2708/clock.c
-deleted file mode 100644
-index 4fc556e..0000000
--- a/arch/arm/mach-bcm2708/clock.c
+++ /dev/null
@@ -1,61 +0,0 @@
@@ -240,9 +231,6 @@ index 4fc556e..0000000
- return -EIO;
-}
-EXPORT_SYMBOL(clk_set_rate);
-diff --git a/arch/arm/mach-bcm2708/clock.h b/arch/arm/mach-bcm2708/clock.h
-deleted file mode 100644
-index 5f9d725..0000000
--- a/arch/arm/mach-bcm2708/clock.h
+++ /dev/null
@@ -1,24 +0,0 @@
@@ -270,6 +258,3 @@ index 5f9d725..0000000
-struct clk {
- unsigned long rate;
-};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch b/target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch
index 92538f8dfe..73b073510b 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch
+++ b/target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch
@@ -24,11 +24,9 @@ Signed-off-by: Noralf Tronnes notro@tronnes.org
create mode 100644 arch/arm/boot/dts/bcm2708-rpi-b.dts
create mode 100644 arch/arm/boot/dts/bcm2708.dtsi
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 38c89ca..c727f71 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -53,6 +53,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
+@@ -53,6 +53,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4e
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
@@ -36,9 +34,6 @@ index 38c89ca..c727f71 100644
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-new file mode 100644
-index 0000000..e319c8e
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -0,0 +1,8 @@
@@ -50,9 +45,6 @@ index 0000000..e319c8e
+ compatible = "brcm,bcm2708";
+ model = "Raspberry Pi";
+};
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-new file mode 100644
-index 0000000..50da059
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -0,0 +1,27 @@
@@ -83,8 +75,6 @@ index 0000000..50da059
+ #size-cells = <0>;
+ };
+};
-diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
-index e151ed4..182e7ba 100644
--- a/arch/arm/mach-bcm2708/Kconfig
+++ b/arch/arm/mach-bcm2708/Kconfig
@@ -9,6 +9,14 @@ config MACH_BCM2708
@@ -102,8 +92,6 @@ index e151ed4..182e7ba 100644
config BCM2708_GPIO
bool "BCM2708 gpio support"
depends on MACH_BCM2708
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index ef12cb8..747e27a 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -33,6 +33,7 @@
@@ -165,6 +153,3 @@ index ef12cb8..747e27a 100644
MACHINE_END
module_param(boardrev, uint, 0644);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch b/target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch
index 04d58fcd3d..f548d40712 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch
+++ b/target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch
@@ -23,8 +23,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
arch/arm/mach-bcm2708/armctrl.c | 96 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 105 insertions(+)
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index 50da059..a06f5b8 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -4,6 +4,8 @@
@@ -50,8 +48,6 @@ index 50da059..a06f5b8 100644
};
clocks {
-diff --git a/arch/arm/mach-bcm2708/armctrl.c b/arch/arm/mach-bcm2708/armctrl.c
-index 96fa9b9..74bacb3 100644
--- a/arch/arm/mach-bcm2708/armctrl.c
+++ b/arch/arm/mach-bcm2708/armctrl.c
@@ -23,6 +23,8 @@
@@ -63,7 +59,7 @@ index 96fa9b9..74bacb3 100644
#include <asm/mach/irq.h>
#include <mach/hardware.h>
-@@ -79,6 +81,99 @@ static void armctrl_unmask_irq(struct irq_data *d)
+@@ -79,6 +81,99 @@ static void armctrl_unmask_irq(struct ir
}
}
@@ -163,13 +159,10 @@ index 96fa9b9..74bacb3 100644
#if defined(CONFIG_PM)
/* for kernels 3.xx use the new syscore_ops apis but for older kernels use the sys dev class */
-@@ -215,5 +310,6 @@ int __init armctrl_init(void __iomem * base, unsigned int irq_start,
+@@ -215,5 +310,6 @@ int __init armctrl_init(void __iomem * b
armctrl_pm_register(base, irq_start, resume_sources);
init_FIQ(FIQ_START);
+ armctrl_dt_init();
return 0;
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch b/target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch
index 9c1b03777d..84abb3e6de 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch
+++ b/target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch
@@ -14,8 +14,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
drivers/pinctrl/pinctrl-bcm2835.c | 2 +-
4 files changed, 17 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index a06f5b8..b2920c8 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -26,6 +26,18 @@
@@ -37,8 +35,6 @@ index a06f5b8..b2920c8 100644
};
clocks {
-diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig
-index 182e7ba..4cfae55 100644
--- a/arch/arm/mach-bcm2708/Kconfig
+++ b/arch/arm/mach-bcm2708/Kconfig
@@ -14,6 +14,9 @@ config BCM2708_DT
@@ -51,8 +47,6 @@ index 182e7ba..4cfae55 100644
help
Enable Device Tree support for BCM2708
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 747e27a..0e5bd43 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -767,7 +767,7 @@ void __init bcm2708_init(void)
@@ -64,11 +58,9 @@ index 747e27a..0e5bd43 100644
#endif
#if defined(CONFIG_W1_MASTER_GPIO) || defined(CONFIG_W1_MASTER_GPIO_MODULE)
w1_gpio_pdata.pin = w1_gpio_pin;
-diff --git a/drivers/pinctrl/pinctrl-bcm2835.c b/drivers/pinctrl/pinctrl-bcm2835.c
-index eabba02..962e180 100644
--- a/drivers/pinctrl/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/pinctrl-bcm2835.c
-@@ -382,7 +382,7 @@ static struct gpio_chip bcm2835_gpio_chip = {
+@@ -382,7 +382,7 @@ static struct gpio_chip bcm2835_gpio_chi
.get = bcm2835_gpio_get,
.set = bcm2835_gpio_set,
.to_irq = bcm2835_gpio_to_irq,
@@ -77,6 +69,3 @@ index eabba02..962e180 100644
.ngpio = BCM2835_NUM_GPIOS,
.can_sleep = false,
};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch b/target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch
index 9eca2db39c..8969c30b0c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch
+++ b/target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch
@@ -31,8 +31,6 @@ bcm2708: Remove the prohibition on mixing SPIDEV and DT
drivers/spi/spi-bcm2708.c | 8 ++++++++
5 files changed, 75 insertions(+), 4 deletions(-)
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-index e319c8e..30107fb 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -5,4 +5,36 @@
@@ -72,8 +70,6 @@ index e319c8e..30107fb 100644
+ spi-max-frequency = <500000>;
+ };
};
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index b2920c8..e90bf4c 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -38,11 +38,29 @@
@@ -106,11 +102,9 @@ index b2920c8..e90bf4c 100644
+ };
};
};
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 0e5bd43..a2069f8 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -486,6 +486,7 @@ static struct platform_device bcm2708_alsa_devices[] = {
+@@ -486,6 +486,7 @@ static struct platform_device bcm2708_al
},
};
@@ -118,7 +112,7 @@ index 0e5bd43..a2069f8 100644
static struct resource bcm2708_spi_resources[] = {
{
.start = SPI0_BASE,
-@@ -509,6 +510,7 @@ static struct platform_device bcm2708_spi_device = {
+@@ -509,6 +510,7 @@ static struct platform_device bcm2708_sp
.dma_mask = &bcm2708_spi_dmamask,
.coherent_dma_mask = DMA_BIT_MASK(DMA_MASK_BITS_COMMON)},
};
@@ -126,7 +120,7 @@ index 0e5bd43..a2069f8 100644
#ifdef CONFIG_BCM2708_SPIDEV
static struct spi_board_info bcm2708_spi_devices[] = {
-@@ -670,6 +672,16 @@ int __init bcm_register_device(struct platform_device *pdev)
+@@ -670,6 +672,16 @@ int __init bcm_register_device(struct pl
return ret;
}
@@ -164,8 +158,6 @@ index 0e5bd43..a2069f8 100644
#endif
}
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 71b4741..a5238ab 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -77,7 +77,7 @@ config SPI_ATMEL
@@ -177,11 +169,9 @@ index 71b4741..a5238ab 100644
help
This selects a driver for the Broadcom BCM2835 SPI master.
-diff --git a/drivers/spi/spi-bcm2708.c b/drivers/spi/spi-bcm2708.c
-index 349d21f..041b5e2 100644
--- a/drivers/spi/spi-bcm2708.c
+++ b/drivers/spi/spi-bcm2708.c
-@@ -512,6 +512,7 @@ static int bcm2708_spi_probe(struct platform_device *pdev)
+@@ -512,6 +512,7 @@ static int bcm2708_spi_probe(struct plat
master->setup = bcm2708_spi_setup;
master->transfer = bcm2708_spi_transfer;
master->cleanup = bcm2708_spi_cleanup;
@@ -189,7 +179,7 @@ index 349d21f..041b5e2 100644
platform_set_drvdata(pdev, master);
bs = spi_master_get_devdata(master);
-@@ -596,10 +597,17 @@ static int bcm2708_spi_remove(struct platform_device *pdev)
+@@ -596,10 +597,17 @@ static int bcm2708_spi_remove(struct pla
return 0;
}
@@ -207,6 +197,3 @@ index 349d21f..041b5e2 100644
},
.probe = bcm2708_spi_probe,
.remove = bcm2708_spi_remove,
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch b/target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch
index cc3202c67d..acf920359b 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch
+++ b/target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch
@@ -29,8 +29,6 @@ Signed-off-by: Noralf Tronnes <notro@tronnes.org>
drivers/i2c/busses/i2c-bcm2708.c | 24 ++++++++++++++++++++++++
5 files changed, 80 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-index 30107fb..5893122 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -8,6 +8,8 @@
@@ -75,8 +73,6 @@ index 30107fb..5893122 100644
+ pinctrl-0 = <&i2c1_pins>;
+ clock-frequency = <100000>;
+};
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index e90bf4c..2ca6d63 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -48,6 +48,26 @@
@@ -120,11 +116,9 @@ index e90bf4c..2ca6d63 100644
clk_spi: clock@2 {
compatible = "fixed-clock";
reg = <2>;
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index a2069f8..b45f327 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -532,6 +532,7 @@ static struct spi_board_info bcm2708_spi_devices[] = {
+@@ -532,6 +532,7 @@ static struct spi_board_info bcm2708_spi
};
#endif
@@ -132,7 +126,7 @@ index a2069f8..b45f327 100644
static struct resource bcm2708_bsc0_resources[] = {
{
.start = BSC0_BASE,
-@@ -570,6 +571,7 @@ static struct platform_device bcm2708_bsc1_device = {
+@@ -570,6 +571,7 @@ static struct platform_device bcm2708_bs
.num_resources = ARRAY_SIZE(bcm2708_bsc1_resources),
.resource = bcm2708_bsc1_resources,
};
@@ -151,8 +145,6 @@ index a2069f8..b45f327 100644
bcm_register_device(&bcm2835_hwmon_device);
bcm_register_device(&bcm2835_thermal_device);
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index 3d3db41..d30a986 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -361,7 +361,7 @@ config I2C_AXXIA
@@ -164,8 +156,6 @@ index 3d3db41..d30a986 100644
help
If you say yes to this option, support will be included for the
BCM2835 I2C controller.
-diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
-index 7d385a3..526129b 100644
--- a/drivers/i2c/busses/i2c-bcm2708.c
+++ b/drivers/i2c/busses/i2c-bcm2708.c
@@ -26,6 +26,7 @@
@@ -176,7 +166,7 @@ index 7d385a3..526129b 100644
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/slab.h>
-@@ -303,6 +304,21 @@ static int bcm2708_i2c_probe(struct platform_device *pdev)
+@@ -303,6 +304,21 @@ static int bcm2708_i2c_probe(struct plat
unsigned long bus_hz;
u32 cdiv;
@@ -198,7 +188,7 @@ index 7d385a3..526129b 100644
regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!regs) {
dev_err(&pdev->dev, "could not get IO memory\n");
-@@ -336,6 +352,7 @@ static int bcm2708_i2c_probe(struct platform_device *pdev)
+@@ -336,6 +352,7 @@ static int bcm2708_i2c_probe(struct plat
adap->dev.parent = &pdev->dev;
adap->nr = pdev->id;
strlcpy(adap->name, dev_name(&pdev->dev), sizeof(adap->name));
@@ -206,7 +196,7 @@ index 7d385a3..526129b 100644
switch (pdev->id) {
case 0:
-@@ -416,10 +433,17 @@ static int bcm2708_i2c_remove(struct platform_device *pdev)
+@@ -416,10 +433,17 @@ static int bcm2708_i2c_remove(struct pla
return 0;
}
@@ -224,6 +214,3 @@ index 7d385a3..526129b 100644
},
.probe = bcm2708_i2c_probe,
.remove = bcm2708_i2c_remove,
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
index 17d60390e5..1bf26e8db3 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
+++ b/target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
@@ -8,8 +8,6 @@ Reduces overhead when using X
drivers/hid/usbhid/hid-core.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
-diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
-index ca6849a..4671921 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -49,7 +49,7 @@
@@ -21,7 +19,7 @@ index ca6849a..4671921 100644
module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
-@@ -1079,8 +1079,12 @@ static int usbhid_start(struct hid_device *hid)
+@@ -1079,8 +1079,12 @@ static int usbhid_start(struct hid_devic
}
/* Change the polling interval of mice. */
@@ -36,6 +34,3 @@ index ca6849a..4671921 100644
ret = -ENOMEM;
if (usb_endpoint_dir_in(endpoint)) {
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch b/target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch
index 9731401bd8..4a8f2fe201 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch
+++ b/target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch
@@ -8,11 +8,9 @@ Hub overcurrent messages are more serious than "debug". Increase loglevel.
drivers/usb/core/hub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index b649fef..5f8d914 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -4923,7 +4923,7 @@ static void port_event(struct usb_hub *hub, int port1)
+@@ -4923,7 +4923,7 @@ static void port_event(struct usb_hub *h
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
u16 status = 0, unused;
@@ -21,6 +19,3 @@ index b649fef..5f8d914 100644
usb_clear_port_feature(hdev, port1,
USB_PORT_FEAT_C_OVER_CURRENT);
msleep(100); /* Cool down */
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch b/target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
index 889a612e20..2c89312291 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
+++ b/target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
@@ -43,9 +43,6 @@ config: Disable VC_SM for now to fix hang with cutdown kernel
create mode 100644 drivers/char/broadcom/vc_sm/vc_vchi_sm.c
create mode 100644 drivers/char/broadcom/vc_sm/vmcs_sm.c
-diff --git a/arch/arm/mach-bcm2708/include/mach/vc_sm_defs.h b/arch/arm/mach-bcm2708/include/mach/vc_sm_defs.h
-new file mode 100644
-index 0000000..c4d5ff7
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vc_sm_defs.h
@@ -0,0 +1,181 @@
@@ -230,9 +227,6 @@ index 0000000..c4d5ff7
+} VC_SM_MSG_UNION_T;
+
+#endif /* __VC_SM_DEFS_H__INCLUDED__ */
-diff --git a/arch/arm/mach-bcm2708/include/mach/vc_sm_knl.h b/arch/arm/mach-bcm2708/include/mach/vc_sm_knl.h
-new file mode 100644
-index 0000000..965f9a2
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vc_sm_knl.h
@@ -0,0 +1,55 @@
@@ -291,9 +285,6 @@ index 0000000..965f9a2
+ long unsigned int *data);
+
+#endif /* __VC_SM_KNL_H__INCLUDED__ */
-diff --git a/arch/arm/mach-bcm2708/include/mach/vc_vchi_sm.h b/arch/arm/mach-bcm2708/include/mach/vc_vchi_sm.h
-new file mode 100644
-index 0000000..5e279f5
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vc_vchi_sm.h
@@ -0,0 +1,82 @@
@@ -379,9 +370,6 @@ index 0000000..5e279f5
+ VC_SM_ACTION_CLEAN_T *action_clean);
+
+#endif /* __VC_VCHI_SM_H__INCLUDED__ */
-diff --git a/arch/arm/mach-bcm2708/include/mach/vmcs_sm_ioctl.h b/arch/arm/mach-bcm2708/include/mach/vmcs_sm_ioctl.h
-new file mode 100644
-index 0000000..42d0eb0
--- /dev/null
+++ b/arch/arm/mach-bcm2708/include/mach/vmcs_sm_ioctl.h
@@ -0,0 +1,233 @@
@@ -618,8 +606,6 @@ index 0000000..42d0eb0
+/* ---- Function Prototypes ---------------------------------------------- */
+
+#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */
-diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig
-index 2d8bd6e..d4eb46d 100644
--- a/drivers/char/broadcom/Kconfig
+++ b/drivers/char/broadcom/Kconfig
@@ -13,3 +13,10 @@ config BCM_VC_CMA
@@ -633,16 +619,11 @@ index 2d8bd6e..d4eb46d 100644
+ help
+ Support for the VC shared memory on the Broadcom reference
+ design. Uses the VCHIQ stack.
-diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile
-index 13c5bca..0bf7fdf 100644
--- a/drivers/char/broadcom/Makefile
+++ b/drivers/char/broadcom/Makefile
@@ -1 +1,2 @@
obj-$(CONFIG_BCM_VC_CMA) += vc_cma/
+obj-$(CONFIG_BCM_VC_SM) += vc_sm/
-diff --git a/drivers/char/broadcom/vc_sm/Makefile b/drivers/char/broadcom/vc_sm/Makefile
-new file mode 100644
-index 0000000..924a66b
--- /dev/null
+++ b/drivers/char/broadcom/vc_sm/Makefile
@@ -0,0 +1,21 @@
@@ -667,9 +648,6 @@ index 0000000..924a66b
+vc-sm-objs := \
+ vmcs_sm.o \
+ vc_vchi_sm.o
-diff --git a/drivers/char/broadcom/vc_sm/vc_vchi_sm.c b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c
-new file mode 100644
-index 0000000..7c6ba1a
--- /dev/null
+++ b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c
@@ -0,0 +1,492 @@
@@ -1165,9 +1143,6 @@ index 0000000..7c6ba1a
+ return vc_vchi_sm_send_msg(handle, VC_SM_MSG_TYPE_ACTION_CLEAN,
+ msg, sizeof(*msg), 0, 0, 0, 0);
+}
-diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c
-new file mode 100644
-index 0000000..da1c523
--- /dev/null
+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c
@@ -0,0 +1,3163 @@
@@ -4334,6 +4309,3 @@ index 0000000..da1c523
+MODULE_AUTHOR("Broadcom");
+MODULE_DESCRIPTION("VideoCore SharedMemory Driver");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch b/target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch
index d46b5ac740..c9c40c8506 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch
+++ b/target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch
@@ -9,11 +9,9 @@ This reverts commit 6ce0d20016925d031f1e24d64302e4c976d7cec6.
arch/arm/include/asm/dma-mapping.h | 18 +-----------------
1 file changed, 1 insertion(+), 17 deletions(-)
-diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h
-index 85738b2..9477f09 100644
--- a/arch/arm/include/asm/dma-mapping.h
+++ b/arch/arm/include/asm/dma-mapping.h
-@@ -58,37 +58,21 @@ static inline int dma_set_mask(struct device *dev, u64 mask)
+@@ -58,37 +58,21 @@ static inline int dma_set_mask(struct de
#ifndef __arch_pfn_to_dma
static inline dma_addr_t pfn_to_dma(struct device *dev, unsigned long pfn)
{
@@ -52,6 +50,3 @@ index 85738b2..9477f09 100644
return (dma_addr_t)__virt_to_bus((unsigned long)(addr));
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch b/target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch
index 0f18fdeeb8..c984412413 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch
@@ -12,8 +12,6 @@ Subject: [PATCH 058/114] MMC: added alternative MMC driver
5 files changed, 1620 insertions(+), 11 deletions(-)
create mode 100644 drivers/mmc/host/bcm2835-mmc.c
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index f15a4b9..c363a10 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -908,6 +908,8 @@ CONFIG_MMC=y
@@ -25,11 +23,9 @@ index f15a4b9..c363a10 100644
CONFIG_MMC_SPI=m
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index b45f327..5ff1299 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -414,6 +414,34 @@ static struct platform_device bcm2708_systemtimer_device = {
+@@ -414,6 +414,34 @@ static struct platform_device bcm2708_sy
},
};
@@ -74,8 +70,6 @@ index b45f327..5ff1299 100644
bcm2708_init_led();
for (i = 0; i < ARRAY_SIZE(bcm2708_alsa_devices); i++)
bcm_register_device(&bcm2708_alsa_devices[i]);
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 1386065..977aeef 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -281,17 +281,6 @@ config MMC_SDHCI_BCM_KONA
@@ -132,11 +126,9 @@ index 1386065..977aeef 100644
config MMC_OMAP
tristate "TI OMAP Multimedia Card Interface support"
depends on ARCH_OMAP
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index b09ecfb..7b17387 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -17,6 +17,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-pxav2.o
+@@ -17,6 +17,7 @@ obj-$(CONFIG_MMC_SDHCI_PXAV2) += sdhci-p
obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o
obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o
obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o
@@ -144,9 +136,6 @@ index b09ecfb..7b17387 100644
obj-$(CONFIG_MMC_WBSD) += wbsd.o
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o
-diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c
-new file mode 100644
-index 0000000..cefba7c
--- /dev/null
+++ b/drivers/mmc/host/bcm2835-mmc.c
@@ -0,0 +1,1557 @@
@@ -1707,6 +1696,3 @@ index 0000000..cefba7c
+MODULE_DESCRIPTION("BCM2835 SDHCI driver");
+MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR("Gellert Weisz");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch b/target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch
index 399228e1b5..7e04d71f60 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch
+++ b/target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch
@@ -12,11 +12,9 @@ Reported/Tested-by: Gellert Weisz <gellert@raspberrypi.org>
drivers/mmc/core/quirks.c | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/drivers/mmc/core/quirks.c b/drivers/mmc/core/quirks.c
-index dd1d1e0..f472082 100644
--- a/drivers/mmc/core/quirks.c
+++ b/drivers/mmc/core/quirks.c
-@@ -95,5 +95,9 @@ void mmc_fixup_device(struct mmc_card *card, const struct mmc_fixup *table)
+@@ -95,5 +95,9 @@ void mmc_fixup_device(struct mmc_card *c
f->vendor_fixup(card, f->data);
}
}
@@ -26,6 +24,3 @@ index dd1d1e0..f472082 100644
+ card->quirks |= MMC_QUIRK_BLK_NO_CMD23;
}
EXPORT_SYMBOL(mmc_fixup_device);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch b/target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch
index 545869ae66..aecb71717b 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch
+++ b/target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch
@@ -14,8 +14,6 @@ a different codec chip (PCM5122), therefore a new driver is necessary.
5 files changed, 148 insertions(+)
create mode 100644 sound/soc/bcm/hifiberry_dacplus.c
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index c363a10..28547eb 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -756,6 +756,7 @@ CONFIG_SND_USB_6FIRE=m
@@ -26,11 +24,9 @@ index c363a10..28547eb 100644
CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 5ff1299..aa62e55 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -645,6 +645,20 @@ static struct platform_device snd_pcm5102a_codec_device = {
+@@ -645,6 +645,20 @@ static struct platform_device snd_pcm510
};
#endif
@@ -63,8 +59,6 @@ index 5ff1299..aa62e55 100644
#if defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) || defined(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI_MODULE)
bcm_register_device(&snd_hifiberry_digi_device);
i2c_register_board_info(1, snd_wm8804_i2c_devices, ARRAY_SIZE(snd_wm8804_i2c_devices));
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index c621a5e..926a82b 100644
--- a/sound/soc/bcm/Kconfig
+++ b/sound/soc/bcm/Kconfig
@@ -26,6 +26,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC
@@ -81,11 +75,9 @@ index c621a5e..926a82b 100644
config SND_BCM2708_SOC_HIFIBERRY_DIGI
tristate "Support for HifiBerry Digi"
depends on SND_BCM2708_SOC_I2S
-diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
-index d597fb0..c02e3a2 100644
--- a/sound/soc/bcm/Makefile
+++ b/sound/soc/bcm/Makefile
-@@ -10,11 +10,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
+@@ -10,11 +10,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
# BCM2708 Machine Support
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
@@ -99,9 +91,6 @@ index d597fb0..c02e3a2 100644
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_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
-diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c
-new file mode 100644
-index 0000000..c63387b
--- /dev/null
+++ b/sound/soc/bcm/hifiberry_dacplus.c
@@ -0,0 +1,119 @@
@@ -224,6 +213,3 @@ index 0000000..c63387b
+MODULE_AUTHOR("Daniel Matuschek <daniel@hifiberry.com>");
+MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+");
+MODULE_LICENSE("GPL v2");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch b/target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
index d1e65b4f9a..cc810ae6dd 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
+++ b/target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
@@ -20,8 +20,6 @@ drivers for the Raspberry Pi I2S subsystem.
create mode 100644 sound/soc/codecs/tas5713.c
create mode 100644 sound/soc/codecs/tas5713.h
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 28547eb..997e1f3 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -758,6 +758,7 @@ CONFIG_SND_BCM2708_SOC_I2S=m
@@ -32,11 +30,9 @@ index 28547eb..997e1f3 100644
CONFIG_SND_BCM2708_SOC_RPI_DAC=m
CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
CONFIG_SND_SIMPLE_CARD=m
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index aa62e55..5f6a1fa 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
-@@ -674,6 +674,20 @@ static struct i2c_board_info __initdata snd_wm8804_i2c_devices[] = {
+@@ -674,6 +674,20 @@ static struct i2c_board_info __initdata
#endif
@@ -70,8 +66,6 @@ index aa62e55..5f6a1fa 100644
#if defined(CONFIG_SND_BCM2708_SOC_RPI_DAC) || defined(CONFIG_SND_BCM2708_SOC_RPI_DAC_MODULE)
bcm_register_device(&snd_rpi_dac_device);
bcm_register_device(&snd_pcm1794a_codec_device);
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index 926a82b..a562ddf 100644
--- a/sound/soc/bcm/Kconfig
+++ b/sound/soc/bcm/Kconfig
@@ -40,6 +40,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DIGI
@@ -88,11 +82,9 @@ index 926a82b..a562ddf 100644
config SND_BCM2708_SOC_RPI_DAC
tristate "Support for RPi-DAC"
depends on SND_BCM2708_SOC_I2S
-diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
-index c02e3a2..17ea2b0 100644
--- a/sound/soc/bcm/Makefile
+++ b/sound/soc/bcm/Makefile
-@@ -12,11 +12,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd-soc-bcm2708-i2s.o
+@@ -12,11 +12,13 @@ obj-$(CONFIG_SND_BCM2708_SOC_I2S) += snd
snd-soc-hifiberry-dac-objs := hifiberry_dac.o
snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o
snd-soc-hifiberry-digi-objs := hifiberry_digi.o
@@ -106,9 +98,6 @@ index c02e3a2..17ea2b0 100644
+obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_AMP) += snd-soc-hifiberry-amp.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
-diff --git a/sound/soc/bcm/hifiberry_amp.c b/sound/soc/bcm/hifiberry_amp.c
-new file mode 100644
-index 0000000..1e87ee0
--- /dev/null
+++ b/sound/soc/bcm/hifiberry_amp.c
@@ -0,0 +1,106 @@
@@ -218,8 +207,6 @@ index 0000000..1e87ee0
+MODULE_AUTHOR("Sebastian Eickhoff <basti.eickhoff@googlemail.com>");
+MODULE_DESCRIPTION("ASoC driver for HiFiBerry-AMP");
+MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index 3c236a6..83c55f8 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -105,6 +105,7 @@ config SND_SOC_ALL_CODECS
@@ -240,8 +227,6 @@ index 3c236a6..83c55f8 100644
config SND_SOC_TLV320AIC23
tristate
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index 2a7f823..ca76a2b 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -103,6 +103,7 @@ snd-soc-sta350-objs := sta350.o
@@ -252,7 +237,7 @@ index 2a7f823..ca76a2b 100644
snd-soc-tlv320aic23-objs := tlv320aic23.o
snd-soc-tlv320aic23-i2c-objs := tlv320aic23-i2c.o
snd-soc-tlv320aic23-spi-objs := tlv320aic23-spi.o
-@@ -278,6 +279,7 @@ obj-$(CONFIG_SND_SOC_STA529) += snd-soc-sta529.o
+@@ -278,6 +279,7 @@ obj-$(CONFIG_SND_SOC_STA529) += snd-so
obj-$(CONFIG_SND_SOC_STAC9766) += snd-soc-stac9766.o
obj-$(CONFIG_SND_SOC_TAS2552) += snd-soc-tas2552.o
obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o
@@ -260,9 +245,6 @@ index 2a7f823..ca76a2b 100644
obj-$(CONFIG_SND_SOC_TLV320AIC23) += snd-soc-tlv320aic23.o
obj-$(CONFIG_SND_SOC_TLV320AIC23_I2C) += snd-soc-tlv320aic23-i2c.o
obj-$(CONFIG_SND_SOC_TLV320AIC23_SPI) += snd-soc-tlv320aic23-spi.o
-diff --git a/sound/soc/codecs/tas5713.c b/sound/soc/codecs/tas5713.c
-new file mode 100644
-index 0000000..a24c1da
--- /dev/null
+++ b/sound/soc/codecs/tas5713.c
@@ -0,0 +1,362 @@
@@ -628,9 +610,6 @@ index 0000000..a24c1da
+MODULE_AUTHOR("Sebastian Eickhoff <basti.eickhoff@googlemail.com>");
+MODULE_DESCRIPTION("ASoC driver for TAS5713");
+MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/codecs/tas5713.h b/sound/soc/codecs/tas5713.h
-new file mode 100644
-index 0000000..8f019e0
--- /dev/null
+++ b/sound/soc/codecs/tas5713.h
@@ -0,0 +1,210 @@
@@ -844,6 +823,3 @@ index 0000000..8f019e0
+
+
+#endif /* _TAS5713_H */
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch
index e8c5281e91..97952690b6 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch
+++ b/target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch
@@ -28,11 +28,9 @@ optimised memcpy/memmove/memcmp/memset implementations.
create mode 100644 arch/arm/lib/memmove_rpi.S
create mode 100644 arch/arm/lib/memset_rpi.S
-diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h
-index cf4f3aa..9fe7780 100644
--- a/arch/arm/include/asm/string.h
+++ b/arch/arm/include/asm/string.h
-@@ -24,6 +24,11 @@ extern void * memchr(const void *, int, __kernel_size_t);
+@@ -24,6 +24,11 @@ extern void * memchr(const void *, int,
#define __HAVE_ARCH_MEMSET
extern void * memset(void *, int, __kernel_size_t);
@@ -44,8 +42,6 @@ index cf4f3aa..9fe7780 100644
extern void __memzero(void *ptr, __kernel_size_t n);
#define memset(p,v,n) \
-diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
-index 4767eb9..bcd43de 100644
--- a/arch/arm/include/asm/uaccess.h
+++ b/arch/arm/include/asm/uaccess.h
@@ -475,6 +475,7 @@ do { \
@@ -56,8 +52,6 @@ index 4767eb9..bcd43de 100644
extern unsigned long __must_check __copy_to_user(void __user *to, const void *from, unsigned long n);
extern unsigned long __must_check __copy_to_user_std(void __user *to, const void *from, unsigned long n);
extern unsigned long __must_check __clear_user(void __user *addr, unsigned long n);
-diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
-index 0573faa..498f5dd 100644
--- a/arch/arm/lib/Makefile
+++ b/arch/arm/lib/Makefile
@@ -6,15 +6,24 @@
@@ -88,9 +82,6 @@ index 0573faa..498f5dd 100644
mmu-y := clear_user.o copy_page.o getuser.o putuser.o
# the code in uaccess.S is not preemption safe and
-diff --git a/arch/arm/lib/arm-mem.h b/arch/arm/lib/arm-mem.h
-new file mode 100644
-index 0000000..5d4bda1
--- /dev/null
+++ b/arch/arm/lib/arm-mem.h
@@ -0,0 +1,159 @@
@@ -253,8 +244,6 @@ index 0000000..5d4bda1
+ .endif
+92:
+.endm
-diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S
-index 66a477a..3faddf7 100644
--- a/arch/arm/lib/copy_from_user.S
+++ b/arch/arm/lib/copy_from_user.S
@@ -84,11 +84,13 @@
@@ -272,9 +261,6 @@ index 66a477a..3faddf7 100644
.pushsection .fixup,"ax"
.align 0
-diff --git a/arch/arm/lib/exports_rpi.c b/arch/arm/lib/exports_rpi.c
-new file mode 100644
-index 0000000..1f82604
--- /dev/null
+++ b/arch/arm/lib/exports_rpi.c
@@ -0,0 +1,37 @@
@@ -315,9 +301,6 @@ index 0000000..1f82604
+#include <linux/module.h>
+
+EXPORT_SYMBOL(memcmp);
-diff --git a/arch/arm/lib/memcmp_rpi.S b/arch/arm/lib/memcmp_rpi.S
-new file mode 100644
-index 0000000..bf6e4ed
--- /dev/null
+++ b/arch/arm/lib/memcmp_rpi.S
@@ -0,0 +1,285 @@
@@ -606,9 +589,6 @@ index 0000000..bf6e4ed
+ .unreq DAT7
+ .unreq OFF
+ENDPROC(memcmp)
-diff --git a/arch/arm/lib/memcpy_rpi.S b/arch/arm/lib/memcpy_rpi.S
-new file mode 100644
-index 0000000..15ff2bd
--- /dev/null
+++ b/arch/arm/lib/memcpy_rpi.S
@@ -0,0 +1,59 @@
@@ -671,9 +651,6 @@ index 0000000..15ff2bd
+ENTRY(memcpy)
+ memcpy 0
+ENDPROC(memcpy)
-diff --git a/arch/arm/lib/memcpymove.h b/arch/arm/lib/memcpymove.h
-new file mode 100644
-index 0000000..d8be584
--- /dev/null
+++ b/arch/arm/lib/memcpymove.h
@@ -0,0 +1,506 @@
@@ -1183,9 +1160,6 @@ index 0000000..d8be584
+ .unreq LAST
+ .unreq OFF
+.endm
-diff --git a/arch/arm/lib/memmove_rpi.S b/arch/arm/lib/memmove_rpi.S
-new file mode 100644
-index 0000000..8b0760c
--- /dev/null
+++ b/arch/arm/lib/memmove_rpi.S
@@ -0,0 +1,61 @@
@@ -1250,9 +1224,6 @@ index 0000000..8b0760c
+ bpl memcpy /* pl works even over -1 - 0 and 0x7fffffff - 0x80000000 boundaries */
+ memcpy 1
+ENDPROC(memmove)
-diff --git a/arch/arm/lib/memset_rpi.S b/arch/arm/lib/memset_rpi.S
-new file mode 100644
-index 0000000..2cde883
--- /dev/null
+++ b/arch/arm/lib/memset_rpi.S
@@ -0,0 +1,121 @@
@@ -1377,8 +1348,6 @@ index 0000000..2cde883
+ .unreq DAT2
+ .unreq DAT3
+ENDPROC(memset)
-diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c
-index 3e58d71..0622891 100644
--- a/arch/arm/lib/uaccess_with_memcpy.c
+++ b/arch/arm/lib/uaccess_with_memcpy.c
@@ -22,6 +22,14 @@
@@ -1396,7 +1365,7 @@ index 3e58d71..0622891 100644
static int
pin_page_for_write(const void __user *_addr, pte_t **ptep, spinlock_t **ptlp)
{
-@@ -85,7 +93,44 @@ pin_page_for_write(const void __user *_addr, pte_t **ptep, spinlock_t **ptlp)
+@@ -85,7 +93,44 @@ pin_page_for_write(const void __user *_a
return 1;
}
@@ -1497,7 +1466,7 @@ index 3e58d71..0622891 100644
unsigned long
__copy_to_user(void __user *to, const void *from, unsigned long n)
{
-@@ -145,10 +238,25 @@ __copy_to_user(void __user *to, const void *from, unsigned long n)
+@@ -145,10 +238,25 @@ __copy_to_user(void __user *to, const vo
* With frame pointer disabled, tail call optimization kicks in
* as well making this test almost invisible.
*/
@@ -1524,6 +1493,3 @@ index 3e58d71..0622891 100644
static unsigned long noinline
__clear_user_memset(void __user *addr, unsigned long n)
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch b/target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch
index 803e6743e6..c986c840fb 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch
+++ b/target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch
@@ -18,8 +18,6 @@ support code with each new device.
sound/soc/bcm/bcm2835-i2s.c | 1 +
6 files changed, 80 insertions(+), 64 deletions(-)
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 5f6a1fa..2c6a29d 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -35,6 +35,7 @@
@@ -39,7 +37,7 @@ index 5f6a1fa..2c6a29d 100644
static void __init bcm2708_init_led(void);
void __init bcm2708_init_irq(void)
-@@ -514,7 +517,6 @@ static struct platform_device bcm2708_alsa_devices[] = {
+@@ -514,7 +517,6 @@ static struct platform_device bcm2708_al
},
};
@@ -47,7 +45,7 @@ index 5f6a1fa..2c6a29d 100644
static struct resource bcm2708_spi_resources[] = {
{
.start = SPI0_BASE,
-@@ -538,7 +540,6 @@ static struct platform_device bcm2708_spi_device = {
+@@ -538,7 +540,6 @@ static struct platform_device bcm2708_sp
.dma_mask = &bcm2708_spi_dmamask,
.coherent_dma_mask = DMA_BIT_MASK(DMA_MASK_BITS_COMMON)},
};
@@ -55,7 +53,7 @@ index 5f6a1fa..2c6a29d 100644
#ifdef CONFIG_BCM2708_SPIDEV
static struct spi_board_info bcm2708_spi_devices[] = {
-@@ -560,7 +561,6 @@ static struct spi_board_info bcm2708_spi_devices[] = {
+@@ -560,7 +561,6 @@ static struct spi_board_info bcm2708_spi
};
#endif
@@ -63,7 +61,7 @@ index 5f6a1fa..2c6a29d 100644
static struct resource bcm2708_bsc0_resources[] = {
{
.start = BSC0_BASE,
-@@ -599,7 +599,6 @@ static struct platform_device bcm2708_bsc1_device = {
+@@ -599,7 +599,6 @@ static struct platform_device bcm2708_bs
.num_resources = ARRAY_SIZE(bcm2708_bsc1_resources),
.resource = bcm2708_bsc1_resources,
};
@@ -71,7 +69,7 @@ index 5f6a1fa..2c6a29d 100644
static struct platform_device bcm2835_hwmon_device = {
.name = "bcm2835_hwmon",
-@@ -609,7 +608,7 @@ static struct platform_device bcm2835_thermal_device = {
+@@ -609,7 +608,7 @@ static struct platform_device bcm2835_th
.name = "bcm2835_thermal",
};
@@ -80,7 +78,7 @@ index 5f6a1fa..2c6a29d 100644
static struct resource bcm2708_i2s_resources[] = {
{
.start = I2S_BASE,
-@@ -731,14 +730,14 @@ int __init bcm_register_device(struct platform_device *pdev)
+@@ -731,14 +730,14 @@ int __init bcm_register_device(struct pl
}
/*
@@ -186,7 +184,7 @@ index 5f6a1fa..2c6a29d 100644
#endif
-@@ -1041,9 +1041,9 @@ static struct platform_device bcm2708_led_device = {
+@@ -1041,9 +1041,9 @@ static struct platform_device bcm2708_le
static void __init bcm2708_init_led(void)
{
@@ -199,8 +197,6 @@ index 5f6a1fa..2c6a29d 100644
}
#else
static inline void bcm2708_init_led(void)
-diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c
-index 10463db..3f9be02 100644
--- a/drivers/dma/bcm2708-dmaengine.c
+++ b/drivers/dma/bcm2708-dmaengine.c
@@ -42,7 +42,7 @@
@@ -212,7 +208,7 @@ index 10463db..3f9be02 100644
/* dma manager */
#include <mach/dma.h>
-@@ -721,7 +721,7 @@ static int bcm2835_dma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
+@@ -721,7 +721,7 @@ static int bcm2835_dma_control(struct dm
}
}
@@ -221,7 +217,7 @@ index 10463db..3f9be02 100644
static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq)
{
struct bcm2835_chan *c;
-@@ -784,7 +784,7 @@ static const struct of_device_id bcm2835_dma_of_match[] = {
+@@ -784,7 +784,7 @@ static const struct of_device_id bcm2835
};
MODULE_DEVICE_TABLE(of, bcm2835_dma_of_match);
@@ -230,7 +226,7 @@ index 10463db..3f9be02 100644
static struct dma_chan *bcm2835_dma_xlate(struct of_phandle_args *spec,
struct of_dma *ofdma)
{
-@@ -817,7 +817,7 @@ static int bcm2835_dma_device_slave_caps(struct dma_chan *dchan,
+@@ -817,7 +817,7 @@ static int bcm2835_dma_device_slave_caps
static int bcm2835_dma_probe(struct platform_device *pdev)
{
struct bcm2835_dmadev *od;
@@ -239,7 +235,7 @@ index 10463db..3f9be02 100644
struct resource *res;
void __iomem *base;
uint32_t chans_available;
-@@ -830,10 +830,10 @@ static int bcm2835_dma_probe(struct platform_device *pdev)
+@@ -830,10 +830,10 @@ static int bcm2835_dma_probe(struct plat
if (!pdev->dev.dma_mask)
pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
@@ -252,7 +248,7 @@ index 10463db..3f9be02 100644
rc = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
if (rc)
-@@ -987,7 +987,7 @@ static int bcm2835_dma_remove(struct platform_device *pdev)
+@@ -987,7 +987,7 @@ static int bcm2835_dma_remove(struct pla
return 0;
}
@@ -261,8 +257,6 @@ index 10463db..3f9be02 100644
static struct platform_driver bcm2835_dma_driver = {
-diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c
-index cefba7c..34d6167 100644
--- a/drivers/mmc/host/bcm2835-mmc.c
+++ b/drivers/mmc/host/bcm2835-mmc.c
@@ -42,7 +42,7 @@
@@ -274,7 +268,7 @@ index cefba7c..34d6167 100644
#define BCM2835_CLOCK_FREQ 250000000
#endif
-@@ -662,7 +662,7 @@ void bcm2835_mmc_send_command(struct bcm2835_host *host, struct mmc_command *cmd
+@@ -662,7 +662,7 @@ void bcm2835_mmc_send_command(struct bcm
}
timeout = jiffies;
@@ -283,7 +277,7 @@ index cefba7c..34d6167 100644
if (!cmd->data && cmd->busy_timeout > 9000)
timeout += DIV_ROUND_UP(cmd->busy_timeout, 1000) * HZ + HZ;
else
-@@ -962,7 +962,7 @@ static irqreturn_t bcm2835_mmc_irq(int irq, void *dev_id)
+@@ -962,7 +962,7 @@ static irqreturn_t bcm2835_mmc_irq(int i
struct bcm2835_host *host = dev_id;
u32 intmask, mask, unexpected = 0;
int max_loops = 16;
@@ -292,7 +286,7 @@ index cefba7c..34d6167 100644
int cardint = 0;
#endif
-@@ -993,7 +993,7 @@ static irqreturn_t bcm2835_mmc_irq(int irq, void *dev_id)
+@@ -993,7 +993,7 @@ static irqreturn_t bcm2835_mmc_irq(int i
mmc_hostname(host->mmc));
if (intmask & SDHCI_INT_CARD_INT) {
@@ -319,7 +313,7 @@ index cefba7c..34d6167 100644
static irqreturn_t bcm2835_mmc_thread_irq(int irq, void *dev_id)
{
struct bcm2835_host *host = dev_id;
-@@ -1288,7 +1288,7 @@ int bcm2835_mmc_add_host(struct bcm2835_host *host)
+@@ -1288,7 +1288,7 @@ int bcm2835_mmc_add_host(struct bcm2835_
/* SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK */
host->timeout_clk = mmc->f_max / 1000;
@@ -328,7 +322,7 @@ index cefba7c..34d6167 100644
mmc->max_busy_timeout = (1 << 27) / host->timeout_clk;
#endif
/* host controller capabilities */
-@@ -1345,7 +1345,7 @@ int bcm2835_mmc_add_host(struct bcm2835_host *host)
+@@ -1345,7 +1345,7 @@ int bcm2835_mmc_add_host(struct bcm2835_
init_waitqueue_head(&host->buf_ready_int);
bcm2835_mmc_init(host, 0);
@@ -346,7 +340,7 @@ index cefba7c..34d6167 100644
struct device_node *node = dev->of_node;
struct clk *clk;
#endif
-@@ -1383,7 +1383,7 @@ static int bcm2835_mmc_probe(struct platform_device *pdev)
+@@ -1383,7 +1383,7 @@ static int bcm2835_mmc_probe(struct plat
int ret;
struct mmc_host *mmc;
@@ -355,7 +349,7 @@ index cefba7c..34d6167 100644
dma_cap_mask_t mask;
#endif
-@@ -1408,7 +1408,7 @@ static int bcm2835_mmc_probe(struct platform_device *pdev)
+@@ -1408,7 +1408,7 @@ static int bcm2835_mmc_probe(struct plat
host->phys_addr = iomem->start + BCM2835_VCMMU_SHIFT;
@@ -364,7 +358,7 @@ index cefba7c..34d6167 100644
#ifndef FORCE_PIO
dma_cap_zero(mask);
/* we don't care about the channel, any would work */
-@@ -1458,7 +1458,7 @@ static int bcm2835_mmc_probe(struct platform_device *pdev)
+@@ -1458,7 +1458,7 @@ static int bcm2835_mmc_probe(struct plat
}
@@ -373,11 +367,9 @@ index cefba7c..34d6167 100644
mmc->caps |= MMC_CAP_4_BIT_DATA;
#else
mmc_of_parse(mmc);
-diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
-index d134710..2e2b6d0 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
-@@ -1083,8 +1083,12 @@ static struct debugfs_blob_wrapper flat_dt_blob;
+@@ -1086,8 +1086,12 @@ static struct debugfs_blob_wrapper flat_
static int __init of_flat_dt_debugfs_export_fdt(void)
{
@@ -391,11 +383,9 @@ index d134710..2e2b6d0 100644
if (!d)
return -ENOENT;
-diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
-index 0b5322a..a3b65dc 100644
--- a/sound/soc/bcm/bcm2708-i2s.c
+++ b/sound/soc/bcm/bcm2708-i2s.c
-@@ -493,15 +493,19 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream,
+@@ -493,15 +493,19 @@ static int bcm2708_i2s_hw_params(struct
divf = dividend & BCM2708_CLK_DIVF_MASK;
}
@@ -424,7 +414,7 @@ index 0b5322a..a3b65dc 100644
/* Setup the frame format */
format = BCM2708_I2S_CHEN;
-@@ -981,12 +985,19 @@ static int bcm2708_i2s_remove(struct platform_device *pdev)
+@@ -981,12 +985,19 @@ static int bcm2708_i2s_remove(struct pla
return 0;
}
@@ -444,11 +434,9 @@ index 0b5322a..a3b65dc 100644
},
};
-diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c
-index 2685fe4..e2c61d1 100644
--- a/sound/soc/bcm/bcm2835-i2s.c
+++ b/sound/soc/bcm/bcm2835-i2s.c
-@@ -861,6 +861,7 @@ static const struct of_device_id bcm2835_i2s_of_match[] = {
+@@ -861,6 +861,7 @@ static const struct of_device_id bcm2835
{ .compatible = "brcm,bcm2835-i2s", },
{},
};
@@ -456,6 +444,3 @@ index 2685fe4..e2c61d1 100644
static struct platform_driver bcm2835_i2s_driver = {
.probe = bcm2835_i2s_probe,
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch b/target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch
index 65fca7c494..b5b10b00c4 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch
+++ b/target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch
@@ -26,11 +26,9 @@ Subject: [PATCH 064/114] Adding Device Tree support for some RPi audio cards
create mode 100644 arch/arm/boot/dts/iqaudio-dac-overlay.dts
create mode 100644 arch/arm/boot/dts/iqaudio-dacplus-overlay.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index c727f71..adaebbb 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
+@@ -54,6 +54,7 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4e
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
@@ -38,7 +36,7 @@ index c727f71..adaebbb 100644
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
-@@ -520,6 +521,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb
+@@ -520,6 +521,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aq
targets += dtbs dtbs_install
targets += $(dtb-y)
@@ -46,9 +44,6 @@ index c727f71..adaebbb 100644
endif
# *.dtb used to be generated in the directory above. Clean out the
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
-new file mode 100644
-index 0000000..983c23f
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
@@ -0,0 +1,81 @@
@@ -133,8 +128,6 @@ index 0000000..983c23f
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_pins>;
+};
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-index 5893122..d8c6d15 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -4,12 +4,18 @@
@@ -179,8 +172,6 @@ index 5893122..d8c6d15 100644
+ pinctrl-names = "default";
+ pinctrl-0 = <&i2s_pins>;
+};
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index 2ca6d63..6b36128 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -7,11 +7,8 @@
@@ -215,9 +206,6 @@ index 2ca6d63..6b36128 100644
spi0: spi@7e204000 {
compatible = "brcm,bcm2708-spi";
reg = <0x7e204000 0x1000>;
-diff --git a/arch/arm/boot/dts/hifiberry-dac-overlay.dts b/arch/arm/boot/dts/hifiberry-dac-overlay.dts
-new file mode 100644
-index 0000000..5e7633a
--- /dev/null
+++ b/arch/arm/boot/dts/hifiberry-dac-overlay.dts
@@ -0,0 +1,34 @@
@@ -255,9 +243,6 @@ index 0000000..5e7633a
+ };
+ };
+};
-diff --git a/arch/arm/boot/dts/hifiberry-dacplus-overlay.dts b/arch/arm/boot/dts/hifiberry-dacplus-overlay.dts
-new file mode 100644
-index 0000000..deb9c62
--- /dev/null
+++ b/arch/arm/boot/dts/hifiberry-dacplus-overlay.dts
@@ -0,0 +1,39 @@
@@ -300,9 +285,6 @@ index 0000000..deb9c62
+ };
+ };
+};
-diff --git a/arch/arm/boot/dts/hifiberry-digi-overlay.dts b/arch/arm/boot/dts/hifiberry-digi-overlay.dts
-new file mode 100644
-index 0000000..d0e0d8a
--- /dev/null
+++ b/arch/arm/boot/dts/hifiberry-digi-overlay.dts
@@ -0,0 +1,39 @@
@@ -345,9 +327,6 @@ index 0000000..d0e0d8a
+ };
+ };
+};
-diff --git a/arch/arm/boot/dts/iqaudio-dac-overlay.dts b/arch/arm/boot/dts/iqaudio-dac-overlay.dts
-new file mode 100644
-index 0000000..ea8173e
--- /dev/null
+++ b/arch/arm/boot/dts/iqaudio-dac-overlay.dts
@@ -0,0 +1,39 @@
@@ -390,9 +369,6 @@ index 0000000..ea8173e
+ };
+ };
+};
-diff --git a/arch/arm/boot/dts/iqaudio-dacplus-overlay.dts b/arch/arm/boot/dts/iqaudio-dacplus-overlay.dts
-new file mode 100644
-index 0000000..735d8ab
--- /dev/null
+++ b/arch/arm/boot/dts/iqaudio-dacplus-overlay.dts
@@ -0,0 +1,39 @@
@@ -435,11 +411,9 @@ index 0000000..735d8ab
+ };
+ };
+};
-diff --git a/sound/soc/bcm/hifiberry_dac.c b/sound/soc/bcm/hifiberry_dac.c
-index 4b70b45..3ab0f47 100644
--- a/sound/soc/bcm/hifiberry_dac.c
+++ b/sound/soc/bcm/hifiberry_dac.c
-@@ -72,6 +72,21 @@ static int snd_rpi_hifiberry_dac_probe(struct platform_device *pdev)
+@@ -72,6 +72,21 @@ static int snd_rpi_hifiberry_dac_probe(s
int ret = 0;
snd_rpi_hifiberry_dac.dev = &pdev->dev;
@@ -461,7 +435,7 @@ index 4b70b45..3ab0f47 100644
ret = snd_soc_register_card(&snd_rpi_hifiberry_dac);
if (ret)
dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", ret);
-@@ -84,10 +99,17 @@ static int snd_rpi_hifiberry_dac_remove(struct platform_device *pdev)
+@@ -84,10 +99,17 @@ static int snd_rpi_hifiberry_dac_remove(
return snd_soc_unregister_card(&snd_rpi_hifiberry_dac);
}
@@ -479,11 +453,9 @@ index 4b70b45..3ab0f47 100644
},
.probe = snd_rpi_hifiberry_dac_probe,
.remove = snd_rpi_hifiberry_dac_remove,
-diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c
-index c63387b..11e4f39 100644
--- a/sound/soc/bcm/hifiberry_dacplus.c
+++ b/sound/soc/bcm/hifiberry_dacplus.c
-@@ -90,6 +90,21 @@ static int snd_rpi_hifiberry_dacplus_probe(struct platform_device *pdev)
+@@ -90,6 +90,21 @@ static int snd_rpi_hifiberry_dacplus_pro
int ret = 0;
snd_rpi_hifiberry_dacplus.dev = &pdev->dev;
@@ -505,7 +477,7 @@ index c63387b..11e4f39 100644
ret = snd_soc_register_card(&snd_rpi_hifiberry_dacplus);
if (ret)
dev_err(&pdev->dev,
-@@ -103,10 +118,17 @@ static int snd_rpi_hifiberry_dacplus_remove(struct platform_device *pdev)
+@@ -103,10 +118,17 @@ static int snd_rpi_hifiberry_dacplus_rem
return snd_soc_unregister_card(&snd_rpi_hifiberry_dacplus);
}
@@ -523,11 +495,9 @@ index c63387b..11e4f39 100644
},
.probe = snd_rpi_hifiberry_dacplus_probe,
.remove = snd_rpi_hifiberry_dacplus_remove,
-diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
-index e4f769d..76af8a6 100644
--- a/sound/soc/bcm/hifiberry_digi.c
+++ b/sound/soc/bcm/hifiberry_digi.c
-@@ -125,6 +125,21 @@ static int snd_rpi_hifiberry_digi_probe(struct platform_device *pdev)
+@@ -125,6 +125,21 @@ static int snd_rpi_hifiberry_digi_probe(
int ret = 0;
snd_rpi_hifiberry_digi.dev = &pdev->dev;
@@ -549,7 +519,7 @@ index e4f769d..76af8a6 100644
ret = snd_soc_register_card(&snd_rpi_hifiberry_digi);
if (ret)
dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", ret);
-@@ -137,10 +152,17 @@ static int snd_rpi_hifiberry_digi_remove(struct platform_device *pdev)
+@@ -137,10 +152,17 @@ static int snd_rpi_hifiberry_digi_remove
return snd_soc_unregister_card(&snd_rpi_hifiberry_digi);
}
@@ -567,11 +537,9 @@ index e4f769d..76af8a6 100644
},
.probe = snd_rpi_hifiberry_digi_probe,
.remove = snd_rpi_hifiberry_digi_remove,
-diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c
-index 8d0e2ae..ee8cd6e 100644
--- a/sound/soc/bcm/iqaudio-dac.c
+++ b/sound/soc/bcm/iqaudio-dac.c
-@@ -76,6 +76,21 @@ static int snd_rpi_iqaudio_dac_probe(struct platform_device *pdev)
+@@ -76,6 +76,21 @@ static int snd_rpi_iqaudio_dac_probe(str
int ret = 0;
snd_rpi_iqaudio_dac.dev = &pdev->dev;
@@ -593,7 +561,7 @@ index 8d0e2ae..ee8cd6e 100644
ret = snd_soc_register_card(&snd_rpi_iqaudio_dac);
if (ret)
dev_err(&pdev->dev,
-@@ -93,6 +108,7 @@ static const struct of_device_id iqaudio_of_match[] = {
+@@ -93,6 +108,7 @@ static const struct of_device_id iqaudio
{ .compatible = "iqaudio,iqaudio-dac", },
{},
};
@@ -601,11 +569,9 @@ index 8d0e2ae..ee8cd6e 100644
static struct platform_driver snd_rpi_iqaudio_dac_driver = {
.driver = {
-diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c
-index 126f1e9..7c6598e 100644
--- a/sound/soc/codecs/pcm5102a.c
+++ b/sound/soc/codecs/pcm5102a.c
-@@ -47,12 +47,19 @@ static int pcm5102a_remove(struct platform_device *pdev)
+@@ -47,12 +47,19 @@ static int pcm5102a_remove(struct platfo
return 0;
}
@@ -625,6 +591,3 @@ index 126f1e9..7c6598e 100644
},
};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch b/target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
index da9219cde0..7f61b338db 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
+++ b/target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 65/99] fdt: Add support for the CONFIG_CMDLINE_EXTEND option
drivers/of/fdt.c | 29 ++++++++++++++++++++++++-----
1 file changed, 24 insertions(+), 5 deletions(-)
-diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
-index 2e2b6d0..badc6a3 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -901,22 +901,38 @@ int __init early_init_dt_scan_chosen(uns
@@ -58,6 +56,3 @@ index 2e2b6d0..badc6a3 100644
#endif /* CONFIG_CMDLINE */
pr_debug("Command line is: %s\n", (char*)data);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch b/target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch
index e4ae6f95e2..9bc653e390 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch
+++ b/target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 066/114] config: Enable device tree
arch/arm/configs/bcmrpi_defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 997e1f3..2cd8227 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -39,6 +39,7 @@ CONFIG_PARTITION_ADVANCED=y
@@ -19,6 +17,3 @@ index 997e1f3..2cd8227 100644
CONFIG_PREEMPT=y
CONFIG_AEABI=y
CONFIG_CLEANCACHE=y
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch b/target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch
index aed53264d5..3a679df24a 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch
+++ b/target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 067/114] DT: Add overrides to enable i2c0, i2c1, spi and i2s
arch/arm/boot/dts/bcm2708-rpi-b.dts | 10 ++++++++++
2 files changed, 20 insertions(+)
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
-index 983c23f..d9886c3 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
@@ -79,3 +79,13 @@
@@ -26,8 +24,6 @@ index 983c23f..d9886c3 100644
+ i2c1 = <&i2c1>,"status";
+ };
+};
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-index d8c6d15..167b22b 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -79,3 +79,13 @@
@@ -44,6 +40,3 @@ index d8c6d15..167b22b 100644
+ i2c1 = <&i2c1>,"status";
+ };
+};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch b/target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch
index 5f6c784cb6..fef1e2a971 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch
+++ b/target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch
@@ -15,9 +15,6 @@ lirc-rpi: Also support pinctrl-bcm2835 in non-DT mode
2 files changed, 183 insertions(+), 28 deletions(-)
create mode 100644 arch/arm/boot/dts/lirc-rpi-overlay.dts
-diff --git a/arch/arm/boot/dts/lirc-rpi-overlay.dts b/arch/arm/boot/dts/lirc-rpi-overlay.dts
-new file mode 100644
-index 0000000..7d5d82b
--- /dev/null
+++ b/arch/arm/boot/dts/lirc-rpi-overlay.dts
@@ -0,0 +1,57 @@
@@ -78,8 +75,6 @@ index 0000000..7d5d82b
+ debug = <&lirc_rpi>,"rpi,debug:0";
+ };
+};
-diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c
-index c688364..cd66ca2 100644
--- a/drivers/staging/media/lirc/lirc_rpi.c
+++ b/drivers/staging/media/lirc/lirc_rpi.c
@@ -40,6 +40,7 @@
@@ -90,7 +85,7 @@ index c688364..cd66ca2 100644
#include <linux/platform_data/bcm2708.h>
-@@ -295,32 +296,117 @@ static int is_right_chip(struct gpio_chip *chip, void *data)
+@@ -295,32 +296,117 @@ static int is_right_chip(struct gpio_chi
return 0;
}
@@ -175,13 +170,8 @@ index c688364..cd66ca2 100644
+ read_bool_property(node, "rpi,invert", &invert);
+
+ read_bool_property(node, "rpi,debug", &debug);
-
-- if (gpio_request(gpio_out_pin, LIRC_DRIVER_NAME " ir/out")) {
-- printk(KERN_ALERT LIRC_DRIVER_NAME
-- ": cant claim gpio pin %d\n", gpio_out_pin);
-- ret = -ENODEV;
-- goto exit_init_port;
- }
++
++ }
+ else
+ {
+ if (gpio_in_pin >= BCM2708_NR_GPIOS ||
@@ -191,12 +181,7 @@ index c688364..cd66ca2 100644
+ ": invalid GPIO pin(s) specified!\n");
+ goto exit_init_port;
+ }
-
-- if (gpio_request(gpio_in_pin, LIRC_DRIVER_NAME " ir/in")) {
-- printk(KERN_ALERT LIRC_DRIVER_NAME
-- ": cant claim gpio pin %d\n", gpio_in_pin);
-- ret = -ENODEV;
-- goto exit_gpio_free_out_pin;
++
+ if (gpio_request(gpio_out_pin, LIRC_DRIVER_NAME " ir/out")) {
+ printk(KERN_ALERT LIRC_DRIVER_NAME
+ ": cant claim gpio pin %d\n", gpio_out_pin);
@@ -214,8 +199,22 @@ index c688364..cd66ca2 100644
+ bcm2708_gpio_setpull(gpiochip, gpio_in_pin, gpio_in_pull);
+ gpiochip->direction_input(gpiochip, gpio_in_pin);
+ gpiochip->direction_output(gpiochip, gpio_out_pin, 1);
- }
++ }
+- if (gpio_request(gpio_out_pin, LIRC_DRIVER_NAME " ir/out")) {
+- printk(KERN_ALERT LIRC_DRIVER_NAME
+- ": cant claim gpio pin %d\n", gpio_out_pin);
+- ret = -ENODEV;
+- goto exit_init_port;
+- }
+-
+- if (gpio_request(gpio_in_pin, LIRC_DRIVER_NAME " ir/in")) {
+- printk(KERN_ALERT LIRC_DRIVER_NAME
+- ": cant claim gpio pin %d\n", gpio_in_pin);
+- ret = -ENODEV;
+- goto exit_gpio_free_out_pin;
+- }
+-
- bcm2708_gpio_setpull(gpiochip, gpio_in_pin, gpio_in_pull);
- gpiochip->direction_input(gpiochip, gpio_in_pin);
- gpiochip->direction_output(gpiochip, gpio_out_pin, 1);
@@ -254,25 +253,26 @@ index c688364..cd66ca2 100644
- if (!lirc_rpi_dev) {
- result = -ENOMEM;
- goto exit_driver_unregister;
+- }
+ node = of_find_compatible_node(NULL, NULL,
+ lirc_rpi_of_match[0].compatible);
-+
+
+- result = platform_device_add(lirc_rpi_dev);
+- if (result)
+- goto exit_device_put;
+ if (node) {
+ /* DT-enabled */
+ lirc_rpi_dev = of_find_device_by_node(node);
+ WARN_ON(lirc_rpi_dev->dev.of_node != node);
+ of_node_put(node);
- }
++ }
+ else {
+ lirc_rpi_dev = platform_device_alloc(LIRC_DRIVER_NAME, 0);
+ if (!lirc_rpi_dev) {
+ result = -ENOMEM;
+ goto exit_driver_unregister;
+ }
-
-- result = platform_device_add(lirc_rpi_dev);
-- if (result)
-- goto exit_device_put;
++
+ result = platform_device_add(lirc_rpi_dev);
+ if (result)
+ goto exit_device_put;
@@ -280,7 +280,7 @@ index c688364..cd66ca2 100644
return 0;
-@@ -577,13 +682,6 @@ static int __init lirc_rpi_init_module(void)
+@@ -577,13 +682,6 @@ static int __init lirc_rpi_init_module(v
if (result)
return result;
@@ -294,6 +294,3 @@ index c688364..cd66ca2 100644
result = init_port();
if (result < 0)
goto exit_rpi;
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch b/target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch
index 9972321998..5a4d65ca68 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch
+++ b/target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch
@@ -17,8 +17,6 @@ Issue: linux #757
arch/arm/boot/dts/bcm2708.dtsi | 11 ++++++++++-
3 files changed, 38 insertions(+), 9 deletions(-)
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
-index d9886c3..95f03ba 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
@@ -7,11 +7,14 @@
@@ -60,8 +58,6 @@ index d9886c3..95f03ba 100644
+ act_led_trigger = <&act_led>,"linux,default-trigger";
};
};
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-index 167b22b..0631f45 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -7,11 +7,14 @@
@@ -103,8 +99,6 @@ index 167b22b..0631f45 100644
+ act_led_trigger = <&act_led>,"linux,default-trigger";
};
};
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index 6b36128..1b56cb5 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -11,7 +11,7 @@
@@ -132,6 +126,3 @@ index 6b36128..1b56cb5 100644
};
clocks {
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch b/target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch
index 772a550880..bf1a63433b 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch
+++ b/target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch
@@ -22,9 +22,6 @@ w1-gpio-pullup-overlay:
create mode 100644 arch/arm/boot/dts/w1-gpio-overlay.dts
create mode 100644 arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
-diff --git a/arch/arm/boot/dts/w1-gpio-overlay.dts b/arch/arm/boot/dts/w1-gpio-overlay.dts
-new file mode 100644
-index 0000000..b2c5ee2
--- /dev/null
+++ b/arch/arm/boot/dts/w1-gpio-overlay.dts
@@ -0,0 +1,37 @@
@@ -65,9 +62,6 @@ index 0000000..b2c5ee2
+ <&w1_pins>,"brcm,pins:0";
+ };
+};
-diff --git a/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
-new file mode 100644
-index 0000000..b3e97c2
--- /dev/null
+++ b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
@@ -0,0 +1,39 @@
@@ -110,6 +104,3 @@ index 0000000..b3e97c2
+ <&w1_pins>,"brcm,pins:4";
+ };
+};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch b/target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch
index 4806d7adfd..47cfbe67ae 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch
+++ b/target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 071/114] config: Enable CONFIG_PPS
arch/arm/configs/bcmrpi_defconfig | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 2cd8227..36aca2b 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -544,6 +544,9 @@ CONFIG_I2C_BCM2708=m
@@ -21,6 +19,3 @@ index 2cd8227..36aca2b 100644
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_ARIZONA=m
CONFIG_W1=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch b/target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch
index c86e6030b0..b2b46b7d01 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch
+++ b/target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 072/114] config: Add CONFIG_IP_NF options
arch/arm/configs/bcmrpi_defconfig | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 36aca2b..665b01e 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -208,13 +208,16 @@ CONFIG_IP_VS_NQ=m
@@ -47,6 +45,3 @@ index 36aca2b..665b01e 100644
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch b/target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch
index 60def26d0b..b43a40cb9e 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch
+++ b/target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 073/114] config: Restore some missing options
arch/arm/configs/bcmrpi_defconfig | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 665b01e..41b90b4 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -484,6 +484,8 @@ CONFIG_AR5523=m
@@ -85,6 +83,3 @@ index 665b01e..41b90b4 100644
CONFIG_CRYPTO_SHA1_ARM=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_TGR192=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch b/target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch
index e042361ed6..0db9e94f9c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch
+++ b/target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch
@@ -11,11 +11,9 @@ reported correctly by a non-zero return code.
sound/soc/codecs/tas5713.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
-diff --git a/sound/soc/codecs/tas5713.c b/sound/soc/codecs/tas5713.c
-index a24c1da..9b27138 100644
--- a/sound/soc/codecs/tas5713.c
+++ b/sound/soc/codecs/tas5713.c
-@@ -182,33 +182,40 @@ static int tas5713_probe(struct snd_soc_codec *codec)
+@@ -182,33 +182,40 @@ static int tas5713_probe(struct snd_soc_
// Reset error
ret = snd_soc_write(codec, TAS5713_ERROR_STATUS, 0x00);
@@ -58,7 +56,7 @@ index a24c1da..9b27138 100644
if (ret < 0) {
printk(KERN_INFO "TAS5713 CODEC PROBE: InitSeq returns: %d\n", ret);
}
-@@ -216,7 +223,7 @@ static int tas5713_probe(struct snd_soc_codec *codec)
+@@ -216,7 +223,7 @@ static int tas5713_probe(struct snd_soc_
// Unmute
ret = snd_soc_write(codec, TAS5713_SYSTEM_CTRL2, 0x00);
@@ -67,6 +65,3 @@ index a24c1da..9b27138 100644
return 0;
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch b/target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch
index 7ccfae1e15..13a395bfbc 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch
+++ b/target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch
@@ -25,8 +25,6 @@ Subject: [PATCH 075/114] scripts/dtc: Update to upstream version with overlay
scripts/dtc/version_gen.h | 2 +-
18 files changed, 1697 insertions(+), 1479 deletions(-)
-diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c
-index ee96a25..27f45f1 100644
--- a/scripts/dtc/checks.c
+++ b/scripts/dtc/checks.c
@@ -53,7 +53,7 @@ struct check {
@@ -38,7 +36,7 @@ index ee96a25..27f45f1 100644
int num_prereqs;
struct check **prereq;
};
-@@ -113,6 +113,7 @@ static inline void check_msg(struct check *c, const char *fmt, ...)
+@@ -113,6 +113,7 @@ static inline void check_msg(struct chec
vfprintf(stderr, fmt, ap);
fprintf(stderr, "\n");
}
@@ -46,7 +44,7 @@ index ee96a25..27f45f1 100644
}
#define FAIL(c, ...) \
-@@ -141,9 +142,9 @@ static void check_nodes_props(struct check *c, struct node *dt, struct node *nod
+@@ -141,9 +142,9 @@ static void check_nodes_props(struct che
check_nodes_props(c, dt, child);
}
@@ -58,7 +56,7 @@ index ee96a25..27f45f1 100644
int i;
assert(!c->inprogress);
-@@ -151,11 +152,11 @@ static int run_check(struct check *c, struct node *dt)
+@@ -151,11 +152,11 @@ static int run_check(struct check *c, st
if (c->status != UNCHECKED)
goto out;
@@ -72,7 +70,7 @@ index ee96a25..27f45f1 100644
if (prq->status != PASSED) {
c->status = PREREQ;
check_msg(c, "Failed prerequisite '%s'",
-@@ -177,9 +178,9 @@ static int run_check(struct check *c, struct node *dt)
+@@ -177,9 +178,9 @@ static int run_check(struct check *c, st
TRACE(c, "\tCompleted, status %d", c->status);
out:
@@ -84,7 +82,7 @@ index ee96a25..27f45f1 100644
return error;
}
-@@ -457,22 +458,93 @@ static void fixup_phandle_references(struct check *c, struct node *dt,
+@@ -457,22 +458,93 @@ static void fixup_phandle_references(str
struct node *node, struct property *prop)
{
struct marker *m = prop->val.markers;
@@ -182,7 +180,7 @@ index ee96a25..27f45f1 100644
}
ERROR(phandle_references, NULL, NULL, fixup_phandle_references, NULL,
&duplicate_node_names, &explicit_phandles);
-@@ -624,11 +696,11 @@ static void check_avoid_default_addr_size(struct check *c, struct node *dt,
+@@ -624,11 +696,11 @@ static void check_avoid_default_addr_siz
if (!reg && !ranges)
return;
@@ -196,7 +194,7 @@ index ee96a25..27f45f1 100644
FAIL(c, "Relying on default #size-cells value for %s",
node->fullpath);
}
-@@ -651,6 +723,45 @@ static void check_obsolete_chosen_interrupt_controller(struct check *c,
+@@ -651,6 +723,45 @@ static void check_obsolete_chosen_interr
}
TREE_WARNING(obsolete_chosen_interrupt_controller, NULL);
@@ -251,7 +249,7 @@ index ee96a25..27f45f1 100644
&always_fail,
};
-@@ -706,15 +819,15 @@ static void disable_warning_error(struct check *c, bool warn, bool error)
+@@ -706,15 +819,15 @@ static void disable_warning_error(struct
c->error = c->error && !error;
}
@@ -272,7 +270,7 @@ index ee96a25..27f45f1 100644
enable = false;
}
-@@ -733,7 +846,7 @@ void parse_checks_option(bool warn, bool error, const char *optarg)
+@@ -733,7 +846,7 @@ void parse_checks_option(bool warn, bool
die("Unrecognized check name \"%s\"\n", name);
}
@@ -281,11 +279,9 @@ index ee96a25..27f45f1 100644
{
struct node *dt = bi->dt;
int i;
-diff --git a/scripts/dtc/data.c b/scripts/dtc/data.c
-index 4a40c5b..8cae237 100644
--- a/scripts/dtc/data.c
+++ b/scripts/dtc/data.c
-@@ -74,7 +74,7 @@ struct data data_copy_escape_string(const char *s, int len)
+@@ -74,7 +74,7 @@ struct data data_copy_escape_string(cons
struct data d;
char *q;
@@ -294,7 +290,7 @@ index 4a40c5b..8cae237 100644
q = d.val;
while (i < len) {
-@@ -250,20 +250,20 @@ struct data data_add_marker(struct data d, enum markertype type, char *ref)
+@@ -250,20 +250,20 @@ struct data data_add_marker(struct data
return data_append_markers(d, m);
}
@@ -320,8 +316,6 @@ index 4a40c5b..8cae237 100644
- return 1;
+ return true;
}
-diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
-index 3b41bfc..dd44ba2 100644
--- a/scripts/dtc/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
@@ -20,7 +20,6 @@
@@ -433,7 +427,7 @@ index 3b41bfc..dd44ba2 100644
yytext[yyleng-1] = '\0';
DPRINT("Ref: %s\n", yytext+2);
yylval.labelref = xstrdup(yytext+2);
-@@ -238,13 +271,24 @@ static void push_input_file(const char *filename)
+@@ -238,13 +271,24 @@ static void push_input_file(const char *
}
@@ -461,11 +455,9 @@ index 3b41bfc..dd44ba2 100644
+
+ treesource_error = true;
}
-diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
-index 2d30f41..1518525 100644
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
-@@ -372,8 +372,8 @@ static void yy_fatal_error (yyconst char msg[] );
+@@ -372,8 +372,8 @@ static void yy_fatal_error (yyconst char
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
@@ -900,7 +892,7 @@ index 2d30f41..1518525 100644
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
-@@ -937,7 +940,7 @@ do_action: /* This label is used only to access EOF actions. */
+@@ -937,7 +940,7 @@ do_action: /* This label is used only to
case 1:
/* rule 1 can match eol */
YY_RULE_SETUP
@@ -1290,7 +1282,7 @@ index 2d30f41..1518525 100644
-@@ -2182,14 +2219,25 @@ static void push_input_file(const char *filename)
+@@ -2182,14 +2219,25 @@ static void push_input_file(const char *
}
@@ -1319,8 +1311,6 @@ index 2d30f41..1518525 100644
+ treesource_error = true;
}
-diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped
-index c8769d5..1938d20 100644
--- a/scripts/dtc/dtc-parser.tab.c_shipped
+++ b/scripts/dtc/dtc-parser.tab.c_shipped
@@ -1,19 +1,19 @@
@@ -1414,7 +1404,7 @@ index c8769d5..1938d20 100644
# endif
# endif
-@@ -105,7 +103,7 @@ static unsigned char eval_char_literal(const char *s);
+@@ -105,7 +103,7 @@ static unsigned char eval_char_literal(c
by #include "dtc-parser.tab.h". */
#ifndef YY_YY_DTC_PARSER_TAB_H_INCLUDED
# define YY_YY_DTC_PARSER_TAB_H_INCLUDED
@@ -1423,7 +1413,7 @@ index c8769d5..1938d20 100644
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
-@@ -113,48 +111,45 @@ static unsigned char eval_char_literal(const char *s);
+@@ -113,48 +111,45 @@ static unsigned char eval_char_literal(c
extern int yydebug;
#endif
@@ -1620,7 +1610,7 @@ index c8769d5..1938d20 100644
# endif
#endif
-@@ -276,25 +286,26 @@ typedef short int yytype_int16;
+@@ -276,24 +286,25 @@ typedef short int yytype_int16;
# define YYUSE(E) /* empty */
#endif
@@ -1653,15 +1643,14 @@ index c8769d5..1938d20 100644
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-+#endif
+ #endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
- #endif
-
++#endif
+
+
#if ! defined yyoverflow || YYERROR_VERBOSE
- /* The parser invokes alloca or malloc; define the necessary symbols. */
@@ -312,8 +323,7 @@ YYID (yyi)
# define alloca _alloca
# else
@@ -1710,7 +1699,7 @@ index c8769d5..1938d20 100644
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
-@@ -368,13 +376,15 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
+@@ -368,13 +376,15 @@ void free (void *); /* INFRINGES ON USER
#if (! defined yyoverflow \
&& (! defined __cplusplus \
@@ -1810,7 +1799,7 @@ index c8769d5..1938d20 100644
static const yytype_uint8 yytranslate[] =
{
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-@@ -481,63 +493,18 @@ static const yytype_uint8 yytranslate[] =
+@@ -481,63 +493,18 @@ static const yytype_uint8 yytranslate[]
};
#if YYDEBUG
@@ -2245,7 +2234,7 @@ index c8769d5..1938d20 100644
#define YYRECOVERING() (!!yyerrstatus)
-@@ -768,27 +725,41 @@ do \
+@@ -768,27 +725,41 @@ do
else \
{ \
yyerror (YY_("syntax error: cannot back up")); \
@@ -2259,15 +2248,13 @@ index c8769d5..1938d20 100644
/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
--
--
++#define YYTERROR 1
++#define YYERRCODE 256
+
+
-/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-+#define YYTERROR 1
-+#define YYERRCODE 256
-+
-+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+ If N is 0, then set CURRENT to the empty location which ends
+ the previous symbol: RHS[0] (always defined). */
@@ -2312,12 +2299,7 @@ index c8769d5..1938d20 100644
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
-+# define YYDPRINTF(Args) \
-+do { \
-+ if (yydebug) \
-+ YYFPRINTF Args; \
-+} while (0)
-
+-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
@@ -2328,16 +2310,19 @@ index c8769d5..1938d20 100644
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
++# define YYDPRINTF(Args) \
++do { \
++ if (yydebug) \
++ YYFPRINTF Args; \
++} while (0)
-+/* YY_LOCATION_PRINT -- Print the location on the stream.
-+ This macro was not mandated originally: define only if we know
-+ we won't break user code: when these are the locations we know. */
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-+#ifndef YY_LOCATION_PRINT
-+# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
++/* YY_LOCATION_PRINT -- Print the location on the stream.
++ This macro was not mandated originally: define only if we know
++ we won't break user code: when these are the locations we know. */
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
@@ -2350,6 +2335,9 @@ index c8769d5..1938d20 100644
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
++#ifndef YY_LOCATION_PRINT
++# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
++
+/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
+
+YY_ATTRIBUTE_UNUSED
@@ -2419,7 +2407,7 @@ index c8769d5..1938d20 100644
# endif
YYUSE (yytype);
}
-@@ -851,24 +856,15 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+@@ -851,24 +856,15 @@ yy_symbol_value_print (yyoutput, yytype,
| Print this symbol on YYOUTPUT. |
`--------------------------------*/
@@ -2450,7 +2438,7 @@ index c8769d5..1938d20 100644
YYFPRINTF (yyoutput, ")");
}
-@@ -877,16 +873,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
+@@ -877,16 +873,8 @@ yy_symbol_print (yyoutput, yytype, yyval
| TOP (included). |
`------------------------------------------------------------------*/
@@ -2489,10 +2477,10 @@ index c8769d5..1938d20 100644
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
- static void
+-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
-#else
--static void
+ static void
-yy_reduce_print (yyvsp, yyrule)
- YYSTYPE *yyvsp;
- int yyrule;
@@ -2576,7 +2564,7 @@ index c8769d5..1938d20 100644
{
char *yyd = yydest;
const char *yys = yysrc;
-@@ -1039,27 +1005,27 @@ yytnamerr (char *yyres, const char *yystr)
+@@ -1039,27 +1005,27 @@ yytnamerr (char *yyres, const char *yyst
char const *yyp = yystr;
for (;;)
@@ -2639,7 +2627,7 @@ index c8769d5..1938d20 100644
/* Arguments of yyformat. */
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
/* Number of reported tokens (one for the "unexpected", one per
-@@ -1094,10 +1060,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+@@ -1094,10 +1060,6 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
int yycount = 0;
/* There are many possibilities here to consider:
@@ -2650,7 +2638,7 @@ index c8769d5..1938d20 100644
- If this state is a consistent state with a default action, then
the only way this function was invoked is if the default action
is an error action. In that case, don't check for expected
-@@ -1147,7 +1109,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+@@ -1147,7 +1109,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
}
yyarg[yycount++] = yytname[yyx];
{
@@ -2659,17 +2647,17 @@ index c8769d5..1938d20 100644
if (! (yysize <= yysize1
&& yysize1 <= YYSTACK_ALLOC_MAXIMUM))
return 2;
-@@ -1214,26 +1176,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+@@ -1214,26 +1176,18 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, c
| Release the memory associated to this symbol. |
`-----------------------------------------------*/
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
- static void
+-static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-#else
--static void
+ static void
-yydestruct (yymsg, yytype, yyvaluep)
- const char *yymsg;
- int yytype;
@@ -3310,7 +3298,8 @@ index c8769d5..1938d20 100644
{
- (yyval.array).data = empty_data;
- (yyval.array).bits = eval_literal((yyvsp[(2) - (3)].literal), 0, 7);
--
++ unsigned long long bits;
+
- if (((yyval.array).bits != 8) &&
- ((yyval.array).bits != 16) &&
- ((yyval.array).bits != 32) &&
@@ -3319,8 +3308,6 @@ index c8769d5..1938d20 100644
- print_error("Only 8, 16, 32 and 64-bit elements"
- " are currently supported");
- (yyval.array).bits = 32;
-+ unsigned long long bits;
-+
+ bits = (yyvsp[-1].integer);
+
+ if ((bits != 8) && (bits != 16) &&
@@ -3754,9 +3741,7 @@ index c8769d5..1938d20 100644
+ }
+#line 2010 "dtc-parser.tab.c" /* yacc.c:1646 */
+ break;
-
--/* Line 1787 of yacc.c */
--#line 2073 "dtc-parser.tab.c"
++
+ case 81:
+#line 471 "dtc-parser.y" /* yacc.c:1646 */
+ {
@@ -3765,7 +3750,9 @@ index c8769d5..1938d20 100644
+ }
+#line 2019 "dtc-parser.tab.c" /* yacc.c:1646 */
+ break;
-+
+
+-/* Line 1787 of yacc.c */
+-#line 2073 "dtc-parser.tab.c"
+
+#line 2023 "dtc-parser.tab.c" /* yacc.c:1646 */
default: break;
@@ -3934,7 +3921,8 @@ index c8769d5..1938d20 100644
-
-
-void print_error(char const *fmt, ...)
--{
++void yyerror(char const *s)
+ {
- va_list va;
-
- va_start(va, fmt);
@@ -3969,8 +3957,7 @@ index c8769d5..1938d20 100644
-}
-
-static unsigned char eval_char_literal(const char *s)
-+void yyerror(char const *s)
- {
+-{
- int i = 1;
- char c = s[0];
-
@@ -3995,8 +3982,6 @@ index c8769d5..1938d20 100644
- return c;
+ ERROR(&yylloc, "%s", s);
}
-diff --git a/scripts/dtc/dtc-parser.tab.h_shipped b/scripts/dtc/dtc-parser.tab.h_shipped
-index b2e7a86..b497956 100644
--- a/scripts/dtc/dtc-parser.tab.h_shipped
+++ b/scripts/dtc/dtc-parser.tab.h_shipped
@@ -1,19 +1,19 @@
@@ -4170,8 +4155,6 @@ index b2e7a86..b497956 100644
-#endif /* ! YYPARSE_PARAM */
#endif /* !YY_YY_DTC_PARSER_TAB_H_INCLUDED */
-diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y
-index f412460..687ccad 100644
--- a/scripts/dtc/dtc-parser.y
+++ b/scripts/dtc/dtc-parser.y
@@ -17,31 +17,28 @@
@@ -4213,7 +4196,7 @@ index f412460..687ccad 100644
uint8_t byte;
struct data data;
-@@ -56,18 +53,19 @@ static unsigned char eval_char_literal(const char *s);
+@@ -56,18 +53,19 @@ static unsigned char eval_char_literal(c
struct node *nodelist;
struct reserve_info *re;
uint64_t integer;
@@ -4236,7 +4219,7 @@ index f412460..687ccad 100644
%token <byte> DT_BYTE
%token <data> DT_STRING
%token <labelref> DT_LABEL
-@@ -76,6 +74,7 @@ static unsigned char eval_char_literal(const char *s);
+@@ -76,6 +74,7 @@ static unsigned char eval_char_literal(c
%type <data> propdata
%type <data> propdataprefix
@@ -4244,7 +4227,7 @@ index f412460..687ccad 100644
%type <re> memreserve
%type <re> memreserves
%type <array> arrayprefix
-@@ -106,10 +105,23 @@ static unsigned char eval_char_literal(const char *s);
+@@ -106,10 +105,23 @@ static unsigned char eval_char_literal(c
%%
sourcefile:
@@ -4314,7 +4297,8 @@ index f412460..687ccad 100644
{
- $$.data = empty_data;
- $$.bits = eval_literal($2, 0, 7);
--
++ unsigned long long bits;
+
- if (($$.bits != 8) &&
- ($$.bits != 16) &&
- ($$.bits != 32) &&
@@ -4323,8 +4307,6 @@ index f412460..687ccad 100644
- print_error("Only 8, 16, 32 and 64-bit elements"
- " are currently supported");
- $$.bits = 32;
-+ unsigned long long bits;
-+
+ bits = $2;
+
+ if ((bits != 8) && (bits != 16) &&
@@ -4388,7 +4370,8 @@ index f412460..687ccad 100644
%%
-void print_error(char const *fmt, ...)
--{
++void yyerror(char const *s)
+ {
- va_list va;
-
- va_start(va, fmt);
@@ -4423,8 +4406,7 @@ index f412460..687ccad 100644
-}
-
-static unsigned char eval_char_literal(const char *s)
-+void yyerror(char const *s)
- {
+-{
- int i = 1;
- char c = s[0];
-
@@ -4449,11 +4431,9 @@ index f412460..687ccad 100644
- return c;
+ ERROR(&yylloc, "%s", s);
}
-diff --git a/scripts/dtc/dtc.c b/scripts/dtc/dtc.c
-index e3c9653..0cbb14c 100644
--- a/scripts/dtc/dtc.c
+++ b/scripts/dtc/dtc.c
-@@ -29,6 +29,7 @@ int reservenum; /* Number of memory reservation slots */
+@@ -29,6 +29,7 @@ int reservenum; /* Number of memory res
int minsize; /* Minimum blob size */
int padsize; /* Additional padding to blob */
int phandle_format = PHANDLE_BOTH; /* Use linux,phandle or phandle properties */
@@ -4461,7 +4441,7 @@ index e3c9653..0cbb14c 100644
static void fill_fullpaths(struct node *tree, const char *prefix)
{
-@@ -48,8 +49,10 @@ static void fill_fullpaths(struct node *tree, const char *prefix)
+@@ -48,8 +49,10 @@ static void fill_fullpaths(struct node *
}
/* Usage related data. */
@@ -4473,7 +4453,7 @@ index e3c9653..0cbb14c 100644
static struct option const usage_long_opts[] = {
{"quiet", no_argument, NULL, 'q'},
{"in-format", a_argument, NULL, 'I'},
-@@ -67,6 +70,7 @@ static struct option const usage_long_opts[] = {
+@@ -67,6 +70,7 @@ static struct option const usage_long_op
{"phandle", a_argument, NULL, 'H'},
{"warning", a_argument, NULL, 'W'},
{"error", a_argument, NULL, 'E'},
@@ -4481,7 +4461,7 @@ index e3c9653..0cbb14c 100644
{"help", no_argument, NULL, 'h'},
{"version", no_argument, NULL, 'v'},
{NULL, no_argument, NULL, 0x0},
-@@ -82,9 +86,9 @@ static const char * const usage_opts_help[] = {
+@@ -82,9 +86,9 @@ static const char * const usage_opts_hel
"\t\tdts - device tree source text\n"
"\t\tdtb - device tree blob\n"
"\t\tasm - assembler source",
@@ -4493,7 +4473,7 @@ index e3c9653..0cbb14c 100644
"\n\tMake the blob at least <bytes> long (extra space)",
"\n\tAdd padding to the blob of <bytes> long (extra space)",
"\n\tSet the physical boot cpu",
-@@ -97,6 +101,7 @@ static const char * const usage_opts_help[] = {
+@@ -97,6 +101,7 @@ static const char * const usage_opts_hel
"\t\tboth - Both \"linux,phandle\" and \"phandle\" properties",
"\n\tEnable/disable warnings (prefix with \"no-\")",
"\n\tEnable/disable errors (prefix with \"no-\")",
@@ -4548,8 +4528,6 @@ index e3c9653..0cbb14c 100644
if (! outf)
die("Couldn't open output file %s: %s\n",
outname, strerror(errno));
-diff --git a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h
-index 264a20c..fe45748 100644
--- a/scripts/dtc/dtc.h
+++ b/scripts/dtc/dtc.h
@@ -38,9 +38,9 @@
@@ -4564,7 +4542,7 @@ index 264a20c..fe45748 100644
#endif
-@@ -54,6 +54,7 @@ extern int reservenum; /* Number of memory reservation slots */
+@@ -54,6 +54,7 @@ extern int reservenum; /* Number of mem
extern int minsize; /* Minimum blob size */
extern int padsize; /* Additional padding to blob */
extern int phandle_format; /* Use linux,phandle or phandle properties */
@@ -4581,7 +4559,7 @@ index 264a20c..fe45748 100644
#define for_each_marker(m) \
for (; (m); (m) = (m)->next)
-@@ -118,7 +119,7 @@ struct data data_append_align(struct data d, int align);
+@@ -118,7 +119,7 @@ struct data data_append_align(struct dat
struct data data_add_marker(struct data d, enum markertype type, char *ref);
@@ -4677,11 +4655,9 @@ index 264a20c..fe45748 100644
/* Flattened trees */
-diff --git a/scripts/dtc/flattree.c b/scripts/dtc/flattree.c
-index 665dad7..f439b40 100644
--- a/scripts/dtc/flattree.c
+++ b/scripts/dtc/flattree.c
-@@ -261,7 +261,13 @@ static void flatten_tree(struct node *tree, struct emitter *emit,
+@@ -261,7 +261,13 @@ static void flatten_tree(struct node *tr
{
struct property *prop;
struct node *child;
@@ -4696,7 +4672,7 @@ index 665dad7..f439b40 100644
if (tree->deleted)
return;
-@@ -276,10 +282,8 @@ static void flatten_tree(struct node *tree, struct emitter *emit,
+@@ -276,10 +282,8 @@ static void flatten_tree(struct node *tr
emit->align(etarget, sizeof(cell_t));
for_each_property(tree, prop) {
@@ -4708,7 +4684,7 @@ index 665dad7..f439b40 100644
nameoff = stringtable_insert(strbuf, prop->name);
-@@ -310,6 +314,139 @@ static void flatten_tree(struct node *tree, struct emitter *emit,
+@@ -310,6 +314,139 @@ static void flatten_tree(struct node *tr
flatten_tree(child, emit, etarget, strbuf, vi);
}
@@ -4848,11 +4824,9 @@ index 665dad7..f439b40 100644
emit->endnode(etarget, tree->labels);
}
-diff --git a/scripts/dtc/fstree.c b/scripts/dtc/fstree.c
-index e464727..6e5878a 100644
--- a/scripts/dtc/fstree.c
+++ b/scripts/dtc/fstree.c
-@@ -37,26 +37,26 @@ static struct node *read_fstree(const char *dirname)
+@@ -37,26 +37,26 @@ static struct node *read_fstree(const ch
tree = build_node(NULL, NULL);
while ((de = readdir(d)) != NULL) {
@@ -4885,7 +4859,7 @@ index e464727..6e5878a 100644
} else {
prop = build_property(xstrdup(de->d_name),
data_copy_file(pfile,
-@@ -67,12 +67,12 @@ static struct node *read_fstree(const char *dirname)
+@@ -67,12 +67,12 @@ static struct node *read_fstree(const ch
} else if (S_ISDIR(st.st_mode)) {
struct node *newchild;
@@ -4900,11 +4874,9 @@ index e464727..6e5878a 100644
}
closedir(d);
-diff --git a/scripts/dtc/livetree.c b/scripts/dtc/livetree.c
-index b61465f..e229b84 100644
--- a/scripts/dtc/livetree.c
+++ b/scripts/dtc/livetree.c
-@@ -511,7 +511,9 @@ struct node *get_node_by_phandle(struct node *tree, cell_t phandle)
+@@ -511,7 +511,9 @@ struct node *get_node_by_phandle(struct
struct node *get_node_by_ref(struct node *tree, const char *ref)
{
@@ -4915,8 +4887,6 @@ index b61465f..e229b84 100644
return get_node_by_path(tree, ref);
else
return get_node_by_label(tree, ref);
-diff --git a/scripts/dtc/srcpos.c b/scripts/dtc/srcpos.c
-index c20bc53..f534c22 100644
--- a/scripts/dtc/srcpos.c
+++ b/scripts/dtc/srcpos.c
@@ -34,7 +34,7 @@ struct search_path {
@@ -4928,7 +4898,7 @@ index c20bc53..f534c22 100644
{
const char *slash = strrchr(path, '/');
-@@ -77,7 +77,7 @@ static char *try_open(const char *dirname, const char *fname, FILE **fp)
+@@ -77,7 +77,7 @@ static char *try_open(const char *dirnam
else
fullname = join_path(dirname, fname);
@@ -5019,8 +4989,6 @@ index c20bc53..f534c22 100644
va_end(va);
}
-diff --git a/scripts/dtc/srcpos.h b/scripts/dtc/srcpos.h
-index 93a2712..f81827b 100644
--- a/scripts/dtc/srcpos.h
+++ b/scripts/dtc/srcpos.h
@@ -21,6 +21,7 @@
@@ -5031,7 +4999,7 @@ index 93a2712..f81827b 100644
struct srcfile_state {
FILE *f;
-@@ -55,7 +56,7 @@ extern struct srcfile_state *current_srcfile; /* = NULL */
+@@ -55,7 +56,7 @@ extern struct srcfile_state *current_src
FILE *srcfile_relative_open(const char *fname, char **fullnamep);
void srcfile_push(const char *fname);
@@ -5040,7 +5008,7 @@ index 93a2712..f81827b 100644
/**
* Add a new directory to the search path for input files
-@@ -106,12 +107,12 @@ extern struct srcpos *srcpos_copy(struct srcpos *pos);
+@@ -106,12 +107,12 @@ extern struct srcpos *srcpos_copy(struct
extern char *srcpos_string(struct srcpos *pos);
extern void srcpos_dump(struct srcpos *pos);
@@ -5059,8 +5027,6 @@ index 93a2712..f81827b 100644
extern void srcpos_set_line(char *f, int l);
-diff --git a/scripts/dtc/treesource.c b/scripts/dtc/treesource.c
-index 5740e69..a146f2d 100644
--- a/scripts/dtc/treesource.c
+++ b/scripts/dtc/treesource.c
@@ -26,12 +26,12 @@ extern int yyparse(void);
@@ -5078,7 +5044,7 @@ index 5740e69..a146f2d 100644
srcfile_push(fname);
yyin = current_srcfile->f;
-@@ -54,9 +54,9 @@ static void write_prefix(FILE *f, int level)
+@@ -54,9 +54,9 @@ static void write_prefix(FILE *f, int le
fputc('\t', f);
}
@@ -5090,7 +5056,7 @@ index 5740e69..a146f2d 100644
|| (c == '\0')
|| strchr("\a\b\t\n\v\f\r", c));
}
-@@ -109,7 +109,7 @@ static void write_propval_string(FILE *f, struct data val)
+@@ -109,7 +109,7 @@ static void write_propval_string(FILE *f
break;
case '\0':
fprintf(f, "\", ");
@@ -5099,7 +5065,7 @@ index 5740e69..a146f2d 100644
if (m->type == LABEL) {
assert(m->offset == (i+1));
fprintf(f, "%s: ", m->ref);
-@@ -119,7 +119,7 @@ static void write_propval_string(FILE *f, struct data val)
+@@ -119,7 +119,7 @@ static void write_propval_string(FILE *f
fprintf(f, "\"");
break;
default:
@@ -5108,7 +5074,7 @@ index 5740e69..a146f2d 100644
fprintf(f, "%c", c);
else
fprintf(f, "\\x%02hhx", c);
-@@ -178,7 +178,7 @@ static void write_propval_bytes(FILE *f, struct data val)
+@@ -178,7 +178,7 @@ static void write_propval_bytes(FILE *f,
m = m->next;
}
@@ -5117,8 +5083,6 @@ index 5740e69..a146f2d 100644
if ((const void *)bp >= propend)
break;
fprintf(f, " ");
-diff --git a/scripts/dtc/util.c b/scripts/dtc/util.c
-index 3055c16..9d65226 100644
--- a/scripts/dtc/util.c
+++ b/scripts/dtc/util.c
@@ -39,11 +39,11 @@
@@ -5136,7 +5100,7 @@ index 3055c16..9d65226 100644
}
char *join_path(const char *path, const char *name)
-@@ -70,7 +70,7 @@ char *join_path(const char *path, const char *name)
+@@ -70,7 +70,7 @@ char *join_path(const char *path, const
return str;
}
@@ -5145,7 +5109,7 @@ index 3055c16..9d65226 100644
{
const char *s = data;
const char *ss, *se;
-@@ -87,7 +87,7 @@ int util_is_printable_string(const void *data, int len)
+@@ -87,7 +87,7 @@ int util_is_printable_string(const void
while (s < se) {
ss = s;
@@ -5154,7 +5118,7 @@ index 3055c16..9d65226 100644
s++;
/* not zero, or not done yet */
-@@ -219,10 +219,6 @@ int utilfdt_read_err_len(const char *filename, char **buffp, off_t *len)
+@@ -219,10 +219,6 @@ int utilfdt_read_err_len(const char *fil
if (offset == bufsize) {
bufsize *= 2;
buf = xrealloc(buf, bufsize);
@@ -5165,7 +5129,7 @@ index 3055c16..9d65226 100644
}
ret = read(fd, &buf[offset], bufsize - offset);
-@@ -375,9 +371,9 @@ void utilfdt_print_data(const char *data, int len)
+@@ -375,9 +371,9 @@ void utilfdt_print_data(const char *data
const uint32_t *cell = (const uint32_t *)data;
printf(" = <");
@@ -5177,8 +5141,6 @@ index 3055c16..9d65226 100644
printf(">");
} else {
printf(" = [");
-diff --git a/scripts/dtc/util.h b/scripts/dtc/util.h
-index 8f40b44..f800b60 100644
--- a/scripts/dtc/util.h
+++ b/scripts/dtc/util.h
@@ -2,6 +2,7 @@
@@ -5189,7 +5151,7 @@ index 8f40b44..f800b60 100644
#include <getopt.h>
/*
-@@ -33,6 +34,7 @@ static inline void __attribute__((noreturn)) die(const char *str, ...)
+@@ -33,6 +34,7 @@ static inline void __attribute__((noretu
va_start(ap, str);
fprintf(stderr, "FATAL ERROR: ");
vfprintf(stderr, str, ap);
@@ -5197,7 +5159,7 @@ index 8f40b44..f800b60 100644
exit(1);
}
-@@ -68,7 +70,7 @@ extern char *join_path(const char *path, const char *name);
+@@ -68,7 +70,7 @@ extern char *join_path(const char *path,
* @param len The string length including terminator
* @return 1 if a valid printable string, 0 if not
*/
@@ -5206,13 +5168,8 @@ index 8f40b44..f800b60 100644
/*
* Parse an escaped character starting at index i in string s. The resulting
-diff --git a/scripts/dtc/version_gen.h b/scripts/dtc/version_gen.h
-index 54d4e90..d644002 100644
--- a/scripts/dtc/version_gen.h
+++ b/scripts/dtc/version_gen.h
@@ -1 +1 @@
-#define DTC_VERSION "DTC 1.4.0-dirty"
+#define DTC_VERSION "DTC 1.4.1-g36c70742"
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch b/target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch
index c28c371532..31facf8b80 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch
+++ b/target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 076/114] BCM2708_DT: Build the overlays as well
arch/arm/boot/dts/Makefile | 13 +++++++++++++
1 file changed, 13 insertions(+)
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index adaebbb..3c7f539 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -55,6 +55,14 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
+@@ -55,6 +55,14 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
@@ -38,6 +36,3 @@ index adaebbb..3c7f539 100644
# *.dtb used to be generated in the directory above. Clean out the
# old build results so people don't accidentally use them.
dtbs: $(addprefix $(obj)/, $(dtb-y))
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch b/target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch
index df9a7df0b9..f49369c000 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch
+++ b/target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch
@@ -10,11 +10,9 @@ This patch add the missing device tree file for the HiFiBerry Amp and Amp+ board
2 files changed, 40 insertions(+)
create mode 100644 arch/arm/boot/dts/hifiberry-amp-overlay.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 3c7f539..4e1ec2d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -58,6 +58,7 @@ dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
+@@ -58,6 +58,7 @@ dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-
dtb-$(CONFIG_BCM2708_DT) += hifiberry-dac-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += hifiberry-dacplus-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += hifiberry-digi-overlay.dtb
@@ -22,9 +20,6 @@ index 3c7f539..4e1ec2d 100644
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dac-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
-diff --git a/arch/arm/boot/dts/hifiberry-amp-overlay.dts b/arch/arm/boot/dts/hifiberry-amp-overlay.dts
-new file mode 100644
-index 0000000..2c81448
--- /dev/null
+++ b/arch/arm/boot/dts/hifiberry-amp-overlay.dts
@@ -0,0 +1,39 @@
@@ -67,6 +62,3 @@ index 0000000..2c81448
+ };
+ };
+};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch b/target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch
index cb40c25e85..feaaa3d12f 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch
+++ b/target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch
@@ -11,11 +11,9 @@ Parameters:
2 files changed, 35 insertions(+)
create mode 100644 arch/arm/boot/dts/pps-gpio-overlay.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 4e1ec2d..4d1224b 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-amp-overlay.dtb
+@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-am
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dac-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
@@ -23,9 +21,6 @@ index 4e1ec2d..4d1224b 100644
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
-diff --git a/arch/arm/boot/dts/pps-gpio-overlay.dts b/arch/arm/boot/dts/pps-gpio-overlay.dts
-new file mode 100644
-index 0000000..40bf0e1
--- /dev/null
+++ b/arch/arm/boot/dts/pps-gpio-overlay.dts
@@ -0,0 +1,34 @@
@@ -63,6 +58,3 @@ index 0000000..40bf0e1
+ <&pps_pins>,"brcm,pins:0";
+ };
+};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch b/target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch
index 5e38fb39b4..3f961918ef 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch
+++ b/target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 079/114] config: Remove STRICT_DEVMEM
arch/arm/configs/bcmrpi_defconfig | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 41b90b4..fd7c022 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -1124,7 +1124,6 @@ CONFIG_FUNCTION_PROFILER=y
@@ -19,6 +17,3 @@ index 41b90b4..fd7c022 100644
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_CRYPTD=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch b/target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch
index aba4202d84..db38f7e2de 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch
+++ b/target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 080/114] I2C: Only register the I2C device for the current
arch/arm/mach-bcm2708/bcm2708.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index 2c6a29d..b36037b 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -93,6 +93,7 @@ static unsigned disk_led_active_low = 1;
@@ -38,12 +36,9 @@ index 2c6a29d..b36037b 100644
#if defined(CONFIG_SND_BCM2708_SOC_I2S) || defined(CONFIG_SND_BCM2708_SOC_I2S_MODULE)
bcm_register_device_dt(&bcm2708_i2s_device);
-@@ -1093,3 +1101,5 @@ module_param(disk_led_active_low, uint, 0644);
+@@ -1093,3 +1101,5 @@ module_param(disk_led_active_low, uint,
module_param(reboot_part, uint, 0644);
module_param(w1_gpio_pin, uint, 0644);
module_param(w1_gpio_pullup, uint, 0644);
+module_param(vc_i2c_override, bool, 0644);
+MODULE_PARM_DESC(vc_i2c_override, "Allow the use of VC's I2C peripheral.");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch b/target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch
index f9cc88f4c5..2d8e7ce9d1 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch
+++ b/target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch
@@ -9,8 +9,6 @@ Subject: [PATCH 081/114] Added support to reserve/enable a GPIO pin to be used
arch/arm/mach-bcm2708/bcm2708.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
-diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c
-index b36037b..762e17c 100644
--- a/arch/arm/mach-bcm2708/bcm2708.c
+++ b/arch/arm/mach-bcm2708/bcm2708.c
@@ -37,6 +37,7 @@
@@ -29,7 +27,7 @@ index b36037b..762e17c 100644
static bool vc_i2c_override = false;
static unsigned use_dt = 0;
-@@ -274,6 +276,19 @@ static struct platform_device w1_device = {
+@@ -274,6 +276,19 @@ static struct platform_device w1_device
};
#endif
@@ -66,7 +64,7 @@ index b36037b..762e17c 100644
#if defined(CONFIG_W1_MASTER_GPIO) || defined(CONFIG_W1_MASTER_GPIO_MODULE)
w1_gpio_pdata.pin = w1_gpio_pin;
w1_gpio_pdata.ext_pullup_enable_pin = w1_gpio_pullup;
-@@ -1101,5 +1126,7 @@ module_param(disk_led_active_low, uint, 0644);
+@@ -1101,5 +1126,7 @@ module_param(disk_led_active_low, uint,
module_param(reboot_part, uint, 0644);
module_param(w1_gpio_pin, uint, 0644);
module_param(w1_gpio_pullup, uint, 0644);
@@ -74,6 +72,3 @@ index b36037b..762e17c 100644
+MODULE_PARM_DESC(pps_gpio_pin, "Set GPIO pin to reserve for PPS");
module_param(vc_i2c_override, bool, 0644);
MODULE_PARM_DESC(vc_i2c_override, "Allow the use of VC's I2C peripheral.");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch b/target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch
index 827b75a014..14f3e3d6dc 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch
+++ b/target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 082/114] BCM2708_DT: Correct length of the peripheral space
arch/arm/boot/dts/bcm2708.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index 1b56cb5..d879316 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -15,7 +15,7 @@
@@ -20,6 +18,3 @@ index 1b56cb5..d879316 100644
intc: interrupt-controller {
compatible = "brcm,bcm2708-armctrl-ic";
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch b/target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch
index 1a1c0d5337..c248472f70 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch
+++ b/target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch
@@ -9,11 +9,9 @@ Subject: [PATCH 083/114] BCM2708_DT: Add pcf8523-rtc overlay
2 files changed, 23 insertions(+)
create mode 100644 arch/arm/boot/dts/pcf8523-rtc-overlay.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 4d1224b..86c6190 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-amp-overlay.dtb
+@@ -62,6 +62,7 @@ dtb-$(CONFIG_BCM2708_DT) += hifiberry-am
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dac-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
@@ -21,9 +19,6 @@ index 4d1224b..86c6190 100644
dtb-$(CONFIG_BCM2708_DT) += pps-gpio-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
-diff --git a/arch/arm/boot/dts/pcf8523-rtc-overlay.dts b/arch/arm/boot/dts/pcf8523-rtc-overlay.dts
-new file mode 100644
-index 0000000..0071f62
--- /dev/null
+++ b/arch/arm/boot/dts/pcf8523-rtc-overlay.dts
@@ -0,0 +1,22 @@
@@ -49,6 +44,3 @@ index 0000000..0071f62
+ };
+ };
+};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch b/target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch
index 2a6f816aed..080f8db104 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch
+++ b/target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch
@@ -11,8 +11,6 @@ is set to 1, the SPDIF oputput will shutdown if no stream is playing.
sound/soc/bcm/hifiberry_digi.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
-diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
-index 76af8a6..b0e3d28 100644
--- a/sound/soc/bcm/hifiberry_digi.c
+++ b/sound/soc/bcm/hifiberry_digi.c
@@ -26,6 +26,11 @@
@@ -27,7 +25,7 @@ index 76af8a6..b0e3d28 100644
static int samplerate=44100;
static int snd_rpi_hifiberry_digi_init(struct snd_soc_pcm_runtime *rtd)
-@@ -38,6 +43,25 @@ static int snd_rpi_hifiberry_digi_init(struct snd_soc_pcm_runtime *rtd)
+@@ -38,6 +43,25 @@ static int snd_rpi_hifiberry_digi_init(s
return 0;
}
@@ -53,7 +51,7 @@ index 76af8a6..b0e3d28 100644
static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
-@@ -70,7 +94,8 @@ static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
+@@ -70,7 +94,8 @@ static int snd_rpi_hifiberry_digi_hw_par
break;
default:
dev_err(substream->pcm->dev,
@@ -63,7 +61,7 @@ index 76af8a6..b0e3d28 100644
}
snd_soc_dai_set_clkdiv(codec_dai, WM8804_MCLK_DIV, mclk_div);
-@@ -96,6 +121,8 @@ static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
+@@ -96,6 +121,8 @@ static int snd_rpi_hifiberry_digi_hw_par
/* machine stream operations */
static struct snd_soc_ops snd_rpi_hifiberry_digi_ops = {
.hw_params = snd_rpi_hifiberry_digi_hw_params,
@@ -72,6 +70,3 @@ index 76af8a6..b0e3d28 100644
};
static struct snd_soc_dai_link snd_rpi_hifiberry_digi_dai[] = {
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch b/target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch
index 3f2703c819..df7f1bb9c2 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch
+++ b/target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 085/114] bugfix for 32kHz sample rate, was missing
sound/soc/bcm/hifiberry_digi.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c
-index b0e3d28..133d51b 100644
--- a/sound/soc/bcm/hifiberry_digi.c
+++ b/sound/soc/bcm/hifiberry_digi.c
-@@ -80,6 +80,7 @@ static int snd_rpi_hifiberry_digi_hw_params(struct snd_pcm_substream *substream,
+@@ -80,6 +80,7 @@ static int snd_rpi_hifiberry_digi_hw_par
samplerate = params_rate(params);
switch (samplerate) {
@@ -19,6 +17,3 @@ index b0e3d28..133d51b 100644
case 44100:
case 48000:
case 88200:
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch b/target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch
index 5da45fc0de..14d7ecb295 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch
+++ b/target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch
@@ -8,11 +8,9 @@ Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
drivers/rtc/rtc-ds1307.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c
-index bb43cf7..dadd4fb 100644
--- a/drivers/rtc/rtc-ds1307.c
+++ b/drivers/rtc/rtc-ds1307.c
-@@ -1241,6 +1241,14 @@ static int ds1307_remove(struct i2c_client *client)
+@@ -1241,6 +1241,14 @@ static int ds1307_remove(struct i2c_clie
return 0;
}
@@ -27,6 +25,3 @@ index bb43cf7..dadd4fb 100644
static struct i2c_driver ds1307_driver = {
.driver = {
.name = "rtc-ds1307",
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch b/target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch
index b8494cf14b..29cd5d8545 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch
+++ b/target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch
@@ -10,11 +10,9 @@ Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
2 files changed, 23 insertions(+)
create mode 100644 arch/arm/boot/dts/ds1307-rtc-overlay.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 86c6190..1b66478 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -64,6 +64,7 @@ dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacplus-overlay.dtb
+@@ -64,6 +64,7 @@ dtb-$(CONFIG_BCM2708_DT) += iqaudio-dacp
dtb-$(CONFIG_BCM2708_DT) += lirc-rpi-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += pcf8523-rtc-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += pps-gpio-overlay.dtb
@@ -22,9 +20,6 @@ index 86c6190..1b66478 100644
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
-diff --git a/arch/arm/boot/dts/ds1307-rtc-overlay.dts b/arch/arm/boot/dts/ds1307-rtc-overlay.dts
-new file mode 100644
-index 0000000..7d27044
--- /dev/null
+++ b/arch/arm/boot/dts/ds1307-rtc-overlay.dts
@@ -0,0 +1,22 @@
@@ -50,6 +45,3 @@ index 0000000..7d27044
+ };
+ };
+};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch b/target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch
index dcdfa0d40e..3818dde9c7 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch
+++ b/target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 088/114] config: Add DVB_USB_DVBSKY
arch/arm/configs/bcmrpi_defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index fd7c022..0453a38 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -715,6 +715,7 @@ CONFIG_DVB_USB_GL861=m
@@ -19,6 +17,3 @@ index fd7c022..0453a38 100644
CONFIG_SMS_USB_DRV=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
CONFIG_DVB_AS102=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch b/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch
index f15f6e1559..6878838590 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch
+++ b/target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch
@@ -118,8 +118,6 @@ Subject: [PATCH 089/114] Add 2709 platform for Raspberry Pi 2
create mode 100755 arch/arm/mach-bcm2709/vc_support.c
create mode 100644 arch/arm/mach-bcm2709/vcio.c
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 0f2287f..1faad0d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -803,6 +803,26 @@ config ARCH_OMAP1
@@ -157,11 +155,9 @@ index 0f2287f..1faad0d 100644
source "arch/arm/mach-zynq/Kconfig"
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index fea9213..2f1376e 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
-@@ -147,6 +147,7 @@ machine-$(CONFIG_ARCH_AT91) += at91
+@@ -152,6 +152,7 @@ machine-$(CONFIG_ARCH_AT91) += at91
machine-$(CONFIG_ARCH_AXXIA) += axxia
machine-$(CONFIG_ARCH_BCM) += bcm
machine-$(CONFIG_ARCH_BCM2708) += bcm2708
@@ -169,11 +165,9 @@ index fea9213..2f1376e 100644
machine-$(CONFIG_ARCH_BERLIN) += berlin
machine-$(CONFIG_ARCH_CLPS711X) += clps711x
machine-$(CONFIG_ARCH_CNS3XXX) += cns3xxx
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 1b66478..605ed38 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -53,6 +53,14 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
+@@ -53,6 +53,14 @@ dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4e
dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
@@ -188,7 +182,7 @@ index 1b66478..605ed38 100644
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b.dtb
dtb-$(CONFIG_BCM2708_DT) += bcm2708-rpi-b-plus.dtb
dtb-$(CONFIG_BCM2708_DT) += hifiberry-dac-overlay.dtb
-@@ -68,6 +76,7 @@ dtb-$(CONFIG_BCM2708_DT) += ds1307-rtc-overlay.dtb
+@@ -68,6 +76,7 @@ dtb-$(CONFIG_BCM2708_DT) += ds1307-rtc-o
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-overlay.dtb
dtb-$(CONFIG_BCM2708_DT) += w1-gpio-pullup-overlay.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
@@ -205,9 +199,6 @@ index 1b66478..605ed38 100644
DTC_FLAGS ?= -@
endif
-diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
-new file mode 100644
-index 0000000..0cdff31
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
@@ -0,0 +1,101 @@
@@ -312,9 +303,6 @@ index 0000000..0cdff31
+ act_led_trigger = <&act_led>,"linux,default-trigger";
+ };
+};
-diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi
-new file mode 100644
-index 0000000..c7e975c
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2709.dtsi
@@ -0,0 +1,159 @@
@@ -477,9 +465,6 @@ index 0000000..c7e975c
+ <&v7_cpu3>, "clock-frequency:0";
+ };
+};
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-new file mode 100644
-index 0000000..70b175c
--- /dev/null
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -0,0 +1,1149 @@
@@ -1632,9 +1617,6 @@ index 0000000..70b175c
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/configs/bcm2709_sdcard_defconfig b/arch/arm/configs/bcm2709_sdcard_defconfig
-new file mode 100644
-index 0000000..287b15d
--- /dev/null
+++ b/arch/arm/configs/bcm2709_sdcard_defconfig
@@ -0,0 +1,129 @@
@@ -1767,9 +1749,6 @@ index 0000000..287b15d
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
+CONFIG_AVERAGE=y
-diff --git a/arch/arm/configs/bcm2709_small_defconfig b/arch/arm/configs/bcm2709_small_defconfig
-new file mode 100644
-index 0000000..9974a9d
--- /dev/null
+++ b/arch/arm/configs/bcm2709_small_defconfig
@@ -0,0 +1,61 @@
@@ -1834,9 +1813,6 @@ index 0000000..9974a9d
+CONFIG_EARLY_PRINTK=y
+CONFIG_CRC16=y
+CONFIG_CRC_ITU_T=y
-diff --git a/arch/arm/configs/bcm2835_sdcard_defconfig b/arch/arm/configs/bcm2835_sdcard_defconfig
-new file mode 100644
-index 0000000..987471b
--- /dev/null
+++ b/arch/arm/configs/bcm2835_sdcard_defconfig
@@ -0,0 +1,176 @@
@@ -2016,9 +1992,6 @@ index 0000000..987471b
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/configs/bcmrpi_sdcard_defconfig b/arch/arm/configs/bcmrpi_sdcard_defconfig
-new file mode 100644
-index 0000000..fef887a
--- /dev/null
+++ b/arch/arm/configs/bcmrpi_sdcard_defconfig
@@ -0,0 +1,176 @@
@@ -2198,9 +2171,6 @@ index 0000000..fef887a
+# CONFIG_CRYPTO_HW is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/configs/bcmrpi_small_defconfig b/arch/arm/configs/bcmrpi_small_defconfig
-new file mode 100644
-index 0000000..3f6e378
--- /dev/null
+++ b/arch/arm/configs/bcmrpi_small_defconfig
@@ -0,0 +1,103 @@
@@ -2307,8 +2277,6 @@ index 0000000..3f6e378
+CONFIG_CRC16=y
+CONFIG_CRC_ITU_T=y
+CONFIG_LIBCRC32C=y
-diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
-index 664eee8..e1885fa 100644
--- a/arch/arm/kernel/head.S
+++ b/arch/arm/kernel/head.S
@@ -673,6 +673,14 @@ ARM_BE8(rev16 ip, ip)
@@ -2326,9 +2294,6 @@ index 664eee8..e1885fa 100644
#endif
ENDPROC(__fixup_a_pv_table)
-diff --git a/arch/arm/mach-bcm2709/Kconfig b/arch/arm/mach-bcm2709/Kconfig
-new file mode 100644
-index 0000000..4fb6e1b
--- /dev/null
+++ b/arch/arm/mach-bcm2709/Kconfig
@@ -0,0 +1,49 @@
@@ -2381,9 +2346,6 @@ index 0000000..4fb6e1b
+ help
+ Binds spidev driver to the SPI0 master
+endmenu
-diff --git a/arch/arm/mach-bcm2709/Makefile b/arch/arm/mach-bcm2709/Makefile
-new file mode 100644
-index 0000000..2a803bb
--- /dev/null
+++ b/arch/arm/mach-bcm2709/Makefile
@@ -0,0 +1,7 @@
@@ -2394,18 +2356,12 @@ index 0000000..2a803bb
+obj-$(CONFIG_MACH_BCM2709) += bcm2709.o armctrl.o vcio.o power.o dma.o
+obj-$(CONFIG_BCM2708_GPIO) += bcm2708_gpio.o
+obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o
-diff --git a/arch/arm/mach-bcm2709/Makefile.boot b/arch/arm/mach-bcm2709/Makefile.boot
-new file mode 100644
-index 0000000..67039c3
--- /dev/null
+++ b/arch/arm/mach-bcm2709/Makefile.boot
@@ -0,0 +1,3 @@
+ zreladdr-y := 0x00008000
+params_phys-y := 0x00000100
+initrd_phys-y := 0x00800000
-diff --git a/arch/arm/mach-bcm2709/armctrl.c b/arch/arm/mach-bcm2709/armctrl.c
-new file mode 100644
-index 0000000..8e69a813
--- /dev/null
+++ b/arch/arm/mach-bcm2709/armctrl.c
@@ -0,0 +1,357 @@
@@ -2766,9 +2722,6 @@ index 0000000..8e69a813
+ armctrl_dt_init();
+ return 0;
+}
-diff --git a/arch/arm/mach-bcm2709/armctrl.h b/arch/arm/mach-bcm2709/armctrl.h
-new file mode 100644
-index 0000000..0aa916e
--- /dev/null
+++ b/arch/arm/mach-bcm2709/armctrl.h
@@ -0,0 +1,27 @@
@@ -2799,9 +2752,6 @@ index 0000000..0aa916e
+ u32 armctrl_sources, u32 resume_sources);
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/bcm2708_gpio.c b/arch/arm/mach-bcm2709/bcm2708_gpio.c
-new file mode 100644
-index 0000000..c1e9254
--- /dev/null
+++ b/arch/arm/mach-bcm2709/bcm2708_gpio.c
@@ -0,0 +1,426 @@
@@ -3231,9 +3181,6 @@ index 0000000..c1e9254
+
+MODULE_DESCRIPTION("Broadcom BCM2708 GPIO driver");
+MODULE_LICENSE("GPL");
-diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
-new file mode 100644
-index 0000000..a1058ad
--- /dev/null
+++ b/arch/arm/mach-bcm2709/bcm2709.c
@@ -0,0 +1,1237 @@
@@ -4474,9 +4421,6 @@ index 0000000..a1058ad
+module_param(reboot_part, uint, 0644);
+module_param(w1_gpio_pin, uint, 0644);
+module_param(w1_gpio_pullup, uint, 0644);
-diff --git a/arch/arm/mach-bcm2709/bcm2709.h b/arch/arm/mach-bcm2709/bcm2709.h
-new file mode 100644
-index 0000000..e339a93
--- /dev/null
+++ b/arch/arm/mach-bcm2709/bcm2709.h
@@ -0,0 +1,49 @@
@@ -4529,9 +4473,6 @@ index 0000000..e339a93
+}
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/clock.c b/arch/arm/mach-bcm2709/clock.c
-new file mode 100644
-index 0000000..4fc556e
--- /dev/null
+++ b/arch/arm/mach-bcm2709/clock.c
@@ -0,0 +1,61 @@
@@ -4596,9 +4537,6 @@ index 0000000..4fc556e
+ return -EIO;
+}
+EXPORT_SYMBOL(clk_set_rate);
-diff --git a/arch/arm/mach-bcm2709/clock.h b/arch/arm/mach-bcm2709/clock.h
-new file mode 100644
-index 0000000..5f9d725
--- /dev/null
+++ b/arch/arm/mach-bcm2709/clock.h
@@ -0,0 +1,24 @@
@@ -4626,9 +4564,6 @@ index 0000000..5f9d725
+struct clk {
+ unsigned long rate;
+};
-diff --git a/arch/arm/mach-bcm2709/delay.S b/arch/arm/mach-bcm2709/delay.S
-new file mode 100644
-index 0000000..06f4780
--- /dev/null
+++ b/arch/arm/mach-bcm2709/delay.S
@@ -0,0 +1,21 @@
@@ -4653,9 +4588,6 @@ index 0000000..06f4780
+ bhi bcm2708_delay
+ mov pc, lr
+ENDPROC(bcm2708_delay)
-diff --git a/arch/arm/mach-bcm2709/dma.c b/arch/arm/mach-bcm2709/dma.c
-new file mode 100644
-index 0000000..a5e58d1
--- /dev/null
+++ b/arch/arm/mach-bcm2709/dma.c
@@ -0,0 +1,409 @@
@@ -5068,9 +5000,6 @@ index 0000000..a5e58d1
+MODULE_LICENSE("GPL");
+
+MODULE_PARM_DESC(dmachans, "Bitmap of DMA channels available to the ARM");
-diff --git a/arch/arm/mach-bcm2709/dmaer.c b/arch/arm/mach-bcm2709/dmaer.c
-new file mode 100755
-index 0000000..5b0f0ff
--- /dev/null
+++ b/arch/arm/mach-bcm2709/dmaer.c
@@ -0,0 +1,886 @@
@@ -5960,9 +5889,6 @@ index 0000000..5b0f0ff
+MODULE_AUTHOR("Simon Hall");
+module_init(dmaer_init);
+module_exit(dmaer_exit);
-diff --git a/arch/arm/mach-bcm2709/include/mach/arm_control.h b/arch/arm/mach-bcm2709/include/mach/arm_control.h
-new file mode 100644
-index 0000000..e346caf
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/arm_control.h
@@ -0,0 +1,493 @@
@@ -6459,9 +6385,6 @@ index 0000000..e346caf
+#define ARM_LOCAL_MAILBOX3_CLR3 HW_REGISTER_RW(ARM_LOCAL_BASE+0x0FC)
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/arm_power.h b/arch/arm/mach-bcm2709/include/mach/arm_power.h
-new file mode 100644
-index 0000000..d3bf245
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/arm_power.h
@@ -0,0 +1,62 @@
@@ -6527,18 +6450,12 @@ index 0000000..d3bf245
+};
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/barriers.h b/arch/arm/mach-bcm2709/include/mach/barriers.h
-new file mode 100644
-index 0000000..723cdad
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/barriers.h
@@ -0,0 +1,3 @@
+#define mb() dsb()
+#define rmb() dsb()
+#define wmb() mb()
-diff --git a/arch/arm/mach-bcm2709/include/mach/clkdev.h b/arch/arm/mach-bcm2709/include/mach/clkdev.h
-new file mode 100644
-index 0000000..04b37a8
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/clkdev.h
@@ -0,0 +1,7 @@
@@ -6549,9 +6466,6 @@ index 0000000..04b37a8
+#define __clk_put(clk) do { } while (0)
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/debug-macro.S b/arch/arm/mach-bcm2709/include/mach/debug-macro.S
-new file mode 100644
-index 0000000..b24304a
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/debug-macro.S
@@ -0,0 +1,22 @@
@@ -6577,9 +6491,6 @@ index 0000000..b24304a
+ .endm
+
+#include <debug/pl01x.S>
-diff --git a/arch/arm/mach-bcm2709/include/mach/dma.h b/arch/arm/mach-bcm2709/include/mach/dma.h
-new file mode 100644
-index 0000000..d03e7b5
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/dma.h
@@ -0,0 +1,94 @@
@@ -6677,9 +6588,6 @@ index 0000000..d03e7b5
+
+
+#endif /* _MACH_BCM2708_DMA_H */
-diff --git a/arch/arm/mach-bcm2709/include/mach/entry-macro.S b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
-new file mode 100644
-index 0000000..d08591b
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
@@ -0,0 +1,123 @@
@@ -6806,9 +6714,6 @@ index 0000000..d08591b
+ dsb
+1030: @ EQ will be set if no irqs pending
+ .endm
-diff --git a/arch/arm/mach-bcm2709/include/mach/frc.h b/arch/arm/mach-bcm2709/include/mach/frc.h
-new file mode 100644
-index 0000000..dd51e07
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/frc.h
@@ -0,0 +1,38 @@
@@ -6850,9 +6755,6 @@ index 0000000..dd51e07
+extern unsigned long long frc_clock_ticks63(void);
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/gpio.h b/arch/arm/mach-bcm2709/include/mach/gpio.h
-new file mode 100644
-index 0000000..7965a97
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/gpio.h
@@ -0,0 +1,17 @@
@@ -6873,9 +6775,6 @@ index 0000000..7965a97
+#define irq_to_gpio(x) ((x) - GPIO_IRQ_START)
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/hardware.h b/arch/arm/mach-bcm2709/include/mach/hardware.h
-new file mode 100644
-index 0000000..c2954e8
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/hardware.h
@@ -0,0 +1,28 @@
@@ -6907,9 +6806,6 @@ index 0000000..c2954e8
+#include <mach/platform.h>
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/io.h b/arch/arm/mach-bcm2709/include/mach/io.h
-new file mode 100644
-index 0000000..e6eb84d
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/io.h
@@ -0,0 +1,27 @@
@@ -6940,9 +6836,6 @@ index 0000000..e6eb84d
+#define __io(a) __typesafe_io(a)
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/irqs.h b/arch/arm/mach-bcm2709/include/mach/irqs.h
-new file mode 100644
-index 0000000..3a883d2
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/irqs.h
@@ -0,0 +1,225 @@
@@ -7171,9 +7064,6 @@ index 0000000..3a883d2
+#define NR_IRQS (BCM2708_ALLOC_IRQS+FREE_IRQS)
+
+#endif /* _BCM2708_IRQS_H_ */
-diff --git a/arch/arm/mach-bcm2709/include/mach/memory.h b/arch/arm/mach-bcm2709/include/mach/memory.h
-new file mode 100644
-index 0000000..7548a52
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/memory.h
@@ -0,0 +1,57 @@
@@ -7234,9 +7124,6 @@ index 0000000..7548a52
+#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - BCM_PLAT_PHYS_OFFSET))
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/platform.h b/arch/arm/mach-bcm2709/include/mach/platform.h
-new file mode 100644
-index 0000000..7157f38
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/platform.h
@@ -0,0 +1,225 @@
@@ -7465,9 +7352,6 @@ index 0000000..7157f38
+#endif
+
+/* END */
-diff --git a/arch/arm/mach-bcm2709/include/mach/power.h b/arch/arm/mach-bcm2709/include/mach/power.h
-new file mode 100644
-index 0000000..52b3b02
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/power.h
@@ -0,0 +1,26 @@
@@ -7497,9 +7381,6 @@ index 0000000..52b3b02
+extern int bcm_power_close(BCM_POWER_HANDLE_T handle);
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/system.h b/arch/arm/mach-bcm2709/include/mach/system.h
-new file mode 100644
-index 0000000..2d0b821
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/system.h
@@ -0,0 +1,38 @@
@@ -7541,9 +7422,6 @@ index 0000000..2d0b821
+}
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/timex.h b/arch/arm/mach-bcm2709/include/mach/timex.h
-new file mode 100644
-index 0000000..64a660c
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/timex.h
@@ -0,0 +1,23 @@
@@ -7570,9 +7448,6 @@ index 0000000..64a660c
+ */
+
+#define CLOCK_TICK_RATE (1000000)
-diff --git a/arch/arm/mach-bcm2709/include/mach/uncompress.h b/arch/arm/mach-bcm2709/include/mach/uncompress.h
-new file mode 100644
-index 0000000..d634813
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/uncompress.h
@@ -0,0 +1,84 @@
@@ -7660,9 +7535,6 @@ index 0000000..d634813
+ * nothing to do
+ */
+#define arch_decomp_wdog()
-diff --git a/arch/arm/mach-bcm2709/include/mach/vc_mem.h b/arch/arm/mach-bcm2709/include/mach/vc_mem.h
-new file mode 100644
-index 0000000..4a4a338
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/vc_mem.h
@@ -0,0 +1,35 @@
@@ -7701,9 +7573,6 @@ index 0000000..4a4a338
+#endif
+
+#endif /* VC_MEM_H */
-diff --git a/arch/arm/mach-bcm2709/include/mach/vc_support.h b/arch/arm/mach-bcm2709/include/mach/vc_support.h
-new file mode 100755
-index 0000000..70e809f
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/vc_support.h
@@ -0,0 +1,69 @@
@@ -7776,9 +7645,6 @@ index 0000000..70e809f
+ unsigned int r0, unsigned int r1, unsigned int r2, unsigned int r3, unsigned int r4, unsigned int r5);
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/vcio.h b/arch/arm/mach-bcm2709/include/mach/vcio.h
-new file mode 100644
-index 0000000..8e11d67
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/vcio.h
@@ -0,0 +1,165 @@
@@ -7947,9 +7813,6 @@ index 0000000..8e11d67
+#define DEVICE_FILE_NAME "vcio"
+
+#endif
-diff --git a/arch/arm/mach-bcm2709/include/mach/vmalloc.h b/arch/arm/mach-bcm2709/include/mach/vmalloc.h
-new file mode 100644
-index 0000000..6aa6826
--- /dev/null
+++ b/arch/arm/mach-bcm2709/include/mach/vmalloc.h
@@ -0,0 +1,20 @@
@@ -7973,9 +7836,6 @@ index 0000000..6aa6826
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#define VMALLOC_END (0xff000000)
-diff --git a/arch/arm/mach-bcm2709/power.c b/arch/arm/mach-bcm2709/power.c
-new file mode 100644
-index 0000000..3421057
--- /dev/null
+++ b/arch/arm/mach-bcm2709/power.c
@@ -0,0 +1,195 @@
@@ -8174,9 +8034,6 @@ index 0000000..3421057
+MODULE_AUTHOR("Phil Elwell");
+MODULE_DESCRIPTION("Interface to BCM2708 power management");
+MODULE_LICENSE("GPL");
-diff --git a/arch/arm/mach-bcm2709/vc_mem.c b/arch/arm/mach-bcm2709/vc_mem.c
-new file mode 100644
-index 0000000..ac578db
--- /dev/null
+++ b/arch/arm/mach-bcm2709/vc_mem.c
@@ -0,0 +1,431 @@
@@ -8611,9 +8468,6 @@ index 0000000..ac578db
+module_param(phys_addr, uint, 0644);
+module_param(mem_size, uint, 0644);
+module_param(mem_base, uint, 0644);
-diff --git a/arch/arm/mach-bcm2709/vc_support.c b/arch/arm/mach-bcm2709/vc_support.c
-new file mode 100755
-index 0000000..0bc41c4
--- /dev/null
+++ b/arch/arm/mach-bcm2709/vc_support.c
@@ -0,0 +1,318 @@
@@ -8935,9 +8789,6 @@ index 0000000..0bc41c4
+ return 1;
+ }
+}
-diff --git a/arch/arm/mach-bcm2709/vcio.c b/arch/arm/mach-bcm2709/vcio.c
-new file mode 100644
-index 0000000..5e43e85
--- /dev/null
+++ b/arch/arm/mach-bcm2709/vcio.c
@@ -0,0 +1,474 @@
@@ -9415,8 +9266,6 @@ index 0000000..5e43e85
+MODULE_DESCRIPTION("ARM I/O to VideoCore processor");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:bcm-mbox");
-diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
-index 22ac2a6..eec2825 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -441,6 +441,7 @@ __v7_setup:
@@ -9427,11 +9276,9 @@ index 22ac2a6..eec2825 100644
ENDPROC(__v7_setup)
.align 2
-diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
-index c9ddd87..bfc397c 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
-@@ -523,6 +523,7 @@ prima2_evb MACH_PRIMA2_EVB PRIMA2_EVB 3103
+@@ -523,6 +523,7 @@ prima2_evb MACH_PRIMA2_EVB PRIMA2_EVB
paz00 MACH_PAZ00 PAZ00 3128
acmenetusfoxg20 MACH_ACMENETUSFOXG20 ACMENETUSFOXG20 3129
bcm2708 MACH_BCM2708 BCM2708 3138
@@ -9439,8 +9286,6 @@ index c9ddd87..bfc397c 100644
ag5evm MACH_AG5EVM AG5EVM 3189
ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206
wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207
-diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
-index 0d2ca0d..77eb7a8 100644
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
@@ -322,7 +322,7 @@ config HW_RANDOM_TPM
@@ -9452,11 +9297,9 @@ index 0d2ca0d..77eb7a8 100644
---help---
This driver provides the kernel-side support for the BCM2708 hardware.
-diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
-index 84b4c8b..8253434 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
-@@ -795,3 +795,39 @@ static void __init arch_timer_mem_init(struct device_node *np)
+@@ -795,3 +795,39 @@ static void __init arch_timer_mem_init(s
}
CLOCKSOURCE_OF_DECLARE(armv7_arch_timer_mem, "arm,armv7-timer-mem",
arch_timer_mem_init);
@@ -9496,8 +9339,6 @@ index 84b4c8b..8253434 100644
+ arch_timer_common_init();
+ return 0;
+}
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index c9b8eb5..5965795 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -332,7 +332,7 @@ config DMA_BCM2835
@@ -9509,8 +9350,6 @@ index c9b8eb5..5965795 100644
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index d30a986..d181d7f 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -361,7 +361,7 @@ config I2C_AXXIA
@@ -9531,8 +9370,6 @@ index d30a986..d181d7f 100644
help
Enabling this option will add BSC (Broadcom Serial Controller)
support for the BCM2708. BSC is a Broadcom proprietary bus compatible
-diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig
-index a8fd172..2cb1a68 100644
--- a/drivers/media/platform/bcm2835/Kconfig
+++ b/drivers/media/platform/bcm2835/Kconfig
@@ -2,7 +2,7 @@
@@ -9544,8 +9381,6 @@ index a8fd172..2cb1a68 100644
---help---
Say Y here to enable camera host interface devices for
Broadcom BCM2835 SoC. This operates over the VCHIQ interface
-diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig
-index 2663933..b94e6cd 100644
--- a/drivers/misc/vc04_services/Kconfig
+++ b/drivers/misc/vc04_services/Kconfig
@@ -1,6 +1,6 @@
@@ -9556,8 +9391,6 @@ index 2663933..b94e6cd 100644
default y
help
Kernel to VideoCore communication interface for the
-diff --git a/drivers/misc/vc04_services/Makefile b/drivers/misc/vc04_services/Makefile
-index 0c82520..8d038fe 100644
--- a/drivers/misc/vc04_services/Makefile
+++ b/drivers/misc/vc04_services/Makefile
@@ -1,5 +1,3 @@
@@ -9571,8 +9404,6 @@ index 0c82520..8d038fe 100644
ccflags-y += -DVCOS_VERIFY_BKPTS=1 -Idrivers/misc/vc04_services -DUSE_VCHIQ_ARM -D__VCCOREVER__=0x04000000
-endif
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 977aeef..b049c15 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -304,7 +304,7 @@ config MMC_SDHCI_ST
@@ -9584,8 +9415,6 @@ index 977aeef..b049c15 100644
help
This selects the MMC Interface on BCM2835.
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index a5238ab..ea70ef0 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -77,7 +77,7 @@ config SPI_ATMEL
@@ -9606,8 +9435,6 @@ index a5238ab..ea70ef0 100644
help
This selects a driver for the Broadcom BCM2708 SPI master (SPI0). This
driver is not compatible with the "Universal SPI Master" or the SPI slave
-diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
-index ff56894..4bcc3b2 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -454,7 +454,7 @@ config RETU_WATCHDOG
@@ -9619,8 +9446,6 @@ index ff56894..4bcc3b2 100644
help
Enables BCM2708 watchdog support.
-diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig
-index f7ceafd..ada7ba2 100644
--- a/sound/arm/Kconfig
+++ b/sound/arm/Kconfig
@@ -41,7 +41,7 @@ config SND_PXA2XX_AC97
@@ -9632,8 +9457,6 @@ index f7ceafd..ada7ba2 100644
select SND_PCM
help
Say Y or M if you want to support BCM2835 Alsa pcm card driver
-diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
-index a562ddf..40d27c1 100644
--- a/sound/soc/bcm/Kconfig
+++ b/sound/soc/bcm/Kconfig
@@ -10,7 +10,7 @@ config SND_BCM2835_SOC_I2S
@@ -9645,6 +9468,3 @@ index a562ddf..40d27c1 100644
select REGMAP_MMIO
select SND_SOC_DMAENGINE_PCM
select SND_SOC_GENERIC_DMAENGINE_PCM
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch b/target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch
index e19e0dac95..b1ab2a2140 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch
+++ b/target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 090/114] bcm2709: Simplify and strip down IRQ handler
arch/arm/mach-bcm2709/include/mach/entry-macro.S | 169 +++++++++++------------
2 files changed, 85 insertions(+), 86 deletions(-)
-diff --git a/arch/arm/include/asm/entry-macro-multi.S b/arch/arm/include/asm/entry-macro-multi.S
-index 469a2b3..9c0a7eb 100644
--- a/arch/arm/include/asm/entry-macro-multi.S
+++ b/arch/arm/include/asm/entry-macro-multi.S
@@ -1,5 +1,6 @@
@@ -27,8 +25,6 @@ index 469a2b3..9c0a7eb 100644
.macro arch_irq_handler, symbol_name
.align 5
-diff --git a/arch/arm/mach-bcm2709/include/mach/entry-macro.S b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
-index d08591b..101d9f1 100644
--- a/arch/arm/mach-bcm2709/include/mach/entry-macro.S
+++ b/arch/arm/mach-bcm2709/include/mach/entry-macro.S
@@ -22,102 +22,99 @@
@@ -43,23 +39,15 @@ index d08591b..101d9f1 100644
- .macro get_irqnr_preamble, base, tmp
- ldr \base, =IO_ADDRESS(ARMCTRL_IC_BASE)
- .endm
-+ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
-
+-
- .macro arch_ret_to_user, tmp1, tmp2
- .endm
-+ /* get core number */
-+ mrc p15, 0, \base, c0, c0, 5
-+ ubfx \base, \base, #0, #2
-
+-
- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
- /* get core number */
- mrc p15, 0, \tmp, c0, c0, 5
- ubfx \tmp, \tmp, #0, #2
-+ /* get core's local interrupt controller */
-+ ldr \irqstat, = __io_address(ARM_LOCAL_IRQ_PENDING0) @ local interrupt source
-+ add \irqstat, \irqstat, \base, lsl #2
-+ ldr \tmp, [\irqstat]
-
+-
- /* get core's local interrupt controller */
- ldr \irqstat, = __io_address(ARM_LOCAL_IRQ_PENDING0) @ local interrupt source
- add \irqstat, \irqstat, \tmp, lsl #2
@@ -69,10 +57,7 @@ index d08591b..101d9f1 100644
- /* ignore mailbox interrupts */
- bics \tmp, #0xf0
- beq 1005f
-+ /* test for mailbox0 (IPI) interrupt */
-+ tst \tmp, #0x10
-+ beq 1030f
-
+-
- @ For non-zero x, LSB(x) = 31 - CLZ(x^(x-1))
- @ N.B. CLZ is an ARM5 instruction.
- mov \irqnr, #(ARM_IRQ_LOCAL_BASE + 31)
@@ -85,31 +70,14 @@ index d08591b..101d9f1 100644
- /* get core number */
- mrc p15, 0, \tmp, c0, c0, 5
- ubfx \tmp, \tmp, #0, #2
-+ /* get core's mailbox interrupt control */
-+ ldr \irqstat, = __io_address(ARM_LOCAL_MAILBOX0_CLR0) @ mbox_clr
-+ add \irqstat, \irqstat, \base, lsl #4
-+ ldr \tmp, [\irqstat]
-+ clz \tmp, \tmp
-+ rsb \irqnr, \tmp, #31
-+ mov \tmp, #1
-+ lsl \tmp, \irqnr
-+ str \tmp, [\irqstat] @ clear interrupt source
-+ dsb
-+ mov r1, sp
-+ adr lr, BSYM(1b)
-+ b do_IPI
-
+-
- cmp \tmp, #1
- beq 1020f
- cmp \tmp, #2
- beq 1020f
- cmp \tmp, #3
- beq 1020f
-+1030:
-+ /* check gpu interrupt */
-+ tst \tmp, #0x100
-+ beq 1040f
-
+-
- /* get masked status */
- ldr \irqstat, [\base, #(ARM_IRQ_PEND0 - ARMCTRL_IC_BASE)]
- mov \irqnr, #(ARM_IRQ0_BASE + 31)
@@ -117,15 +85,7 @@ index d08591b..101d9f1 100644
- /* clear bits 8 and 9, and test */
- bics \irqstat, \irqstat, #0x300
- bne 1010f
-+ ldr \base, =IO_ADDRESS(ARMCTRL_IC_BASE)
-+ /* get masked status */
-+ ldr \irqstat, [\base, #(ARM_IRQ_PEND0 - ARMCTRL_IC_BASE)]
-+ mov \irqnr, #(ARM_IRQ0_BASE + 31)
-+ and \tmp, \irqstat, #0x300 @ save bits 8 and 9
-+ /* clear bits 8 and 9, and test */
-+ bics \irqstat, \irqstat, #0x300
-+ bne 1010f
-
+-
- tst \tmp, #0x100
- ldrne \irqstat, [\base, #(ARM_IRQ_PEND1 - ARMCTRL_IC_BASE)]
- movne \irqnr, #(ARM_IRQ1_BASE + 31)
@@ -141,6 +101,49 @@ index d08591b..101d9f1 100644
- bicne \irqstat, #((1<<21) | (1<<22) | (1<<23) | (1<<24) | (1<<25))
- bicne \irqstat, #((1<<30))
- beq 1020f
++ .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
+
++ /* get core number */
++ mrc p15, 0, \base, c0, c0, 5
++ ubfx \base, \base, #0, #2
++
++ /* get core's local interrupt controller */
++ ldr \irqstat, = __io_address(ARM_LOCAL_IRQ_PENDING0) @ local interrupt source
++ add \irqstat, \irqstat, \base, lsl #2
++ ldr \tmp, [\irqstat]
++
++ /* test for mailbox0 (IPI) interrupt */
++ tst \tmp, #0x10
++ beq 1030f
++
++ /* get core's mailbox interrupt control */
++ ldr \irqstat, = __io_address(ARM_LOCAL_MAILBOX0_CLR0) @ mbox_clr
++ add \irqstat, \irqstat, \base, lsl #4
++ ldr \tmp, [\irqstat]
++ clz \tmp, \tmp
++ rsb \irqnr, \tmp, #31
++ mov \tmp, #1
++ lsl \tmp, \irqnr
++ str \tmp, [\irqstat] @ clear interrupt source
++ dsb
++ mov r1, sp
++ adr lr, BSYM(1b)
++ b do_IPI
++
++1030:
++ /* check gpu interrupt */
++ tst \tmp, #0x100
++ beq 1040f
++
++ ldr \base, =IO_ADDRESS(ARMCTRL_IC_BASE)
++ /* get masked status */
++ ldr \irqstat, [\base, #(ARM_IRQ_PEND0 - ARMCTRL_IC_BASE)]
++ mov \irqnr, #(ARM_IRQ0_BASE + 31)
++ and \tmp, \irqstat, #0x300 @ save bits 8 and 9
++ /* clear bits 8 and 9, and test */
++ bics \irqstat, \irqstat, #0x300
++ bne 1010f
++
+ tst \tmp, #0x100
+ ldrne \irqstat, [\base, #(ARM_IRQ_PEND1 - ARMCTRL_IC_BASE)]
+ movne \irqnr, #(ARM_IRQ1_BASE + 31)
@@ -148,7 +151,7 @@ index d08591b..101d9f1 100644
+ bicne \irqstat, #((1<<7) | (1<<9) | (1<<10))
+ bicne \irqstat, #((1<<18) | (1<<19))
+ bne 1010f
-
++
+ tst \tmp, #0x200
+ ldrne \irqstat, [\base, #(ARM_IRQ_PEND2 - ARMCTRL_IC_BASE)]
+ movne \irqnr, #(ARM_IRQ2_BASE + 31)
@@ -172,8 +175,7 @@ index d08591b..101d9f1 100644
+1040:
+ cmp \tmp, #0
+ beq 1020f
-
--1020: @ EQ will be set if no irqs pending
++
+ /* handle local (e.g. timer) interrupts */
+ @ For non-zero x, LSB(x) = 31 - CLZ(x^(x-1))
+ mov \irqnr, #(ARM_IRQ_LOCAL_BASE + 31)
@@ -189,10 +191,11 @@ index d08591b..101d9f1 100644
+ adr lr, BSYM(1b)
+ b asm_do_IRQ
-- .endm
-+1020: @ EQ will be set if no irqs pending
+ 1020: @ EQ will be set if no irqs pending
+ .endm
+- .endm
+-
- .macro test_for_ipi, irqnr, irqstat, base, tmp
- /* get core number */
- mrc p15, 0, \tmp, c0, c0, 5
@@ -217,6 +220,3 @@ index d08591b..101d9f1 100644
+ .macro arch_irq_handler_default
+1: get_irqnr_and_base r0, r2, r6, lr
+ .endm
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch b/target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch
index 3798b638f4..9d1bb32dbf 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch
+++ b/target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 091/114] dwc_otg: FIQ support on SMP. Set up FIQ stack and
drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 96 ++++++++++++++--------------
1 file changed, 49 insertions(+), 47 deletions(-)
-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 98e1dc5..4d8dd95 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
@@ -397,7 +397,55 @@ static struct fiq_handler fh = {
@@ -39,12 +37,12 @@ index 98e1dc5..4d8dd95 100644
+ } else {
+ regs.ARM_fp = (long) dwc_otg_fiq_nop;
+ }
-
++
+ regs.ARM_sp = (long) dwc_otg_hcd->fiq_stack + (sizeof(struct fiq_stack) - 4);
+
+// __show_regs(&regs);
+ set_fiq_regs(&regs);
-+
+
+ //Set the mphi periph to the required registers
+ dwc_otg_hcd->fiq_state->mphi_regs.base = otg_dev->os_dep.mphi_base;
+ dwc_otg_hcd->fiq_state->mphi_regs.ctrl = otg_dev->os_dep.mphi_base + 0x4c;
@@ -130,6 +128,3 @@ index 98e1dc5..4d8dd95 100644
otg_dev->hcd->otg_dev = otg_dev;
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch b/target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch
index 0562a8cf0f..19bb50a17c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch
+++ b/target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch
@@ -19,11 +19,9 @@ cores.
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 9 ++++-
6 files changed, 88 insertions(+), 22 deletions(-)
-diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
-index 5c50a8b..b802042 100644
--- a/drivers/usb/host/dwc_common_port/dwc_common_linux.c
+++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c
-@@ -580,13 +580,7 @@ void DWC_WRITE_REG64(uint64_t volatile *reg, uint64_t value)
+@@ -580,13 +580,7 @@ void DWC_WRITE_REG64(uint64_t volatile *
void DWC_MODIFY_REG32(uint32_t volatile *reg, uint32_t clear_mask, uint32_t set_mask)
{
@@ -37,11 +35,9 @@ index 5c50a8b..b802042 100644
}
#if 0
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
-index 6a32c5c..e40060f 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_cil.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c
-@@ -2244,9 +2244,7 @@ void dwc_otg_core_host_init(dwc_otg_core_if_t * core_if)
+@@ -2244,9 +2244,7 @@ void dwc_otg_core_host_init(dwc_otg_core
*/
void dwc_otg_hc_init(dwc_otg_core_if_t * core_if, dwc_hc_t * hc)
{
@@ -51,7 +47,7 @@ index 6a32c5c..e40060f 100644
hcchar_data_t hcchar;
hcsplt_data_t hcsplt;
-@@ -2348,14 +2346,6 @@ void dwc_otg_hc_init(dwc_otg_core_if_t * core_if, dwc_hc_t * hc)
+@@ -2348,14 +2346,6 @@ void dwc_otg_hc_init(dwc_otg_core_if_t *
}
DWC_WRITE_REG32(&hc_regs->hcintmsk, hc_intr_mask.d32);
@@ -66,11 +62,9 @@ index 6a32c5c..e40060f 100644
/*
* Program the HCCHARn register with the endpoint characteristics for
* the current transfer.
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-index 284f902..84618a5 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-@@ -75,6 +75,46 @@ void notrace _fiq_print(enum fiq_debug_level dbg_lvl, volatile struct fiq_state
+@@ -75,6 +75,46 @@ void notrace _fiq_print(enum fiq_debug_l
}
/**
@@ -117,7 +111,7 @@ index 284f902..84618a5 100644
* fiq_fsm_restart_channel() - Poke channel enable bit for a split transaction
* @channel: channel to re-enable
*/
-@@ -1142,6 +1182,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_state *state, int num_channels)
+@@ -1142,6 +1182,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_
gintsts_handled.d32 = 0;
haint_handled.d32 = 0;
@@ -125,7 +119,7 @@ index 284f902..84618a5 100644
gintsts.d32 = FIQ_READ(state->dwc_regs_base + GINTSTS);
gintmsk.d32 = FIQ_READ(state->dwc_regs_base + GINTMSK);
gintsts.d32 &= gintmsk.d32;
-@@ -1231,7 +1272,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_state *state, int num_channels)
+@@ -1231,7 +1272,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_
}
state->fiq_done++;
@@ -134,7 +128,7 @@ index 284f902..84618a5 100644
}
-@@ -1253,6 +1294,7 @@ void notrace dwc_otg_fiq_nop(struct fiq_state *state)
+@@ -1253,6 +1294,7 @@ void notrace dwc_otg_fiq_nop(struct fiq_
gintmsk_data_t gintmsk;
hfnum_data_t hfnum;
@@ -142,15 +136,13 @@ index 284f902..84618a5 100644
hfnum.d32 = FIQ_READ(state->dwc_regs_base + HFNUM);
gintsts.d32 = FIQ_READ(state->dwc_regs_base + GINTSTS);
gintmsk.d32 = FIQ_READ(state->dwc_regs_base + GINTMSK);
-@@ -1290,5 +1332,5 @@ void notrace dwc_otg_fiq_nop(struct fiq_state *state)
+@@ -1290,5 +1332,5 @@ void notrace dwc_otg_fiq_nop(struct fiq_
}
state->fiq_done++;
- mb();
+ fiq_fsm_spin_unlock(&state->lock);
}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
-index 5c7707f..8455324 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h
@@ -120,7 +120,6 @@ typedef struct {
@@ -197,11 +189,9 @@ index 5c7707f..8455324 100644
extern int fiq_fsm_too_late(struct fiq_state *st, int n);
extern int fiq_fsm_tt_in_use(struct fiq_state *st, int num_channels, int n);
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-index 68d4f3b..124ac16 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-@@ -1184,6 +1184,9 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1184,6 +1184,9 @@ static void assign_and_init_hc(dwc_otg_h
dwc_otg_qtd_t *qtd;
dwc_otg_hcd_urb_t *urb;
void* ptr = NULL;
@@ -211,7 +201,7 @@ index 68d4f3b..124ac16 100644
qtd = DWC_CIRCLEQ_FIRST(&qh->qtd_list);
-@@ -1409,6 +1412,20 @@ static void assign_and_init_hc(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -1409,6 +1412,20 @@ static void assign_and_init_hc(dwc_otg_h
hc->desc_list_addr = qh->desc_list_dma;
dwc_otg_hc_init(hcd->core_if, hc);
@@ -232,7 +222,7 @@ index 68d4f3b..124ac16 100644
hc->qh = qh;
}
-@@ -1659,6 +1676,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1659,6 +1676,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_o
fiq_print(FIQDBG_INT, hcd->fiq_state, "%08x", st->hcdma_copy.d32);
hfnum.d32 = DWC_READ_REG32(&hcd->core_if->host_if->host_global_regs->hfnum);
local_fiq_disable();
@@ -240,7 +230,7 @@ index 68d4f3b..124ac16 100644
DWC_WRITE_REG32(&hc_regs->hctsiz, st->hctsiz_copy.d32);
DWC_WRITE_REG32(&hc_regs->hcsplt, st->hcsplt_copy.d32);
DWC_WRITE_REG32(&hc_regs->hcdma, st->hcdma_copy.d32);
-@@ -1676,6 +1694,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1676,6 +1694,7 @@ int fiq_fsm_queue_isoc_transaction(dwc_o
}
mb();
st->hcchar_copy.b.chen = 0;
@@ -248,7 +238,7 @@ index 68d4f3b..124ac16 100644
local_fiq_enable();
return 0;
}
-@@ -1811,7 +1830,7 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1811,7 +1830,7 @@ int fiq_fsm_queue_split_transaction(dwc_
DWC_WRITE_REG32(&hc_regs->hcintmsk, st->hcintmsk_copy.d32);
local_fiq_disable();
@@ -257,7 +247,7 @@ index 68d4f3b..124ac16 100644
if (hc->ep_type & 0x1) {
hfnum.d32 = DWC_READ_REG32(&hcd->core_if->host_if->host_global_regs->hfnum);
-@@ -1909,7 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1909,7 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_
st->hcchar_copy.b.chen = 1;
DWC_WRITE_REG32(&hc_regs->hcchar, st->hcchar_copy.d32);
}
@@ -266,11 +256,9 @@ index 68d4f3b..124ac16 100644
local_fiq_enable();
return 0;
}
-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 a5566bc..ee35196 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
-@@ -101,6 +101,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -101,6 +101,7 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
if (dwc_otg_is_host_mode(core_if)) {
if (fiq_enable) {
local_fiq_disable();
@@ -278,7 +266,7 @@ index a5566bc..ee35196 100644
/* Pull in from the FIQ's disabled mask */
gintmsk.d32 = gintmsk.d32 | ~(dwc_otg_hcd->fiq_state->gintmsk_saved.d32);
dwc_otg_hcd->fiq_state->gintmsk_saved.d32 = ~0;
-@@ -116,8 +117,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -116,8 +117,10 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
}
gintsts.d32 &= gintmsk.d32;
@@ -306,7 +294,7 @@ index a5566bc..ee35196 100644
local_fiq_enable();
if ((jiffies / HZ) > last_time) {
-@@ -633,8 +638,10 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -633,8 +638,10 @@ int32_t dwc_otg_hcd_handle_hc_intr(dwc_o
{
/* check the mask? */
local_fiq_disable();
@@ -317,6 +305,3 @@ index a5566bc..ee35196 100644
local_fiq_enable();
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch b/target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch
index 19ac329751..0008f14068 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch
+++ b/target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 093/114] fiq_fsm: fix build on bcm2708 and bcm2709 platforms
drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-index 84618a5..0d2b04e 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-@@ -78,6 +78,7 @@ void notrace _fiq_print(enum fiq_debug_level dbg_lvl, volatile struct fiq_state
+@@ -78,6 +78,7 @@ void notrace _fiq_print(enum fiq_debug_l
* fiq_fsm_spin_lock() - ARMv6+ bare bones spinlock
* Must be called with local interrupts and FIQ disabled.
*/
@@ -19,7 +17,7 @@ index 84618a5..0d2b04e 100644
inline void fiq_fsm_spin_lock(fiq_lock_t *lock)
{
unsigned long tmp;
-@@ -103,16 +104,23 @@ inline void fiq_fsm_spin_lock(fiq_lock_t *lock)
+@@ -103,16 +104,23 @@ inline void fiq_fsm_spin_lock(fiq_lock_t
}
smp_mb();
}
@@ -43,6 +41,3 @@ index 84618a5..0d2b04e 100644
/**
* fiq_fsm_restart_channel() - Poke channel enable bit for a split transaction
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch b/target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
index e570915813..ff1594a6d6 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
+++ b/target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
@@ -9,11 +9,9 @@ Subject: [PATCH 094/114] dwc_otg: put some barriers back where they should be
drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 1 +
2 files changed, 3 insertions(+)
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-index 0d2b04e..276ad0c7 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c
-@@ -1280,6 +1280,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_state *state, int num_channels)
+@@ -1280,6 +1280,7 @@ void notrace dwc_otg_fiq_fsm(struct fiq_
}
state->fiq_done++;
@@ -21,18 +19,16 @@ index 0d2b04e..276ad0c7 100644
fiq_fsm_spin_unlock(&state->lock);
}
-@@ -1340,5 +1341,6 @@ void notrace dwc_otg_fiq_nop(struct fiq_state *state)
+@@ -1340,5 +1341,6 @@ void notrace dwc_otg_fiq_nop(struct fiq_
}
state->fiq_done++;
+ mb();
fiq_fsm_spin_unlock(&state->lock);
}
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-index 124ac16..ac70f1d 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-@@ -1928,6 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_otg_hcd_t *hcd, dwc_otg_qh_t *qh)
+@@ -1928,6 +1928,7 @@ int fiq_fsm_queue_split_transaction(dwc_
st->hcchar_copy.b.chen = 1;
DWC_WRITE_REG32(&hc_regs->hcchar, st->hcchar_copy.d32);
}
@@ -40,6 +36,3 @@ index 124ac16..ac70f1d 100644
fiq_fsm_spin_unlock(&hcd->fiq_state->lock);
local_fiq_enable();
return 0;
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch b/target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch
index e71deb05ce..6d3185834e 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 095/114] mach_bcm2709: Add Mailbox resources to USB driver
arch/arm/mach-bcm2709/bcm2709.c | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
-index a1058ad..5d73b73 100644
--- a/arch/arm/mach-bcm2709/bcm2709.c
+++ b/arch/arm/mach-bcm2709/bcm2709.c
-@@ -338,6 +338,16 @@ static struct resource bcm2708_usb_resources[] = {
+@@ -338,6 +338,16 @@ static struct resource bcm2708_usb_resou
.end = IRQ_USB,
.flags = IORESOURCE_IRQ,
},
@@ -28,6 +26,3 @@ index a1058ad..5d73b73 100644
};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch b/target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch
index e7f4985be6..61d5e4ae36 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch
+++ b/target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch
@@ -9,11 +9,9 @@ Subject: [PATCH 096/114] bcm2709/dwc_otg: Setup FIQ on core 1 if >1 core
drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c | 15 +++++++++++----
2 files changed, 20 insertions(+), 5 deletions(-)
-diff --git a/arch/arm/mach-bcm2709/armctrl.c b/arch/arm/mach-bcm2709/armctrl.c
-index 8e69a813..6e3f0f2 100644
--- a/arch/arm/mach-bcm2709/armctrl.c
+++ b/arch/arm/mach-bcm2709/armctrl.c
-@@ -89,7 +89,15 @@ static void armctrl_unmask_irq(struct irq_data *d)
+@@ -89,7 +89,15 @@ static void armctrl_unmask_irq(struct ir
};
int i;
if (d->irq >= FIQ_START) {
@@ -30,8 +28,6 @@ index 8e69a813..6e3f0f2 100644
writel(0x80 | data, __io_address(ARM_IRQ_FAST));
} else if (d->irq >= IRQ_ARM_LOCAL_CNTPSIRQ && d->irq < IRQ_ARM_LOCAL_CNTPSIRQ + 4) {
#if 1
-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 4d8dd95..1d28459 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c
@@ -407,7 +407,9 @@ static void hcd_init_fiq(void *cookie)
@@ -63,6 +59,3 @@ index 4d8dd95..1d28459 100644
otg_dev->hcd->otg_dev = otg_dev;
hcd->self.otg_port = dwc_otg_hcd_otg_port(dwc_otg_hcd);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch b/target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch
index 2b12829eac..ff3973de0f 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch
+++ b/target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 097/114] bcm2709: Port pps-gpio and i2c patches
arch/arm/mach-bcm2709/bcm2709.c | 41 +++++++++++++++++++++++++++++++++++++++--
1 file changed, 39 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
-index 5d73b73..f009aeb 100644
--- a/arch/arm/mach-bcm2709/bcm2709.c
+++ b/arch/arm/mach-bcm2709/bcm2709.c
@@ -37,6 +37,7 @@
@@ -28,7 +26,7 @@ index 5d73b73..f009aeb 100644
static unsigned use_dt = 0;
-@@ -283,6 +286,19 @@ static struct platform_device w1_device = {
+@@ -283,6 +286,19 @@ static struct platform_device w1_device
};
#endif
@@ -83,7 +81,7 @@ index 5d73b73..f009aeb 100644
#if defined(CONFIG_SND_BCM2708_SOC_I2S) || defined(CONFIG_SND_BCM2708_SOC_I2S_MODULE)
bcm_register_device_dt(&bcm2708_i2s_device);
-@@ -1245,3 +1278,7 @@ module_param(disk_led_active_low, uint, 0644);
+@@ -1245,3 +1278,7 @@ module_param(disk_led_active_low, uint,
module_param(reboot_part, uint, 0644);
module_param(w1_gpio_pin, uint, 0644);
module_param(w1_gpio_pullup, uint, 0644);
@@ -91,6 +89,3 @@ index 5d73b73..f009aeb 100644
+MODULE_PARM_DESC(pps_gpio_pin, "Set GPIO pin to reserve for PPS");
+module_param(vc_i2c_override, bool, 0644);
+MODULE_PARM_DESC(vc_i2c_override, "Allow the use of VC's I2C peripheral.");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch b/target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch
index 13eb10ec66..17dbdf5e60 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch
+++ b/target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 098/114] bcm2709: Also accept the 2708 machine ID
arch/arm/mach-bcm2709/bcm2709.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
-diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c
-index f009aeb..7e3affd 100644
--- a/arch/arm/mach-bcm2709/bcm2709.c
+++ b/arch/arm/mach-bcm2709/bcm2709.c
@@ -1270,6 +1270,19 @@ MACHINE_START(BCM2709, "BCM2709")
@@ -31,6 +29,3 @@ index f009aeb..7e3affd 100644
module_param(boardrev, uint, 0644);
module_param(serial, uint, 0644);
module_param(uart_clock, uint, 0644);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch b/target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch
index 5633af2582..a150de1380 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch
+++ b/target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 099/114] BCM2709_DT: Fix bad merge
arch/arm/boot/dts/Makefile | 25 +++++++++++++------------
1 file changed, 13 insertions(+), 12 deletions(-)
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 605ed38..8f76444 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -63,18 +63,19 @@ ifeq ($(CONFIG_BCM2709_DT),y)
@@ -43,6 +41,3 @@ index 605ed38..8f76444 100644
dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
dtb-$(CONFIG_ARCH_BCM_5301X) += bcm4708-netgear-r6250.dtb
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch b/target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch
index f27224ac25..a896a352ee 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch
+++ b/target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch
@@ -8,11 +8,9 @@ Some code to load the driver based on device-tree-overlays was missing. This is
sound/soc/bcm/hifiberry_amp.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
-diff --git a/sound/soc/bcm/hifiberry_amp.c b/sound/soc/bcm/hifiberry_amp.c
-index 1e87ee0..5903915 100644
--- a/sound/soc/bcm/hifiberry_amp.c
+++ b/sound/soc/bcm/hifiberry_amp.c
-@@ -65,6 +65,12 @@ static struct snd_soc_card snd_rpi_hifiberry_amp = {
+@@ -65,6 +65,12 @@ static struct snd_soc_card snd_rpi_hifib
.num_links = ARRAY_SIZE(snd_rpi_hifiberry_amp_dai),
};
@@ -25,7 +23,7 @@ index 1e87ee0..5903915 100644
static int snd_rpi_hifiberry_amp_probe(struct platform_device *pdev)
{
-@@ -72,6 +78,20 @@ static int snd_rpi_hifiberry_amp_probe(struct platform_device *pdev)
+@@ -72,6 +78,20 @@ static int snd_rpi_hifiberry_amp_probe(s
snd_rpi_hifiberry_amp.dev = &pdev->dev;
@@ -46,7 +44,7 @@ index 1e87ee0..5903915 100644
ret = snd_soc_register_card(&snd_rpi_hifiberry_amp);
if (ret != 0) {
-@@ -92,6 +112,7 @@ static struct platform_driver snd_rpi_hifiberry_amp_driver = {
+@@ -92,6 +112,7 @@ static struct platform_driver snd_rpi_hi
.driver = {
.name = "snd-hifiberry-amp",
.owner = THIS_MODULE,
@@ -54,6 +52,3 @@ index 1e87ee0..5903915 100644
},
.probe = snd_rpi_hifiberry_amp_probe,
.remove = snd_rpi_hifiberry_amp_remove,
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0101-BCM270x_DT-Add-i2c0_baudrate-and-i2c1_baudrate-param.patch b/target/linux/brcm2708/patches-3.18/0101-BCM270x_DT-Add-i2c0_baudrate-and-i2c1_baudrate-param.patch
index 26482901cb..b01dc5e4e6 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0101-BCM270x_DT-Add-i2c0_baudrate-and-i2c1_baudrate-param.patch
+++ b/target/linux/brcm2708/patches-3.18/0101-BCM270x_DT-Add-i2c0_baudrate-and-i2c1_baudrate-param.patch
@@ -10,8 +10,6 @@ Subject: [PATCH 101/114] BCM270x_DT: Add i2c0_baudrate and i2c1_baudrate
arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 2 ++
3 files changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
-index 95f03ba..6b9512b 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
@@ -93,6 +93,8 @@
@@ -23,8 +21,6 @@ index 95f03ba..6b9512b 100644
act_led_gpio = <&act_led>,"gpios:4";
act_led_activelow = <&act_led>,"gpios:8";
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-index 0631f45..b8520b55 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -93,6 +93,8 @@
@@ -36,8 +32,6 @@ index 0631f45..b8520b55 100644
act_led_gpio = <&act_led>,"gpios:4";
act_led_activelow = <&act_led>,"gpios:8";
-diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
-index 0cdff31..63d3da4 100644
--- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
@@ -93,6 +93,8 @@
@@ -49,6 +43,3 @@ index 0cdff31..63d3da4 100644
act_led_gpio = <&act_led>,"gpios:4";
act_led_activelow = <&act_led>,"gpios:8";
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0102-pinctrl-bcm2835-bcm2835_gpio_direction_output-must-s.patch b/target/linux/brcm2708/patches-3.18/0102-pinctrl-bcm2835-bcm2835_gpio_direction_output-must-s.patch
index 66f6f3bf21..ebcbe1995d 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0102-pinctrl-bcm2835-bcm2835_gpio_direction_output-must-s.patch
+++ b/target/linux/brcm2708/patches-3.18/0102-pinctrl-bcm2835-bcm2835_gpio_direction_output-must-s.patch
@@ -8,11 +8,9 @@ Subject: [PATCH 102/114] pinctrl-bcm2835: bcm2835_gpio_direction_output must
drivers/pinctrl/pinctrl-bcm2835.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
-diff --git a/drivers/pinctrl/pinctrl-bcm2835.c b/drivers/pinctrl/pinctrl-bcm2835.c
-index 962e180..42a4fd5 100644
--- a/drivers/pinctrl/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/pinctrl-bcm2835.c
-@@ -355,7 +355,14 @@ static int bcm2835_gpio_get(struct gpio_chip *chip, unsigned offset)
+@@ -355,7 +355,14 @@ static int bcm2835_gpio_get(struct gpio_
static int bcm2835_gpio_direction_output(struct gpio_chip *chip,
unsigned offset, int value)
{
@@ -28,6 +26,3 @@ index 962e180..42a4fd5 100644
}
static void bcm2835_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0103-w1-gpio-Sort-out-the-pullup-parasitic-power-tangle.patch b/target/linux/brcm2708/patches-3.18/0103-w1-gpio-Sort-out-the-pullup-parasitic-power-tangle.patch
index 614ad56a36..fa65e49611 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0103-w1-gpio-Sort-out-the-pullup-parasitic-power-tangle.patch
+++ b/target/linux/brcm2708/patches-3.18/0103-w1-gpio-Sort-out-the-pullup-parasitic-power-tangle.patch
@@ -10,8 +10,6 @@ Subject: [PATCH 103/114] w1-gpio: Sort out the pullup/parasitic power tangle
include/linux/w1-gpio.h | 1 +
4 files changed, 32 insertions(+), 15 deletions(-)
-diff --git a/arch/arm/boot/dts/w1-gpio-overlay.dts b/arch/arm/boot/dts/w1-gpio-overlay.dts
-index b2c5ee2..29a3b48 100644
--- a/arch/arm/boot/dts/w1-gpio-overlay.dts
+++ b/arch/arm/boot/dts/w1-gpio-overlay.dts
@@ -1,4 +1,4 @@
@@ -35,8 +33,6 @@ index b2c5ee2..29a3b48 100644
+ pullup = <&w1>,"rpi,parasitic-power:0";
};
};
-diff --git a/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
-index b3e97c2..66a98f6 100644
--- a/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
+++ b/arch/arm/boot/dts/w1-gpio-pullup-overlay.dts
@@ -1,4 +1,4 @@
@@ -63,8 +59,6 @@ index b3e97c2..66a98f6 100644
+ pullup = <&w1>,"rpi,parasitic-power:0";
};
};
-diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c
-index 61be2cd..54c0313 100644
--- a/drivers/w1/masters/w1-gpio.c
+++ b/drivers/w1/masters/w1-gpio.c
@@ -23,10 +23,14 @@
@@ -85,7 +79,7 @@ index 61be2cd..54c0313 100644
static int w1_gpio_pin = -1;
static int w1_gpio_pin_orig = -1;
module_param_named(gpiopin, w1_gpio_pin, int, 0);
-@@ -99,6 +103,7 @@ static int w1_gpio_probe_dt(struct platform_device *pdev)
+@@ -99,6 +103,7 @@ static int w1_gpio_probe_dt(struct platf
struct w1_gpio_platform_data *pdata = dev_get_platdata(&pdev->dev);
struct device_node *np = pdev->dev.of_node;
int gpio;
@@ -93,7 +87,7 @@ index 61be2cd..54c0313 100644
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
if (!pdata)
-@@ -107,6 +112,9 @@ static int w1_gpio_probe_dt(struct platform_device *pdev)
+@@ -107,6 +112,9 @@ static int w1_gpio_probe_dt(struct platf
if (of_get_property(np, "linux,open-drain", NULL))
pdata->is_open_drain = 1;
@@ -103,7 +97,7 @@ index 61be2cd..54c0313 100644
gpio = of_get_gpio(np, 0);
if (gpio < 0) {
if (gpio != -EPROBE_DEFER)
-@@ -122,7 +130,7 @@ static int w1_gpio_probe_dt(struct platform_device *pdev)
+@@ -122,7 +130,7 @@ static int w1_gpio_probe_dt(struct platf
if (gpio == -EPROBE_DEFER)
return gpio;
/* ignore other errors as the pullup gpio is optional */
@@ -112,7 +106,7 @@ index 61be2cd..54c0313 100644
pdev->dev.platform_data = pdata;
-@@ -158,17 +166,20 @@ static int w1_gpio_probe(struct platform_device *pdev)
+@@ -158,17 +166,20 @@ static int w1_gpio_probe(struct platform
}
w1_gpio_pin_orig = pdata->pin;
@@ -137,7 +131,7 @@ index 61be2cd..54c0313 100644
err = devm_gpio_request(&pdev->dev, pdata->pin, "w1");
if (err) {
-@@ -199,10 +210,10 @@ static int w1_gpio_probe(struct platform_device *pdev)
+@@ -199,10 +210,10 @@ static int w1_gpio_probe(struct platform
master->set_pullup = w1_gpio_set_pullup;
}
@@ -151,7 +145,7 @@ index 61be2cd..54c0313 100644
else
master->bitbang_pullup = w1_gpio_bitbang_pullup;
}
-@@ -238,7 +249,8 @@ static int w1_gpio_remove(struct platform_device *pdev)
+@@ -238,7 +249,8 @@ static int w1_gpio_remove(struct platfor
w1_remove_master_device(master);
pdata->pin = w1_gpio_pin_orig;
@@ -161,8 +155,6 @@ index 61be2cd..54c0313 100644
return 0;
}
-diff --git a/include/linux/w1-gpio.h b/include/linux/w1-gpio.h
-index d58594a..feae942 100644
--- a/include/linux/w1-gpio.h
+++ b/include/linux/w1-gpio.h
@@ -18,6 +18,7 @@
@@ -173,6 +165,3 @@ index d58594a..feae942 100644
void (*enable_external_pullup)(int enable);
unsigned int ext_pullup_enable_pin;
unsigned int pullup_duration;
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0104-config-Add-USBIP.patch b/target/linux/brcm2708/patches-3.18/0104-config-Add-USBIP.patch
index afe620574f..530968109f 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0104-config-Add-USBIP.patch
+++ b/target/linux/brcm2708/patches-3.18/0104-config-Add-USBIP.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 104/114] config: Add USBIP
arch/arm/configs/bcmrpi_defconfig | 3 +++
2 files changed, 7 insertions(+)
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-index 70b175c..b5bf4cb 100644
--- a/arch/arm/configs/bcm2709_defconfig
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -722,6 +722,7 @@ CONFIG_DVB_USB_GL861=m
@@ -30,8 +28,6 @@ index 70b175c..b5bf4cb 100644
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 0453a38..81c4387 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -858,6 +858,9 @@ CONFIG_USB_STORAGE_ENE_UB6250=m
@@ -44,6 +40,3 @@ index 0453a38..81c4387 100644
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0105-dwc_otg-fixup-read-modify-write-in-critical-paths.patch b/target/linux/brcm2708/patches-3.18/0105-dwc_otg-fixup-read-modify-write-in-critical-paths.patch
index 9a074da17a..cac525f80b 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0105-dwc_otg-fixup-read-modify-write-in-critical-paths.patch
+++ b/target/linux/brcm2708/patches-3.18/0105-dwc_otg-fixup-read-modify-write-in-critical-paths.patch
@@ -11,11 +11,9 @@ also touches.
drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c | 22 ++++++++++++++++----
3 files changed, 55 insertions(+), 10 deletions(-)
-diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-index ac70f1d..1782d65 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-@@ -2447,9 +2447,16 @@ void dwc_otg_hcd_queue_transactions(dwc_otg_hcd_t * hcd,
+@@ -2447,9 +2447,16 @@ void dwc_otg_hcd_queue_transactions(dwc_
*/
gintmsk_data_t gintmsk = {.d32 = 0 };
gintmsk.b.nptxfempty = 1;
@@ -35,11 +33,9 @@ index ac70f1d..1782d65 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 ee35196..6266661 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
-@@ -165,7 +165,15 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd)
+@@ -165,7 +165,15 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_
gintmsk_data_t gintmsk = { .b.portintr = 1};
retval |= dwc_otg_hcd_handle_port_intr(dwc_otg_hcd);
@@ -56,7 +52,7 @@ index ee35196..6266661 100644
}
if (gintsts.b.hcintr) {
retval |= dwc_otg_hcd_handle_hc_intr(dwc_otg_hcd);
-@@ -1069,7 +1077,15 @@ static void halt_channel(dwc_otg_hcd_t * hcd,
+@@ -1069,7 +1077,15 @@ static void halt_channel(dwc_otg_hcd_t *
* be processed.
*/
gintmsk.b.nptxfempty = 1;
@@ -73,7 +69,7 @@ index ee35196..6266661 100644
} else {
/*
* Move the QH from the periodic queued schedule to
-@@ -1086,7 +1102,15 @@ static void halt_channel(dwc_otg_hcd_t * hcd,
+@@ -1086,7 +1102,15 @@ static void halt_channel(dwc_otg_hcd_t *
* processed.
*/
gintmsk.b.ptxfempty = 1;
@@ -90,11 +86,9 @@ index ee35196..6266661 100644
}
}
}
-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 17d3030..acd0dd7 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c
-@@ -683,8 +683,15 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -683,8 +683,15 @@ int dwc_otg_hcd_qh_add(dwc_otg_hcd_t * h
status = schedule_periodic(hcd, qh);
if ( !hcd->periodic_qh_count ) {
intr_mask.b.sofintr = 1;
@@ -112,7 +106,7 @@ index 17d3030..acd0dd7 100644
}
hcd->periodic_qh_count++;
}
-@@ -745,8 +752,15 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh)
+@@ -745,8 +752,15 @@ void dwc_otg_hcd_qh_remove(dwc_otg_hcd_t
hcd->periodic_qh_count--;
if( !hcd->periodic_qh_count && !fiq_fsm_enable ) {
intr_mask.b.sofintr = 1;
@@ -130,6 +124,3 @@ index 17d3030..acd0dd7 100644
}
}
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0106-BCM2709_DT-Set-the-always-on-flag-for-the-timer-to-e.patch b/target/linux/brcm2708/patches-3.18/0106-BCM2709_DT-Set-the-always-on-flag-for-the-timer-to-e.patch
index b7c86fa450..c801d1cf4a 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0106-BCM2709_DT-Set-the-always-on-flag-for-the-timer-to-e.patch
+++ b/target/linux/brcm2708/patches-3.18/0106-BCM2709_DT-Set-the-always-on-flag-for-the-timer-to-e.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 106/114] BCM2709_DT: Set the "always-on" flag for the timer to
arch/arm/boot/dts/bcm2709.dtsi | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi
-index c7e975c..220866e 100644
--- a/arch/arm/boot/dts/bcm2709.dtsi
+++ b/arch/arm/boot/dts/bcm2709.dtsi
@@ -115,6 +115,7 @@
@@ -20,6 +18,3 @@ index c7e975c..220866e 100644
};
cpus: cpus {
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0107-i2c_bcm2708-Fix-clock-reference-counting.patch b/target/linux/brcm2708/patches-3.18/0107-i2c_bcm2708-Fix-clock-reference-counting.patch
index fde2471ab1..3da94273af 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0107-i2c_bcm2708-Fix-clock-reference-counting.patch
+++ b/target/linux/brcm2708/patches-3.18/0107-i2c_bcm2708-Fix-clock-reference-counting.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 107/114] i2c_bcm2708: Fix clock reference counting
drivers/i2c/busses/i2c-bcm2708.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
-diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
-index 526129b..fda59ba 100644
--- a/drivers/i2c/busses/i2c-bcm2708.c
+++ b/drivers/i2c/busses/i2c-bcm2708.c
-@@ -337,11 +337,17 @@ static int bcm2708_i2c_probe(struct platform_device *pdev)
+@@ -337,11 +337,17 @@ static int bcm2708_i2c_probe(struct plat
return PTR_ERR(clk);
}
@@ -39,7 +37,7 @@ index 526129b..fda59ba 100644
out_clk_put:
clk_put(clk);
return err;
-@@ -426,7 +434,7 @@ static int bcm2708_i2c_remove(struct platform_device *pdev)
+@@ -426,7 +434,7 @@ static int bcm2708_i2c_remove(struct pla
i2c_del_adapter(&bi->adapter);
free_irq(bi->irq, bi);
iounmap(bi->base);
@@ -48,6 +46,3 @@ index 526129b..fda59ba 100644
clk_put(bi->clk);
kfree(bi);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0108-BCM270x_DT-Rename-the-activity-LED-back-to-the-prosa.patch b/target/linux/brcm2708/patches-3.18/0108-BCM270x_DT-Rename-the-activity-LED-back-to-the-prosa.patch
index 15f0e5ff32..b8a04ea14e 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0108-BCM270x_DT-Rename-the-activity-LED-back-to-the-prosa.patch
+++ b/target/linux/brcm2708/patches-3.18/0108-BCM270x_DT-Rename-the-activity-LED-back-to-the-prosa.patch
@@ -9,8 +9,6 @@ Subject: [PATCH 108/114] BCM270x_DT: Rename the activity LED back to the
arch/arm/boot/dts/bcm2709.dtsi | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index d879316..af6b1d9 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -81,7 +81,7 @@
@@ -22,8 +20,6 @@ index d879316..af6b1d9 100644
linux,default-trigger = "mmc0";
};
};
-diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi
-index 220866e..fee2053 100644
--- a/arch/arm/boot/dts/bcm2709.dtsi
+++ b/arch/arm/boot/dts/bcm2709.dtsi
@@ -81,7 +81,7 @@
@@ -35,6 +31,3 @@ index 220866e..fee2053 100644
linux,default-trigger = "mmc0";
};
};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0109-Add-device-tree-overlay-for-pcf2127.patch b/target/linux/brcm2708/patches-3.18/0109-Add-device-tree-overlay-for-pcf2127.patch
index 8b2b931b6f..b1eba9c78c 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0109-Add-device-tree-overlay-for-pcf2127.patch
+++ b/target/linux/brcm2708/patches-3.18/0109-Add-device-tree-overlay-for-pcf2127.patch
@@ -10,11 +10,9 @@ Signed-off-by: Byron Bradley <byronb@afterthoughtsoftware.com>
2 files changed, 23 insertions(+)
create mode 100644 arch/arm/boot/dts/pcf2127-rtc-overlay.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 8f76444..56830ef 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -72,6 +72,7 @@ dtb-$(RPI_DT_OVERLAYS) += hifiberry-amp-overlay.dtb
+@@ -72,6 +72,7 @@ dtb-$(RPI_DT_OVERLAYS) += hifiberry-amp-
dtb-$(RPI_DT_OVERLAYS) += iqaudio-dac-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += iqaudio-dacplus-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += lirc-rpi-overlay.dtb
@@ -22,9 +20,6 @@ index 8f76444..56830ef 100644
dtb-$(RPI_DT_OVERLAYS) += pcf8523-rtc-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += pps-gpio-overlay.dtb
dtb-$(RPI_DT_OVERLAYS) += w1-gpio-overlay.dtb
-diff --git a/arch/arm/boot/dts/pcf2127-rtc-overlay.dts b/arch/arm/boot/dts/pcf2127-rtc-overlay.dts
-new file mode 100644
-index 0000000..01fc81d
--- /dev/null
+++ b/arch/arm/boot/dts/pcf2127-rtc-overlay.dts
@@ -0,0 +1,22 @@
@@ -50,6 +45,3 @@ index 0000000..01fc81d
+ };
+ };
+};
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0110-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch b/target/linux/brcm2708/patches-3.18/0110-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
index b5765c0d6e..e522125548 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0110-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
+++ b/target/linux/brcm2708/patches-3.18/0110-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
@@ -22,8 +22,6 @@ N.B. pwr_led is not available on Model A or B boards.
10 files changed, 113 insertions(+), 16 deletions(-)
create mode 100644 drivers/leds/trigger/ledtrig-input.c
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
-index 6b9512b..7f84473 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
@@ -83,8 +83,18 @@
@@ -57,8 +55,6 @@ index 6b9512b..7f84473 100644
+ pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
};
};
-diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
-index b8520b55..a39562f 100644
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -83,8 +83,12 @@
@@ -76,8 +72,6 @@ index b8520b55..a39562f 100644
};
/ {
-diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi
-index af6b1d9..aeeabae 100644
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -79,11 +79,6 @@
@@ -92,8 +86,6 @@ index af6b1d9..aeeabae 100644
};
};
-diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
-index 63d3da4..75c222f 100644
--- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
+++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
@@ -83,8 +83,18 @@
@@ -127,8 +119,6 @@ index 63d3da4..75c222f 100644
+ pwr_led_trigger = <&pwr_led>,"linux,default-trigger";
};
};
-diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi
-index fee2053..6986455 100644
--- a/arch/arm/boot/dts/bcm2709.dtsi
+++ b/arch/arm/boot/dts/bcm2709.dtsi
@@ -79,11 +79,6 @@
@@ -143,8 +133,6 @@ index fee2053..6986455 100644
};
};
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-index b5bf4cb..7bb9de6 100644
--- a/arch/arm/configs/bcm2709_defconfig
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -959,6 +959,7 @@ CONFIG_LEDS_TRIGGER_GPIO=y
@@ -155,8 +143,6 @@ index b5bf4cb..7bb9de6 100644
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_DRV_DS1307=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 81c4387..3b09de9 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -952,6 +952,7 @@ CONFIG_LEDS_TRIGGER_GPIO=y
@@ -167,13 +153,11 @@ index 81c4387..3b09de9 100644
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_DRV_DS1307=m
-diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig
-index 49794b4..640756b 100644
--- a/drivers/leds/trigger/Kconfig
+++ b/drivers/leds/trigger/Kconfig
-@@ -108,4 +108,11 @@ config LEDS_TRIGGER_CAMERA
- This enables direct flash/torch on/off by the driver, kernel space.
- If unsure, say Y.
+@@ -126,4 +126,11 @@ config LEDS_TRIGGER_USBDEV
+ This allows LEDs to be controlled by the presence/activity of
+ an USB device. If unsure, say N.
+config LEDS_TRIGGER_INPUT
+ tristate "LED Input Trigger"
@@ -183,18 +167,13 @@ index 49794b4..640756b 100644
+ If unsure, say Y.
+
endif # LEDS_TRIGGERS
-diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile
-index 1abf48d..c03afdc 100644
--- a/drivers/leds/trigger/Makefile
+++ b/drivers/leds/trigger/Makefile
-@@ -8,3 +8,4 @@ obj-$(CONFIG_LEDS_TRIGGER_CPU) += ledtrig-cpu.o
+@@ -8,3 +8,4 @@ obj-$(CONFIG_LEDS_TRIGGER_CPU) += ledtr
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
obj-$(CONFIG_LEDS_TRIGGER_TRANSIENT) += ledtrig-transient.o
obj-$(CONFIG_LEDS_TRIGGER_CAMERA) += ledtrig-camera.o
+obj-$(CONFIG_LEDS_TRIGGER_INPUT) += ledtrig-input.o
-diff --git a/drivers/leds/trigger/ledtrig-input.c b/drivers/leds/trigger/ledtrig-input.c
-new file mode 100644
-index 0000000..2ca2b98
--- /dev/null
+++ b/drivers/leds/trigger/ledtrig-input.c
@@ -0,0 +1,65 @@
@@ -263,6 +242,3 @@ index 0000000..2ca2b98
+MODULE_AUTHOR("Phil Elwell <phil@raspberrypi.org>");
+MODULE_DESCRIPTION("Set LED GPIO to Input \"trigger\"");
+MODULE_LICENSE("GPL");
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch b/target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch
index fc4897c05c..76cde14237 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch
+++ b/target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 111/114] BCM2708_VCIO : Add automatic creation of device node
arch/arm/mach-bcm2709/vcio.c | 12 +++++++++++-
2 files changed, 22 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/mach-bcm2708/vcio.c b/arch/arm/mach-bcm2708/vcio.c
-index 5e43e85..700bff4 100644
--- a/arch/arm/mach-bcm2708/vcio.c
+++ b/arch/arm/mach-bcm2708/vcio.c
@@ -61,7 +61,7 @@
@@ -21,7 +19,7 @@ index 5e43e85..700bff4 100644
struct vc_mailbox {
struct device *dev; /* parent device */
void __iomem *status;
-@@ -421,6 +421,13 @@ static int bcm_vcio_probe(struct platform_device *pdev)
+@@ -421,6 +421,13 @@ static int bcm_vcio_probe(struct platfor
"Failed registering the character device %d\n", ret);
return ret;
}
@@ -45,8 +43,6 @@ index 5e43e85..700bff4 100644
platform_driver_unregister(&bcm_mbox_driver);
}
-diff --git a/arch/arm/mach-bcm2709/vcio.c b/arch/arm/mach-bcm2709/vcio.c
-index 5e43e85..700bff4 100644
--- a/arch/arm/mach-bcm2709/vcio.c
+++ b/arch/arm/mach-bcm2709/vcio.c
@@ -61,7 +61,7 @@
@@ -58,7 +54,7 @@ index 5e43e85..700bff4 100644
struct vc_mailbox {
struct device *dev; /* parent device */
void __iomem *status;
-@@ -421,6 +421,13 @@ static int bcm_vcio_probe(struct platform_device *pdev)
+@@ -421,6 +421,13 @@ static int bcm_vcio_probe(struct platfor
"Failed registering the character device %d\n", ret);
return ret;
}
@@ -82,6 +78,3 @@ index 5e43e85..700bff4 100644
platform_driver_unregister(&bcm_mbox_driver);
}
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0112-Fix-grabbing-lock-from-atomic-context-in-i2c-driver.patch b/target/linux/brcm2708/patches-3.18/0112-Fix-grabbing-lock-from-atomic-context-in-i2c-driver.patch
index ecd13fad64..19484af372 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0112-Fix-grabbing-lock-from-atomic-context-in-i2c-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0112-Fix-grabbing-lock-from-atomic-context-in-i2c-driver.patch
@@ -16,8 +16,6 @@ fixed typo in comment
drivers/i2c/busses/i2c-bcm2708.c | 90 +++++++++++++++++++++++++++++-----------
1 file changed, 65 insertions(+), 25 deletions(-)
-diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
-index fda59ba..81e9374 100644
--- a/drivers/i2c/busses/i2c-bcm2708.c
+++ b/drivers/i2c/busses/i2c-bcm2708.c
@@ -68,6 +68,7 @@
@@ -36,7 +34,7 @@ index fda59ba..81e9374 100644
struct completion done;
-@@ -109,10 +111,10 @@ static void bcm2708_i2c_init_pinmode(int id)
+@@ -109,10 +111,10 @@ static void bcm2708_i2c_init_pinmode(int
int pin;
u32 *gpio = ioremap(GPIO_BASE, SZ_16K);
@@ -49,7 +47,7 @@ index fda59ba..81e9374 100644
INP_GPIO(pin); /* set mode to GPIO input first */
SET_GPIO_ALT(pin, 0); /* set mode to ALT 0 */
}
-@@ -151,16 +153,16 @@ static inline void bcm2708_bsc_fifo_fill(struct bcm2708_i2c *bi)
+@@ -151,16 +153,16 @@ static inline void bcm2708_bsc_fifo_fill
bcm2708_wr(bi, BSC_FIFO, bi->msg->buf[bi->pos++]);
}
@@ -72,7 +70,7 @@ index fda59ba..81e9374 100644
if (bi->msg->flags & I2C_M_RD)
c |= BSC_C_INTR | BSC_C_READ;
-@@ -177,17 +179,25 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
+@@ -177,17 +179,25 @@ static inline void bcm2708_bsc_setup(str
- Both messages to same slave address
- Write message can fit inside FIFO (16 bytes or less) */
if ( (bi->nmsgs > 1) &&
@@ -102,7 +100,7 @@ index fda59ba..81e9374 100644
/* Send next read message before the write transfer finishes. */
bi->nmsgs--;
bi->msg++;
-@@ -197,6 +207,8 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
+@@ -197,6 +207,8 @@ static inline void bcm2708_bsc_setup(str
}
}
bcm2708_wr(bi, BSC_C, c);
@@ -111,7 +109,7 @@ index fda59ba..81e9374 100644
}
static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
-@@ -204,13 +216,15 @@ static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
+@@ -204,13 +216,15 @@ static irqreturn_t bcm2708_i2c_interrupt
struct bcm2708_i2c *bi = dev_id;
bool handled = true;
u32 s;
@@ -129,7 +127,7 @@ index fda59ba..81e9374 100644
s = bcm2708_rd(bi, BSC_S);
-@@ -218,13 +232,16 @@ static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
+@@ -218,13 +232,16 @@ static irqreturn_t bcm2708_i2c_interrupt
bcm2708_bsc_reset(bi);
bi->error = true;
@@ -147,7 +145,7 @@ index fda59ba..81e9374 100644
bcm2708_bsc_reset(bi);
-@@ -232,8 +249,19 @@ static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
+@@ -232,8 +249,19 @@ static irqreturn_t bcm2708_i2c_interrupt
/* advance to next message */
bi->msg++;
bi->pos = 0;
@@ -168,7 +166,7 @@ index fda59ba..81e9374 100644
/* wake up our bh */
complete(&bi->done);
}
-@@ -266,22 +294,33 @@ static int bcm2708_i2c_master_xfer(struct i2c_adapter *adap,
+@@ -266,22 +294,33 @@ static int bcm2708_i2c_master_xfer(struc
bi->nmsgs = num;
bi->error = false;
@@ -211,7 +209,7 @@ index fda59ba..81e9374 100644
}
static u32 bcm2708_i2c_functionality(struct i2c_adapter *adap)
-@@ -406,6 +445,7 @@ static int bcm2708_i2c_probe(struct platform_device *pdev)
+@@ -406,6 +445,7 @@ static int bcm2708_i2c_probe(struct plat
cdiv = 0xffff;
baudrate = bus_hz / cdiv;
}
@@ -219,6 +217,3 @@ index fda59ba..81e9374 100644
dev_info(&pdev->dev, "BSC%d Controller at 0x%08lx (irq %d) (baudrate %d)\n",
pdev->id, (unsigned long)regs->start, irq, baudrate);
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0113-config-Add-ENC28J60-SPI-ethernet-module.patch b/target/linux/brcm2708/patches-3.18/0113-config-Add-ENC28J60-SPI-ethernet-module.patch
index 95e8d5b582..9954061843 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0113-config-Add-ENC28J60-SPI-ethernet-module.patch
+++ b/target/linux/brcm2708/patches-3.18/0113-config-Add-ENC28J60-SPI-ethernet-module.patch
@@ -8,8 +8,6 @@ Subject: [PATCH 113/114] config: Add ENC28J60 SPI ethernet module
arch/arm/configs/bcmrpi_defconfig | 1 +
2 files changed, 2 insertions(+)
-diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
-index 7bb9de6..c8577f6 100644
--- a/arch/arm/configs/bcm2709_defconfig
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -423,6 +423,7 @@ CONFIG_MACVLAN=m
@@ -20,8 +18,6 @@ index 7bb9de6..c8577f6 100644
CONFIG_MDIO_BITBANG=m
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
-diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
-index 3b09de9..9303cfb 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -416,6 +416,7 @@ CONFIG_MACVLAN=m
@@ -32,6 +28,3 @@ index 3b09de9..9303cfb 100644
CONFIG_MDIO_BITBANG=m
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
---
-1.8.3.2
-
diff --git a/target/linux/brcm2708/patches-3.18/0114-ntp-Patch-to-fix-false-positives-on-32bit-systems.patch b/target/linux/brcm2708/patches-3.18/0114-ntp-Patch-to-fix-false-positives-on-32bit-systems.patch
index 9b781c1664..35f0e4be04 100755..100644
--- a/target/linux/brcm2708/patches-3.18/0114-ntp-Patch-to-fix-false-positives-on-32bit-systems.patch
+++ b/target/linux/brcm2708/patches-3.18/0114-ntp-Patch-to-fix-false-positives-on-32bit-systems.patch
@@ -8,11 +8,9 @@ See: https://bugzilla.kernel.org/show_bug.cgi?id=92481
kernel/time/ntp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
-index 28bf91c..242774d 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
-@@ -634,9 +634,9 @@ int ntp_validate_timex(struct timex *txc)
+@@ -634,9 +634,9 @@ int ntp_validate_timex(struct timex *txc
return -EPERM;
if (txc->modes & ADJ_FREQUENCY) {
@@ -24,6 +22,3 @@ index 28bf91c..242774d 100644
return -EINVAL;
}
---
-1.8.3.2
-