[OpenWrt-Devel] [PATCH 3/5] brcm2708: refresh patches

Álvaro Fernández Rojas noltari at gmail.com
Thu Feb 12 10:43:29 EST 2015


Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
---
 .../0001-Main-bcm2708-linux-port.patch             | 124 +----
 .../0002-Add-bcm2708_gpio-driver.patch             |  20 +-
 .../patches-3.18/0003-Add-quick-config.patch       |   6 -
 .../patches-3.18/0004-Add-dwc_otg-driver.patch     | 209 +-------
 .../0005-bcm2708-watchdog-driver.patch             |  12 +-
 ...nline-source-for-rtl8192cu-wireless-drive.patch | 525 +--------------------
 ...up-console-framebuffer-imageblit-function.patch |   9 +-
 .../0008-fbdev-add-FBIOCOPYAREA-ioctl.patch        |  15 +-
 .../0009-bcm2708-framebuffer-driver.patch          |  20 +-
 .../patches-3.18/0010-bcm2708-vchiq-driver.patch   | 103 ----
 ...oid-high-load-when-blocked-and-unkillable.patch |  18 -
 ...ma-Add-vc_cma-driver-to-enable-use-of-CMA.patch |  24 -
 .../0013-bcm2708-alsa-sound-driver.patch           |  45 +-
 ...g-hardware-random-number-generator-driver.patch |  12 +-
 ...5-lirc-added-support-for-RaspberryPi-GPIO.patch |  10 -
 .../patches-3.18/0016-Add-cpufreq-driver.patch     |  14 +-
 ...-thermal-driver-for-reporting-core-temper.patch |  27 +-
 ...8-Allow-mac-address-to-be-set-in-smsc95xx.patch |   7 +-
 ...0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch |  27 +-
 ...m-I2C-combined-transactions-when-possible.patch |  11 +-
 ...e-realtime-clock-1-wire-chip-DS1307-and-1.patch |  31 +-
 ...022-Added-Device-IDs-for-August-DVB-T-205.patch |   7 +-
 ...fig-add-missing-options-from-3.6.y-kernel.patch |   5 -
 ...le-CONFIG_MEMCG-but-leave-it-disabled-due.patch |  13 +-
 ...ch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch | 262 ++++------
 ...tg-fiq_fsm-Base-commit-for-driver-rewrite.patch | 218 ++++-----
 .../0027-bcm2835-add-v4l2-camera-device.patch      |  54 +--
 .../patches-3.18/0028-V4L2-Fixes-from-6by9.patch   | 107 ++---
 .../0029-dmaengine-Add-support-for-BCM2708.patch   |  18 +-
 .../0030-ASoC-Add-support-for-BCM2708.patch        |  15 +-
 .../0031-ASoC-Add-support-for-PCM5102A-codec.patch |  14 +-
 ...032-BCM2708-Add-I2S-support-to-board-file.patch |   7 +-
 .../0033-ASoC-Add-support-for-HifiBerry-DAC.patch  |  12 +-
 ...4-BCM2708-Add-HifiBerry-DAC-to-board-file.patch |   7 +-
 ...Add-I2S-and-DMA-support-to-default-config.patch |   5 -
 ...0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch |  29 +-
 ...-Implement-MCLK-configuration-options-add.patch |   9 +-
 ...d-support-for-HiFiBerry-Digi.-Driver-is-b.patch |  12 +-
 ...ed-support-for-HiFiBerry-Digi-board-Board.patch |   7 +-
 ...ed-HiFiBerry-Digi-configuration-option-It.patch |   5 -
 ...-Set-idle_bias_off-to-false-Idle-bias-has.patch |   7 +-
 ...audIO-Sound-Card-support-for-Raspberry-Pi.patch |  18 +-
 ...-a-range-macro-for-Volume-and-rename-to-P.patch |   7 +-
 ...around-for-issue-where-dirty-page-count-g.patch |   7 +-
 ...-various-issues-with-root-port-and-transa.patch |  17 +-
 ...lement-hack-for-Split-Interrupt-transacti.patch |  13 +-
 ...-Prepare-for-Common-Clock-Framework-migra.patch |  11 +-
 ...708-Migrate-to-the-Common-Clock-Framework.patch |  17 +-
 ...0049-BCM2708-Add-core-Device-Tree-support.patch |  17 +-
 ...M2708-armctrl-Add-IRQ-Device-Tree-support.patch |  11 +-
 .../0051-BCM2708-use-pinctrl-bcm2835.patch         |  13 +-
 .../0052-spi-bcm2708-add-device-tree-support.patch |  23 +-
 .../0053-i2c-bcm2708-add-device-tree-support.patch |  23 +-
 ...ce-default-mouse-polling-interval-to-60Hz.patch |   7 +-
 ...-make-overcurrent-messages-more-prominent.patch |   7 +-
 ...deoCore-shared-memory-service-for-BCM2835.patch |  28 --
 ...dma-Use-dma_pfn_offset-for-dma-address-tr.patch |   7 +-
 .../0058-MMC-added-alternative-MMC-driver.patch    |  18 +-
 ...-mmc-Disable-CMD23-transfers-on-all-cards.patch |   7 +-
 .../0060-Added-support-for-HiFiBerry-DAC.patch     |  18 +-
 ...r-for-HiFiBerry-Amp-amplifier-add-on-boar.patch |  30 +-
 ...opy_to_user-and-__copy_from_user-performa.patch |  40 +-
 ...ow-option-card-devices-to-be-configured-v.patch |  63 +--
 ...ice-Tree-support-for-some-RPi-audio-cards.patch |  59 +--
 ...port-for-the-CONFIG_CMDLINE_EXTEND-option.patch |   5 -
 .../0066-config-Enable-device-tree.patch           |   5 -
 ...overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch |   7 -
 ...d-device-tree-support-and-a-suitable-over.patch |  57 ++-
 .../0069-Fix-the-activity-LED-in-DT-mode.patch     |   9 -
 .../0070-Adding-w1-gpio-device-tree-overlays.patch |   9 -
 .../0071-config-Enable-CONFIG_PPS.patch            |   5 -
 .../0072-config-Add-CONFIG_IP_NF-options.patch     |   5 -
 .../0073-config-Restore-some-missing-options.patch |   5 -
 ...5713-return-error-if-initialisation-fails.patch |   9 +-
 ...-Update-to-upstream-version-with-overlay-.patch | 229 ++++-----
 ...076-BCM2708_DT-Build-the-overlays-as-well.patch |   7 +-
 ...device-tree-overlay-for-HiFiBerry-Amp-Amp.patch |  10 +-
 .../0078-Add-pps-gpio-DT-overlay.patch             |  10 +-
 .../0079-config-Remove-STRICT_DEVMEM.patch         |   5 -
 ...gister-the-I2C-device-for-the-current-boa.patch |   7 +-
 ...rt-to-reserve-enable-a-GPIO-pin-to-be-use.patch |   9 +-
 ...DT-Correct-length-of-the-peripheral-space.patch |   5 -
 .../0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch  |  10 +-
 ...eter-to-turn-off-SPDIF-output-if-no-audio.patch |  11 +-
 ...-bugfix-for-32kHz-sample-rate-was-missing.patch |   7 +-
 ...ate-ds1307-driver-for-device-tree-support.patch |   7 +-
 .../0087-Add-device-tree-overlay-for-ds1307.patch  |  10 +-
 .../0088-config-Add-DVB_USB_DVBSKY.patch           |   5 -
 ...0089-Add-2709-platform-for-Raspberry-Pi-2.patch | 190 +-------
 ...m2709-Simplify-and-strip-down-IRQ-handler.patch | 110 ++---
 ...-support-on-SMP.-Set-up-FIQ-stack-and-han.patch |   9 +-
 ...92-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch |  49 +-
 ...ix-build-on-bcm2708-and-bcm2709-platforms.patch |   9 +-
 ...-some-barriers-back-where-they-should-be-.patch |  13 +-
 ...m2709-Add-Mailbox-resources-to-USB-driver.patch |   7 +-
 ..._otg-Setup-FIQ-on-core-1-if-1-core-active.patch |   9 +-
 ...097-bcm2709-Port-pps-gpio-and-i2c-patches.patch |   9 +-
 ...8-bcm2709-Also-accept-the-2708-machine-ID.patch |   5 -
 .../0099-BCM2709_DT-Fix-bad-merge.patch            |   5 -
 ...00-HiFiBerry-Amp-fix-device-tree-problems.patch |  11 +-
 ...Add-i2c0_baudrate-and-i2c1_baudrate-param.patch |   9 -
 ...2835-bcm2835_gpio_direction_output-must-s.patch |   7 +-
 ...ort-out-the-pullup-parasitic-power-tangle.patch |  23 +-
 .../patches-3.18/0104-config-Add-USBIP.patch       |   7 -
 ...fixup-read-modify-write-in-critical-paths.patch |  21 +-
 ...Set-the-always-on-flag-for-the-timer-to-e.patch |   5 -
 ...-i2c_bcm2708-Fix-clock-reference-counting.patch |   9 +-
 ...Rename-the-activity-LED-back-to-the-prosa.patch |   7 -
 .../0109-Add-device-tree-overlay-for-pcf2127.patch |  10 +-
 ...Add-pwr_led-and-the-required-input-trigge.patch |  32 +-
 ...CIO-Add-automatic-creation-of-device-node.patch |  11 +-
 ...ng-lock-from-atomic-context-in-i2c-driver.patch |  23 +-
 ...3-config-Add-ENC28J60-SPI-ethernet-module.patch |   7 -
 ...h-to-fix-false-positives-on-32bit-systems.patch |   7 +-
 114 files changed, 645 insertions(+), 2950 deletions(-)
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0002-Add-bcm2708_gpio-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0003-Add-quick-config.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0005-bcm2708-watchdog-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0006-Add-non-mainline-source-for-rtl8192cu-wireless-drive.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0007-Speed-up-console-framebuffer-imageblit-function.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0008-fbdev-add-FBIOCOPYAREA-ioctl.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0009-bcm2708-framebuffer-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0010-bcm2708-vchiq-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0011-vchiq-Avoid-high-load-when-blocked-and-unkillable.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0012-cma-Add-vc_cma-driver-to-enable-use-of-CMA.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0013-bcm2708-alsa-sound-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0014-Add-hwrng-hardware-random-number-generator-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0015-lirc-added-support-for-RaspberryPi-GPIO.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0016-Add-cpufreq-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0017-Added-hwmon-thermal-driver-for-reporting-core-temper.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0018-Allow-mac-address-to-be-set-in-smsc95xx.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0019-Add-Chris-Boot-s-i2c-and-spi-drivers.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0020-Perform-I2C-combined-transactions-when-possible.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0021-enabling-the-realtime-clock-1-wire-chip-DS1307-and-1.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0022-Added-Device-IDs-for-August-DVB-T-205.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0023-config-add-missing-options-from-3.6.y-kernel.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0024-config-Enable-CONFIG_MEMCG-but-leave-it-disabled-due.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0025-Add-FIQ-patch-to-dwc_otg-driver.-Enable-with-dwc_otg.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0026-dwc_otg-fiq_fsm-Base-commit-for-driver-rewrite.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0028-V4L2-Fixes-from-6by9.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0029-dmaengine-Add-support-for-BCM2708.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0030-ASoC-Add-support-for-BCM2708.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0031-ASoC-Add-support-for-PCM5102A-codec.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0032-BCM2708-Add-I2S-support-to-board-file.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0033-ASoC-Add-support-for-HifiBerry-DAC.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0034-BCM2708-Add-HifiBerry-DAC-to-board-file.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0035-BCM2708-Add-I2S-and-DMA-support-to-default-config.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0036-ASoC-BCM2708-Add-support-for-RPi-DAC.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0037-ASoC-wm8804-Implement-MCLK-configuration-options-add.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0038-ASoC-BCM-Add-support-for-HiFiBerry-Digi.-Driver-is-b.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0039-BCM2708-Added-support-for-HiFiBerry-Digi-board-Board.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0040-BCM2708-Added-HiFiBerry-Digi-configuration-option-It.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0041-ASoC-wm8804-Set-idle_bias_off-to-false-Idle-bias-has.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0042-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0044-vmstat-Workaround-for-issue-where-dirty-page-count-g.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0045-dwc_otg-Fix-various-issues-with-root-port-and-transa.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0046-fiq_fsm-Implement-hack-for-Split-Interrupt-transacti.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0047-spi-bcm2708-Prepare-for-Common-Clock-Framework-migra.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0048-BCM2708-Migrate-to-the-Common-Clock-Framework.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0049-BCM2708-Add-core-Device-Tree-support.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0050-BCM2708-armctrl-Add-IRQ-Device-Tree-support.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0051-BCM2708-use-pinctrl-bcm2835.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0052-spi-bcm2708-add-device-tree-support.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0053-i2c-bcm2708-add-device-tree-support.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0055-usb-core-make-overcurrent-messages-more-prominent.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0056-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0057-Revert-ARM-dma-Use-dma_pfn_offset-for-dma-address-tr.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0058-MMC-added-alternative-MMC-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0059-mmc-Disable-CMD23-transfers-on-all-cards.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0060-Added-support-for-HiFiBerry-DAC.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0061-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0062-Improve-__copy_to_user-and-__copy_from_user-performa.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0063-bcm2708-Allow-option-card-devices-to-be-configured-v.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0064-Adding-Device-Tree-support-for-some-RPi-audio-cards.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0065-fdt-Add-support-for-the-CONFIG_CMDLINE_EXTEND-option.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0066-config-Enable-device-tree.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0067-DT-Add-overrides-to-enable-i2c0-i2c1-spi-and-i2s.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0068-lirc-rpi-Add-device-tree-support-and-a-suitable-over.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0069-Fix-the-activity-LED-in-DT-mode.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0070-Adding-w1-gpio-device-tree-overlays.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0071-config-Enable-CONFIG_PPS.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0072-config-Add-CONFIG_IP_NF-options.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0073-config-Restore-some-missing-options.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0074-TAS5713-return-error-if-initialisation-fails.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0075-scripts-dtc-Update-to-upstream-version-with-overlay-.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0076-BCM2708_DT-Build-the-overlays-as-well.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0077-Add-device-tree-overlay-for-HiFiBerry-Amp-Amp.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0078-Add-pps-gpio-DT-overlay.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0079-config-Remove-STRICT_DEVMEM.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0080-I2C-Only-register-the-I2C-device-for-the-current-boa.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0081-Added-support-to-reserve-enable-a-GPIO-pin-to-be-use.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0082-BCM2708_DT-Correct-length-of-the-peripheral-space.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0083-BCM2708_DT-Add-pcf8523-rtc-overlay.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0084-Add-a-parameter-to-turn-off-SPDIF-output-if-no-audio.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0085-bugfix-for-32kHz-sample-rate-was-missing.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0086-Update-ds1307-driver-for-device-tree-support.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0087-Add-device-tree-overlay-for-ds1307.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0088-config-Add-DVB_USB_DVBSKY.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0089-Add-2709-platform-for-Raspberry-Pi-2.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0090-bcm2709-Simplify-and-strip-down-IRQ-handler.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0091-dwc_otg-FIQ-support-on-SMP.-Set-up-FIQ-stack-and-han.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0092-dwc_otg-introduce-fiq_fsm_spin-un-lock.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0093-fiq_fsm-fix-build-on-bcm2708-and-bcm2709-platforms.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0094-dwc_otg-put-some-barriers-back-where-they-should-be-.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0095-mach_bcm2709-Add-Mailbox-resources-to-USB-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0096-bcm2709-dwc_otg-Setup-FIQ-on-core-1-if-1-core-active.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0097-bcm2709-Port-pps-gpio-and-i2c-patches.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0098-bcm2709-Also-accept-the-2708-machine-ID.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0099-BCM2709_DT-Fix-bad-merge.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0100-HiFiBerry-Amp-fix-device-tree-problems.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0101-BCM270x_DT-Add-i2c0_baudrate-and-i2c1_baudrate-param.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0102-pinctrl-bcm2835-bcm2835_gpio_direction_output-must-s.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0103-w1-gpio-Sort-out-the-pullup-parasitic-power-tangle.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0104-config-Add-USBIP.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0105-dwc_otg-fixup-read-modify-write-in-critical-paths.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0106-BCM2709_DT-Set-the-always-on-flag-for-the-timer-to-e.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0107-i2c_bcm2708-Fix-clock-reference-counting.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0108-BCM270x_DT-Rename-the-activity-LED-back-to-the-prosa.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0109-Add-device-tree-overlay-for-pcf2127.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0110-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0111-BCM2708_VCIO-Add-automatic-creation-of-device-node.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0112-Fix-grabbing-lock-from-atomic-context-in-i2c-driver.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0113-config-Add-ENC28J60-SPI-ethernet-module.patch
 mode change 100755 => 100644 target/linux/brcm2708/patches-3.18/0114-ntp-Patch-to-fix-false-positives-on-32bit-systems.patch

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
old mode 100755
new mode 100644
index ff2ddb0..af320cc
--- 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 at 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
old mode 100755
new mode 100644
index b3f7b4a..cc29843
--- 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
old mode 100755
new mode 100644
index 73b9f7f..84fa83e
--- 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
old mode 100755
new mode 100644
index 0bc5bce..0623c49
--- 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 at 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
old mode 100755
new mode 100644
index 7f44f24..d871c98
--- 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 at 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
old mode 100755
new mode 100644
index 4b0c2b2..7e8ad0c
--- 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
old mode 100755
new mode 100644
index 0be80e1..50c3aaf
--- 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 at 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
old mode 100755
new mode 100644
index 383bc86..e584a43
--- 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 at 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
old mode 100755
new mode 100644
index 7e90770..010c13f
--- 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 at 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
old mode 100755
new mode 100644
index 2a36ed0..bb43e46
--- 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
old mode 100755
new mode 100644
index 80ccf83..0bd5249
--- 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
old mode 100755
new mode 100644
index ee501c1..2edcd35
--- 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 at 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
old mode 100755
new mode 100644
index 1619f7b6..9e31690
--- 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
old mode 100755
new mode 100644
index 2e6a726..17f9d44
--- 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
old mode 100755
new mode 100644
index f820965..88bcf51
--- 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
old mode 100755
new mode 100644
index 0a3cee2..7c98279
--- 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
old mode 100755
new mode 100644
index aa9336a..fbb2174
--- 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
old mode 100755
new mode 100644
index 1644ff4..ac059b5
--- 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 at 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
old mode 100755
new mode 100644
index cad4e68..95e4a6d
--- 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 at 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 at 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
old mode 100755
new mode 100644
index 236f9c6..c31848d
--- 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
old mode 100755
new mode 100644
index b2d715c..92aaea5
--- 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 at 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
old mode 100755
new mode 100644
index 2b0d0cb..a004a71
--- 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
old mode 100755
new mode 100644
index 56d28d7..e1c5c03
--- 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
old mode 100755
new mode 100644
index f637a43..e720949
--- 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
old mode 100755
new mode 100644
index 822f8da..8d3464f
--- 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
old mode 100755
new mode 100644
index 5ab7e48..1a57f46
--- 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
old mode 100755
new mode 100644
index bfbf804..8e8071d
--- 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 at 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
old mode 100755
new mode 100644
index bd554a9..a8fa989
--- 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
old mode 100755
new mode 100644
index d75b88d..d12b07f
--- 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 at koalo.de>");
 +MODULE_AUTHOR("Gellert Weisz <gellert at 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
old mode 100755
new mode 100644
index 59a1d9f..adaf624
--- 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 at 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
old mode 100755
new mode 100644
index 6b393d3..0bbbd8c
--- 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 at 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 at 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
old mode 100755
new mode 100644
index b2b34c6..958443f
--- 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 at 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
old mode 100755
new mode 100644
index a0ecb83..affa867
--- 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 at 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 at 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
old mode 100755
new mode 100644
index 49d2c1b..cb77239
--- 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 at 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
old mode 100755
new mode 100644
index af6bb58..c1d4fd5
--- 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 at 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
old mode 100755
new mode 100644
index 1a5c444..f01984a
--- 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 at 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 at 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 at 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
old mode 100755
new mode 100644
index 9796fc5..1a96a09
--- 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 at 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
old mode 100755
new mode 100644
index d2da14b..50def7f
--- 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 at 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 at 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
old mode 100755
new mode 100644
index 61d983b..1b2ae26
--- 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 at 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
old mode 100755
new mode 100644
index f0b0c07..ea512db
--- 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 at 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
old mode 100755
new mode 100644
index 2b9417c..b2b1a93
--- 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 at 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
old mode 100755
new mode 100644
index 263b067..aaea9f1
--- 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 at 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
old mode 100755
new mode 100644
index ab5e363..5d1aba3
--- 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
old mode 100755
new mode 100644
index 4826a87..39265f8
--- 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
old mode 100755
new mode 100644
index ae8e3ad..83778b6
--- 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
old mode 100755
new mode 100644
index 4d7a95d..680eb59
--- 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
old mode 100755
new mode 100644
index b6dc556..73be69f
--- 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 at 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
old mode 100755
new mode 100644
index 68c988a..a239873
--- 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 at 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
old mode 100755
new mode 100644
index 92538f8..73b0735
--- 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 at 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
old mode 100755
new mode 100644
index 04d58fc..f548d40
--- 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 at 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
old mode 100755
new mode 100644
index 9c1b037..84abb3e
--- 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 at 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
old mode 100755
new mode 100644
index 9eca2db..8969c30
--- 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
old mode 100755
new mode 100644
index cc3202c..acf9203
--- 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 at 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 at 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
old mode 100755
new mode 100644
index 17d6039..1bf26e8
--- 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
old mode 100755
new mode 100644
index 9731401..4a8f2fe
--- 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
old mode 100755
new mode 100644
index 889a612..2c89312
--- 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
old mode 100755
new mode 100644
index d46b5ac..c9c40c8
--- 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
old mode 100755
new mode 100644
index 0f18fde..c984412
--- 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
old mode 100755
new mode 100644
index 399228e..7e04d71
--- 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 at 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
old mode 100755
new mode 100644
index 545869a..aecb717
--- 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 at 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
old mode 100755
new mode 100644
index d1e65b4..cc810ae
--- 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 at 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 at 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
old mode 100755
new mode 100644
index e8c5281..9795269
--- 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
old mode 100755
new mode 100644
index 803e674..c986c84
--- 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
old mode 100755
new mode 100644
index 65fca7c..b5b10b0
--- 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 at 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
old mode 100755
new mode 100644
index da9219c..7f61b33
--- 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
old mode 100755
new mode 100644
index e4ae6f9..9bc653e
--- 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
old mode 100755
new mode 100644
index aed5326..3a679df
--- 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
old mode 100755
new mode 100644
index 5f6c784..fef1e2a
--- 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
old mode 100755
new mode 100644
index 9972321..5a4d65c
--- 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
old mode 100755
new mode 100644
index 772a550..bf1a634
--- 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
old mode 100755
new mode 100644
index 4806d7a..47cfbe6
--- 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
old mode 100755
new mode 100644
index c86e603..b2b46b7
--- 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
old mode 100755
new mode 100644
index 60def26..b43a40c
--- 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
old mode 100755
new mode 100644
index e042361..0db9e94
--- 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
old mode 100755
new mode 100644
index 7ccfae1..13a395b
--- 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
old mode 100755
new mode 100644
index c28c371..31facf8
--- 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
old mode 100755
new mode 100644
index df9a7df..f49369c
--- 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
old mode 100755
new mode 100644
index cb40c25..feaaa3d
--- 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
old mode 100755
new mode 100644
index 5e38fb3..3f96191
--- 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
old mode 100755
new mode 100644
index aba4202..db38f7e
--- 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
old mode 100755
new mode 100644
index f9cc88f..2d8e7ce
--- 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
old mode 100755
new mode 100644
index 827b75a..14f3e3d
--- 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
old mode 100755
new mode 100644
index 1a1c0d5..c248472
--- 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
old mode 100755
new mode 100644
index 2a6f816..080f8db
--- 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
old mode 100755
new mode 100644
index 3f2703c..df7f1bb
--- 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
old mode 100755
new mode 100644
index 5da45fc..14d7ecb
--- 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 at 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
old mode 100755
new mode 100644
index b8494cf..29cd5d8
--- 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 at 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
old mode 100755
new mode 100644
index dcdfa0d..3818dde
--- 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
old mode 100755
new mode 100644
index f15f6e1..6878838
--- 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
old mode 100755
new mode 100644
index e19e0da..b1ab2a2
--- 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
old mode 100755
new mode 100644
index 3798b63..9d1bb32
--- 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
old mode 100755
new mode 100644
index 0562a8c..19bb50a
--- 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
old mode 100755
new mode 100644
index 19ac329..0008f14
--- 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
old mode 100755
new mode 100644
index e570915..ff1594a
--- 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
old mode 100755
new mode 100644
index e71deb0..6d31858
--- 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
old mode 100755
new mode 100644
index e7f4985..61d5e4a
--- 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
old mode 100755
new mode 100644
index 2b12829..ff3973d
--- 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
old mode 100755
new mode 100644
index 13eb10e..17dbdf5
--- 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
old mode 100755
new mode 100644
index 5633af2..a150de1
--- 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
old mode 100755
new mode 100644
index f27224a..a896a35
--- 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
old mode 100755
new mode 100644
index 2648290..b01dc5e
--- 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
old mode 100755
new mode 100644
index 66f6f3b..ebcbe19
--- 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
old mode 100755
new mode 100644
index 614ad56..fa65e49
--- 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
old mode 100755
new mode 100644
index afe6205..5309681
--- 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
old mode 100755
new mode 100644
index 9a074da..cac525f
--- 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
old mode 100755
new mode 100644
index b7c86fa..c801d1c
--- 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
old mode 100755
new mode 100644
index fde2471..3da9427
--- 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
old mode 100755
new mode 100644
index 15f0e5f..b8a04ea
--- 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
old mode 100755
new mode 100644
index 8b2b931..b1eba9c
--- 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 at 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
old mode 100755
new mode 100644
index b5765c0..e522125
--- 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 at 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
old mode 100755
new mode 100644
index fc4897c..76cde14
--- 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
old mode 100755
new mode 100644
index ecd13fa..19484af
--- 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
old mode 100755
new mode 100644
index 95e8d5b..9954061
--- 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
old mode 100755
new mode 100644
index 9b781c1..35f0e4b
--- 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
-
-- 
1.8.3.2

_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list