aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/linux/adm5120/patches-3.18/050-revert_rootfs_splits.patch14
-rw-r--r--target/linux/adm5120/patches-3.18/100-rootfs_split.patch6
-rw-r--r--target/linux/ar7/patches-3.18/110-flash.patch2
-rw-r--r--target/linux/ar7/patches-3.18/160-vlynq_try_remote_first.patch6
-rw-r--r--target/linux/ar7/patches-3.18/300-add-ac49x-platform.patch4
-rw-r--r--target/linux/ar7/patches-3.18/320-ac49x-mtd-partitions.patch4
-rw-r--r--target/linux/ar7/patches-3.18/500-serial_kludge.patch8
-rw-r--r--target/linux/ar7/patches-3.18/920-ar7part.patch4
-rw-r--r--target/linux/ar7/patches-3.18/950-cpmac_titan.patch12
-rw-r--r--target/linux/ar71xx/patches-3.18/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch6
-rw-r--r--target/linux/ar71xx/patches-3.18/603-MIPS-ath79-ap121-fixes.patch24
-rw-r--r--target/linux/ar71xx/patches-3.18/604-MIPS-ath79-ap81-fixes.patch4
-rw-r--r--target/linux/ar71xx/patches-3.18/605-MIPS-ath79-db120-fixes.patch47
-rw-r--r--target/linux/ar71xx/patches-3.18/607-MIPS-ath79-ubnt-xm-fixes.patch2
-rw-r--r--target/linux/ar71xx/patches-3.18/609-MIPS-ath79-ap136-fixes.patch34
-rw-r--r--target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch2
-rw-r--r--target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch4
-rw-r--r--target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch2
-rw-r--r--target/linux/at91/patches/200-ARM-at91-udc-clockfix-backport.patch10
-rw-r--r--target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch2
-rw-r--r--target/linux/au1000/patches/003-au1000_eth_ioctl.patch2
-rw-r--r--target/linux/au1000/patches/006-codec.patch10
-rw-r--r--target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch4
-rw-r--r--target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch2
-rw-r--r--target/linux/bcm53xx/patches-3.18/058-ARM-BCM5301X-Add-USB-LED-for-Buffalo-WZR-1750DHP.patch5
-rw-r--r--target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch8
-rw-r--r--target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch8
-rw-r--r--target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch8
-rw-r--r--target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch8
-rw-r--r--target/linux/bcm53xx/patches-3.18/133-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch8
-rw-r--r--target/linux/bcm53xx/patches-3.18/320-ARM-BCM5301X-Add-Buffalo-WXR-1900DHP-clock-and-USB-p.patch5
-rw-r--r--target/linux/bcm53xx/patches-3.18/700-bgmac-add-support-for-the-3rd-bus-core-device.patch9
-rw-r--r--target/linux/bcm53xx/patches-3.18/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch7
-rw-r--r--target/linux/bcm53xx/patches-3.18/901-mtd-bcm47xxpart-workaround-for-Asus-RT-AC87U-asus-pa.patch7
-rw-r--r--target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch2
-rw-r--r--target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch2
-rw-r--r--target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch2
-rw-r--r--target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch4
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-01-MIPS-BCM47XX-Get-rid-of-calls-to-KSEG1ADDR.patch5
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch15
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-03-MIPS-BCM47XX-Make-bcma-init-NVRAM-instead-of-bcm47xx.patch11
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-04-MIPS-BCM47XX-Move-SPROM-fallback-code-into-sprom.c.patch15
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-05-MIPS-BCM47XX-Initialize-bcma-bus-later-with-mm-avail.patch13
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-06-MIPS-BCM47XX-Use-mtd-as-an-alternative-way-API-to-ge.patch7
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-07-MIPS-BCM47XX-Clean-up-nvram-header.patch15
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-01-MIPS-BCM47XX-Support-SPROM-prefixes-for-PCI-devices.patch9
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-02-MIPS-BCM47XX-Fix-detecting-Microsoft-MN-700-Asus-WL5.patch38
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-03-MIPS-BCM47XX-Use-helpers-for-reading-NVRAM-content.patch7
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-04-MIPS-BCM47XX-Use-strnchr-to-avoid-reading-out-of-the.patch7
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch30
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-06-MIPS-BCM47XX-Fix-coding-style-to-match-kernel-standa.patch39
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-07-MIPS-BCM47XX-Include-io.h-directly-and-fix-brace-ind.patch7
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-08-MIPS-BCM47XX-Increase-NVRAM-buffer-size-to-64-KiB.patch5
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-09-MIPS-BCM47XX-Don-t-try-guessing-NVRAM-size-on-MTD-pa.patch30
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-10-MIPS-BCM47xx-Keep-ID-entries-for-non-standard-device.patch13
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch23
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-12-MIPS-BCM47xx-Add-generic-function-filling-SPROM-entr.patch11
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-13-MIPS-BCM47xx-Move-filling-most-of-SPROM-to-the-gener.patch22
-rw-r--r--target/linux/brcm47xx/patches-3.18/280-activate_ssb_support_in_usb.patch2
-rw-r--r--target/linux/brcm47xx/patches-3.18/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch7
-rw-r--r--target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch6
-rw-r--r--target/linux/brcm63xx/patches-3.18/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch10
-rw-r--r--target/linux/brcm63xx/patches-3.18/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch16
-rw-r--r--target/linux/cns3xxx/patches-3.18/031-pcie_init.patch2
-rw-r--r--target/linux/cns3xxx/patches-3.18/090-timers.patch2
-rw-r--r--target/linux/gemini/patches-3.18/002-gemini-rtc.patch2
-rw-r--r--target/linux/gemini/patches-3.18/021-reset-parameters.patch6
-rw-r--r--target/linux/gemini/patches-3.18/050-gpio-to-irq.patch6
-rw-r--r--target/linux/gemini/patches-3.18/060-cache-fa.diff8
-rw-r--r--target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch37
-rw-r--r--target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch7
-rw-r--r--target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch41
-rw-r--r--target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch2
-rw-r--r--target/linux/gemini/patches-3.18/150-gemini-pata.patch20
-rw-r--r--target/linux/gemini/patches-3.18/160-gemini-timers.patch10
-rw-r--r--target/linux/generic/patches-3.18/082-usbnet-Fix-tx_packets-stat-for-FLAG_MULTI_FRAME-driv.patch107
-rw-r--r--target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch4
-rw-r--r--target/linux/generic/patches-3.18/259-regmap_dynamic.patch2
-rw-r--r--target/linux/generic/patches-3.18/304-mips_disable_fpu.patch2
-rw-r--r--target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch3
-rw-r--r--target/linux/generic/patches-3.18/650-pppoe_header_pad.patch4
-rw-r--r--target/linux/generic/patches-3.18/653-disable_netlink_trim.patch2
-rw-r--r--target/linux/generic/patches-3.18/655-increase_skb_pad.patch2
-rw-r--r--target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch2
-rw-r--r--target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch6
-rw-r--r--target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch14
-rw-r--r--target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch10
-rw-r--r--target/linux/generic/patches-3.18/721-phy_packets.patch6
-rw-r--r--target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch2
-rw-r--r--target/linux/generic/patches-3.18/902-debloat_proc.patch2
-rw-r--r--target/linux/imx6/patches-3.18/200-pci_designware_add-ability-for-custom-swizzle.patch2
-rw-r--r--target/linux/ipq806x/patches-3.18/001-spi-qup-Add-DMA-capabilities.patch6
-rw-r--r--target/linux/ipq806x/patches-3.18/011-watchdog-qcom-use-timer-devicetree-binding.patch11
-rw-r--r--target/linux/ipq806x/patches-3.18/012-ARM-qcom-add-description-of-KPSS-WDT-for-IPQ8064.patch5
-rw-r--r--target/linux/ipq806x/patches-3.18/022-add-db149-dts.patch8
-rw-r--r--target/linux/ipq806x/patches-3.18/102-soc-qcom-gsbi-Add-support-for-ADM-CRCI-muxing.patch15
-rw-r--r--target/linux/ipq806x/patches-3.18/110-DT-PCI-qcom-Document-PCIe-devicetree-bindings.patch3
-rw-r--r--target/linux/ipq806x/patches-3.18/300-arch-arm-force-ZRELADDR-on-arch-qcom.patch12
-rw-r--r--target/linux/ixp4xx/patches-3.18/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch58
-rw-r--r--target/linux/ixp4xx/patches-3.18/002-ixp4xx_eth-use-parent-device-for-dma-allocations.patch14
-rw-r--r--target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch28
-rw-r--r--target/linux/ixp4xx/patches-3.18/030-gpio_line_config.patch6
-rw-r--r--target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch2
-rw-r--r--target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch22
-rw-r--r--target/linux/ixp4xx/patches-3.18/175-avila_hss_audio_support.patch4
-rw-r--r--target/linux/ixp4xx/patches-3.18/203-npe_driver_mask_phy_features.patch2
-rw-r--r--target/linux/ixp4xx/patches-3.18/205-npe_driver_separate_phy_functions.patch16
-rw-r--r--target/linux/ixp4xx/patches-3.18/206-npe_driver_add_update_link_function.patch6
-rw-r--r--target/linux/ixp4xx/patches-3.18/207-npe_driver_multiphy_support.patch8
-rw-r--r--target/linux/ixp4xx/patches-3.18/295-latch_led_driver.patch6
-rw-r--r--target/linux/ixp4xx/patches-3.18/304-ixp4xx_eth_jumboframe.patch6
-rw-r--r--target/linux/ixp4xx/patches-3.18/600-skb_avoid_dmabounce.patch2
-rw-r--r--target/linux/ixp4xx/patches-3.18/910-ixp4xx-nr_irq_lines.patch2
-rw-r--r--target/linux/lantiq/patches-3.18/0026-NET-multi-phy-support.patch6
-rw-r--r--target/linux/lantiq/patches-3.18/0030-GPIO-add-named-gpio-exports.patch2
-rw-r--r--target/linux/lantiq/patches-3.18/0101-mtd-split.patch6
-rw-r--r--target/linux/malta/patches/330-MIPS-Malta-Mark-kernel-code-and-kernel-data-segments.patch7
-rw-r--r--target/linux/mcs814x/patches-3.18/001-platform.patch2
-rw-r--r--target/linux/mpc85xx/patches-3.18/150-powerpc-85xx-fix-etsec-ranges.patch30
-rw-r--r--target/linux/mvebu/patches-3.18/031-disable_cpu_idle_on_armada_38x.patch62
-rw-r--r--target/linux/mvebu/patches-3.18/060-cpuidle-mvebu-Fix-the-CPU-PM-notifier-usage.patch38
-rw-r--r--target/linux/mvebu/patches-3.18/198-gpio_mvebu_suspend.patch6
-rw-r--r--target/linux/mvebu/patches-3.18/199-gpio_mvebu_drop_owner.patch2
-rw-r--r--target/linux/mvebu/patches-3.18/200-gpio_mvebu_checkpatch_fixes.patch14
-rw-r--r--target/linux/mvebu/patches-3.18/201-gpio_mvebu_fix_probe_cleanup_on_error.patch6
-rw-r--r--target/linux/mvebu/patches-3.18/202-gpio_mvebu_add_limited_pwm_support.patch10
-rw-r--r--target/linux/mvebu/patches-3.18/206-mvebu_wrt1900ac_use_pwm-fan_rather_than_gpio-fan.patch2
-rw-r--r--target/linux/mxs/patches-3.18/001-soc-audio-support.patch41
-rw-r--r--target/linux/mxs/patches-3.18/101-soc-audio-dts.patch2
-rw-r--r--target/linux/mxs/patches-3.18/120-dt-add-i2c.patch4
-rw-r--r--target/linux/octeon/patches-3.18/130-MIPS-octeon-add-semaphore-to-serialize-bootbus-access.patch18
-rw-r--r--target/linux/octeon/patches-3.18/140-MIPS-OCTEON-Update-octeon-model.h-code-for-new-SoCs.patch6
-rw-r--r--target/linux/octeon/patches-3.18/150-mmc-octeon-add-host-driver-for-octeon-mmc-controller.patch14
-rw-r--r--target/linux/octeon/patches-3.18/160-cmdline-hack.patch4
-rw-r--r--target/linux/oxnas/patches-3.18/010-arm_introduce-dma-fiq-irq-broadcast.patch20
-rw-r--r--target/linux/oxnas/patches-3.18/250-add-plxtech-vendor-prefix.patch8
-rw-r--r--target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch30
-rw-r--r--target/linux/oxnas/patches-3.18/310-oxnas-clocksource.patch12
-rw-r--r--target/linux/oxnas/patches-3.18/320-oxnas-irqchip.patch18
-rw-r--r--target/linux/oxnas/patches-3.18/330-oxnas-pinctrl.patch12
-rw-r--r--target/linux/oxnas/patches-3.18/340-oxnas-pcie.patch12
-rw-r--r--target/linux/oxnas/patches-3.18/350-oxnas-reset.patch12
-rw-r--r--target/linux/oxnas/patches-3.18/400-oxnas-nand.patch12
-rw-r--r--target/linux/oxnas/patches-3.18/500-oxnas-sata.patch14
-rw-r--r--target/linux/oxnas/patches-3.18/800-oxnas-ehci.patch12
-rw-r--r--target/linux/oxnas/patches-3.18/900-more-boards.patch6
-rw-r--r--target/linux/oxnas/patches-3.18/999-libata-hacks.patch26
-rw-r--r--target/linux/ramips/patches-3.18/0012-MIPS-ralink-add-MT7621-support.patch18
-rw-r--r--target/linux/ramips/patches-3.18/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch8
-rw-r--r--target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0030-GPIO-add-named-gpio-exports.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0031-PCI-MIPS-adds-rt2880-pci-support.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0033-NET-multi-phy-support.patch6
-rw-r--r--target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch4
-rw-r--r--target/linux/ramips/patches-3.18/0038-USB-add-OHCI-EHCI-OF-binding.patch4
-rw-r--r--target/linux/ramips/patches-3.18/0044-mtd-add-chunked-read-io-to-m25p80.patch8
-rw-r--r--target/linux/ramips/patches-3.18/0060-soc_type.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch94
-rw-r--r--target/linux/ramips/patches-3.18/0063-cevt-rt3352.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0100-mtd-split-remove-padding.patch2
-rw-r--r--target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch4
-rw-r--r--[-rwxr-xr-x]target/linux/ramips/patches-3.18/0111-i2c-MIPS-add-mt7621-I2C-driver.patch22
-rw-r--r--target/linux/rb532/patches-3.18/001-cmdline_hack.patch2
-rw-r--r--target/linux/rb532/patches-3.18/002-rb532_nand_fixup.patch2
-rw-r--r--target/linux/sunxi/patches-3.18/100-dt-sun7i-add_spi0_pins_a.patch2
-rw-r--r--target/linux/sunxi/patches-3.18/101-dt-sun7i-add-uart3_pins.patch2
-rw-r--r--target/linux/sunxi/patches-3.18/102-dt-sun7i-add_mmc2_pins.patch2
-rw-r--r--target/linux/sunxi/patches-3.18/110-input-add-sun4i-lradc.patch16
-rw-r--r--target/linux/sunxi/patches-3.18/111-dt-sun4i-add-lradc.patch2
-rw-r--r--target/linux/sunxi/patches-3.18/112-dt-sun5i-add-lradc.patch8
-rw-r--r--target/linux/sunxi/patches-3.18/113-dt-sun7i-add-lradc.patch4
-rw-r--r--target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch10
-rw-r--r--target/linux/sunxi/patches-3.18/116-dt-sunxi-update-compats-for-tempcurves.patch6
-rw-r--r--target/linux/sunxi/patches-3.18/130-input-add-axp20x-pek.patch9
-rw-r--r--target/linux/sunxi/patches-3.18/150-pwm-add-sunxi-driver.patch11
-rw-r--r--target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch16
-rw-r--r--target/linux/sunxi/patches-3.18/201-dt-sun7i-add-oob-irq-to-bcm-sdio-wifi.patch4
-rw-r--r--target/linux/sunxi/patches-3.18/202-dt-sun7i-add-bluetooth-to-cubietruck.patch2
-rw-r--r--target/linux/sunxi/patches-3.18/270-dt-sun7i-add-ss-to-a20.patch2
-rw-r--r--target/linux/sunxi/patches-3.18/271-crypto-add-ss.patch23
-rw-r--r--target/linux/sunxi/patches-3.18/300-dt-sun7i-add-bananapi.patch5
-rw-r--r--target/linux/sunxi/patches-3.18/301-dt-sun7i-add-bananapro.patch9
-rw-r--r--target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch10
-rw-r--r--target/linux/x86/patches-3.18/011-tune_lzma_options.patch2
-rw-r--r--target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch7
-rw-r--r--target/linux/xburst/patches-3.18/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch9
-rw-r--r--target/linux/xburst/patches-3.18/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch7
-rw-r--r--target/linux/xburst/patches-3.18/004-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch7
-rw-r--r--target/linux/xburst/patches-3.18/005-RTC-JZ4740-Init-the-regulator-register-on-startup.patch9
-rw-r--r--target/linux/xburst/patches-3.18/006-Add-ili8960-lcd-driver.patch10
-rw-r--r--target/linux/xburst/patches-3.18/007-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch7
193 files changed, 623 insertions, 1458 deletions
diff --git a/target/linux/adm5120/patches-3.18/050-revert_rootfs_splits.patch b/target/linux/adm5120/patches-3.18/050-revert_rootfs_splits.patch
index 8b1191a022..7181b91c5f 100644
--- a/target/linux/adm5120/patches-3.18/050-revert_rootfs_splits.patch
+++ b/target/linux/adm5120/patches-3.18/050-revert_rootfs_splits.patch
@@ -46,7 +46,7 @@
}
if (slave->offset == MTDPART_OFS_RETAIN) {
slave->offset = cur_offset;
-@@ -629,10 +628,8 @@ out_register:
+@@ -626,10 +625,8 @@ out_register:
return slave;
}
@@ -59,7 +59,7 @@
{
struct mtd_partition part;
struct mtd_part *p, *new;
-@@ -664,24 +661,21 @@ __mtd_add_partition(struct mtd_info *mas
+@@ -661,24 +658,21 @@ __mtd_add_partition(struct mtd_info *mas
end = offset + length;
mutex_lock(&mtd_partitions_mutex);
@@ -94,7 +94,7 @@
return ret;
err_inv:
-@@ -691,12 +685,6 @@ err_inv:
+@@ -688,12 +682,6 @@ err_inv:
}
EXPORT_SYMBOL_GPL(mtd_add_partition);
@@ -107,7 +107,7 @@
int mtd_del_partition(struct mtd_info *master, int partno)
{
struct mtd_part *slave, *next;
-@@ -720,166 +708,6 @@ int mtd_del_partition(struct mtd_info *m
+@@ -717,166 +705,6 @@ int mtd_del_partition(struct mtd_info *m
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@@ -274,7 +274,7 @@
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
-@@ -909,7 +737,6 @@ int add_mtd_partitions(struct mtd_info *
+@@ -906,7 +734,6 @@ int add_mtd_partitions(struct mtd_info *
mutex_unlock(&mtd_partitions_mutex);
add_mtd_device(&slave->mtd);
@@ -282,7 +282,7 @@
cur_offset = slave->offset + slave->mtd.size;
}
-@@ -939,30 +766,6 @@ static struct mtd_part_parser *get_parti
+@@ -936,30 +763,6 @@ static struct mtd_part_parser *get_parti
#define put_partition_parser(p) do { module_put((p)->owner); } while (0)
@@ -313,7 +313,7 @@
void register_mtd_parser(struct mtd_part_parser *p)
{
spin_lock(&part_parser_lock);
-@@ -1036,38 +839,6 @@ int parse_mtd_partitions(struct mtd_info
+@@ -1033,38 +836,6 @@ int parse_mtd_partitions(struct mtd_info
return ret;
}
diff --git a/target/linux/adm5120/patches-3.18/100-rootfs_split.patch b/target/linux/adm5120/patches-3.18/100-rootfs_split.patch
index 22241e4fdf..44108a608a 100644
--- a/target/linux/adm5120/patches-3.18/100-rootfs_split.patch
+++ b/target/linux/adm5120/patches-3.18/100-rootfs_split.patch
@@ -35,7 +35,7 @@
/*
* MTD methods which simply translate the effective address and pass through
-@@ -708,6 +710,144 @@ int mtd_del_partition(struct mtd_info *m
+@@ -705,6 +707,144 @@ int mtd_del_partition(struct mtd_info *m
}
EXPORT_SYMBOL_GPL(mtd_del_partition);
@@ -180,7 +180,7 @@
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
-@@ -724,6 +864,9 @@ int add_mtd_partitions(struct mtd_info *
+@@ -721,6 +861,9 @@ int add_mtd_partitions(struct mtd_info *
struct mtd_part *slave;
uint64_t cur_offset = 0;
int i;
@@ -190,7 +190,7 @@
printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);
-@@ -738,12 +881,53 @@ int add_mtd_partitions(struct mtd_info *
+@@ -735,12 +878,53 @@ int add_mtd_partitions(struct mtd_info *
add_mtd_device(&slave->mtd);
diff --git a/target/linux/ar7/patches-3.18/110-flash.patch b/target/linux/ar7/patches-3.18/110-flash.patch
index e12eec5f7d..e4aeffd3e2 100644
--- a/target/linux/ar7/patches-3.18/110-flash.patch
+++ b/target/linux/ar7/patches-3.18/110-flash.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
-@@ -16,7 +16,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
+@@ -12,7 +12,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
diff --git a/target/linux/ar7/patches-3.18/160-vlynq_try_remote_first.patch b/target/linux/ar7/patches-3.18/160-vlynq_try_remote_first.patch
index 841eb2307b..1d1310d82e 100644
--- a/target/linux/ar7/patches-3.18/160-vlynq_try_remote_first.patch
+++ b/target/linux/ar7/patches-3.18/160-vlynq_try_remote_first.patch
@@ -199,7 +199,7 @@
return 0;
}
-@@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct
+@@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct
return result;
switch (dev->divisor) {
@@ -229,7 +229,7 @@
break;
case vlynq_ldiv1:
case vlynq_ldiv2:
-@@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct
+@@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct
case vlynq_ldiv6:
case vlynq_ldiv7:
case vlynq_ldiv8:
@@ -251,7 +251,7 @@
return 0;
}
break;
-@@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct
+@@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct
case vlynq_rdiv6:
case vlynq_rdiv7:
case vlynq_rdiv8:
diff --git a/target/linux/ar7/patches-3.18/300-add-ac49x-platform.patch b/target/linux/ar7/patches-3.18/300-add-ac49x-platform.patch
index 92bd4f3b8c..ccdc84d309 100644
--- a/target/linux/ar7/patches-3.18/300-add-ac49x-platform.patch
+++ b/target/linux/ar7/patches-3.18/300-add-ac49x-platform.patch
@@ -37,7 +37,7 @@
#define AR7_IRQ_UART0 15
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -89,7 +89,7 @@ config AR7
+@@ -94,7 +94,7 @@ config AR7
select HAVE_CLK
help
Support for the Texas Instruments AR7 System-on-a-Chip
@@ -46,7 +46,7 @@
config ATH79
bool "Atheros AR71XX/AR724X/AR913X based boards"
-@@ -796,6 +796,7 @@ config NLM_XLP_BOARD
+@@ -835,6 +835,7 @@ config MIPS_PARAVIRT
endchoice
source "arch/mips/alchemy/Kconfig"
diff --git a/target/linux/ar7/patches-3.18/320-ac49x-mtd-partitions.patch b/target/linux/ar7/patches-3.18/320-ac49x-mtd-partitions.patch
index e6b08d669a..53ac07273a 100644
--- a/target/linux/ar7/patches-3.18/320-ac49x-mtd-partitions.patch
+++ b/target/linux/ar7/patches-3.18/320-ac49x-mtd-partitions.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
-@@ -169,6 +169,11 @@ config MTD_OF_PARTS
+@@ -164,6 +164,11 @@ config MTD_OF_PARTS
the partition map from the children of the flash node,
as described in Documentation/devicetree/booting-without-of.txt.
@@ -14,7 +14,7 @@
---help---
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
-@@ -15,6 +15,7 @@ mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsp
+@@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
diff --git a/target/linux/ar7/patches-3.18/500-serial_kludge.patch b/target/linux/ar7/patches-3.18/500-serial_kludge.patch
index e5d5a914a3..08bd6a6f2d 100644
--- a/target/linux/ar7/patches-3.18/500-serial_kludge.patch
+++ b/target/linux/ar7/patches-3.18/500-serial_kludge.patch
@@ -1,6 +1,6 @@
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
-@@ -323,6 +323,13 @@ static const struct serial8250_config ua
+@@ -329,6 +329,13 @@ static const struct serial8250_config ua
.fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
.flags = UART_CAP_FIFO | UART_CAP_AFE,
},
@@ -14,9 +14,9 @@
};
/* Uart divisor latch read */
-@@ -2861,7 +2868,11 @@ static void serial8250_console_putchar(s
- struct uart_8250_port *up =
- container_of(port, struct uart_8250_port, port);
+@@ -3174,7 +3181,11 @@ static void serial8250_console_putchar(s
+ {
+ struct uart_8250_port *up = up_to_u8250p(port);
+#ifdef CONFIG_AR7
+ wait_for_xmitr(up, BOTH_EMPTY);
diff --git a/target/linux/ar7/patches-3.18/920-ar7part.patch b/target/linux/ar7/patches-3.18/920-ar7part.patch
index 84f68d82ab..9948858d05 100644
--- a/target/linux/ar7/patches-3.18/920-ar7part.patch
+++ b/target/linux/ar7/patches-3.18/920-ar7part.patch
@@ -33,7 +33,7 @@
size_t len;
unsigned int pre_size = master->erasesize, post_size = 0;
unsigned int root_offset = ROOT_OFFSET;
-@@ -55,6 +62,16 @@ static int create_mtd_partitions(struct
+@@ -55,6 +62,16 @@ static int create_mtd_partitions(struct
int retries = 10;
struct mtd_partition *ar7_parts;
@@ -50,7 +50,7 @@
ar7_parts = kzalloc(sizeof(*ar7_parts) * AR7_PARTS, GFP_KERNEL);
if (!ar7_parts)
return -ENOMEM;
-@@ -83,34 +100,39 @@ static int create_mtd_partitions(struct
+@@ -83,34 +100,39 @@ static int create_mtd_partitions(struct
pre_size = offset;
diff --git a/target/linux/ar7/patches-3.18/950-cpmac_titan.patch b/target/linux/ar7/patches-3.18/950-cpmac_titan.patch
index 1d76e9fd78..f1d432cc4c 100644
--- a/target/linux/ar7/patches-3.18/950-cpmac_titan.patch
+++ b/target/linux/ar7/patches-3.18/950-cpmac_titan.patch
@@ -1,7 +1,7 @@
--- a/drivers/net/ethernet/ti/cpmac.c
+++ b/drivers/net/ethernet/ti/cpmac.c
-@@ -1154,6 +1154,8 @@ static int cpmac_probe(struct platform_d
- goto fail;
+@@ -1146,6 +1146,8 @@ static int cpmac_probe(struct platform_d
+ goto out;
}
+ ar7_device_reset(pdata->reset_bit);
@@ -9,7 +9,7 @@
dev->irq = platform_get_irq_byname(pdev, "irq");
dev->netdev_ops = &cpmac_netdev_ops;
-@@ -1232,7 +1234,7 @@ int cpmac_init(void)
+@@ -1227,7 +1229,7 @@ int cpmac_init(void)
cpmac_mii->reset = cpmac_mdio_reset;
cpmac_mii->irq = mii_irqs;
@@ -17,8 +17,8 @@
+ cpmac_mii->priv = ioremap(ar7_is_titan() ? TITAN_REGS_MDIO : AR7_REGS_MDIO, 256);
if (!cpmac_mii->priv) {
- printk(KERN_ERR "Can't ioremap mdio registers\n");
-@@ -1243,10 +1245,16 @@ int cpmac_init(void)
+ pr_err("Can't ioremap mdio registers\n");
+@@ -1238,10 +1240,16 @@ int cpmac_init(void)
#warning FIXME: unhardcode gpio&reset bits
ar7_gpio_disable(26);
ar7_gpio_disable(27);
@@ -37,7 +37,7 @@
cpmac_mii->reset(cpmac_mii);
for (i = 0; i < 300; i++) {
-@@ -1263,7 +1271,11 @@ int cpmac_init(void)
+@@ -1258,7 +1266,11 @@ int cpmac_init(void)
mask = 0;
}
diff --git a/target/linux/ar71xx/patches-3.18/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch b/target/linux/ar71xx/patches-3.18/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch
index d9b8682f0d..b41c733c5e 100644
--- a/target/linux/ar71xx/patches-3.18/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch
+++ b/target/linux/ar71xx/patches-3.18/501-MIPS-ath79-add-mac-argument-to-ath79_register_wmac.patch
@@ -48,7 +48,7 @@
#endif /* _ATH79_DEV_WMAC_H */
--- a/arch/mips/ath79/mach-ap81.c
+++ b/arch/mips/ath79/mach-ap81.c
-@@ -98,7 +98,7 @@ static void __init ap81_setup(void)
+@@ -92,7 +92,7 @@ static void __init ap81_setup(void)
ap81_gpio_keys);
ath79_register_spi(&ap81_spi_data, ap81_spi_info,
ARRAY_SIZE(ap81_spi_info));
@@ -59,7 +59,7 @@
--- a/arch/mips/ath79/mach-db120.c
+++ b/arch/mips/ath79/mach-db120.c
-@@ -134,7 +134,7 @@ static void __init db120_setup(void)
+@@ -128,7 +128,7 @@ static void __init db120_setup(void)
ath79_register_spi(&db120_spi_data, db120_spi_info,
ARRAY_SIZE(db120_spi_info));
ath79_register_usb();
@@ -70,7 +70,7 @@
--- a/arch/mips/ath79/mach-ap121.c
+++ b/arch/mips/ath79/mach-ap121.c
-@@ -91,7 +91,7 @@ static void __init ap121_setup(void)
+@@ -85,7 +85,7 @@ static void __init ap121_setup(void)
ath79_register_spi(&ap121_spi_data, ap121_spi_info,
ARRAY_SIZE(ap121_spi_info));
ath79_register_usb();
diff --git a/target/linux/ar71xx/patches-3.18/603-MIPS-ath79-ap121-fixes.patch b/target/linux/ar71xx/patches-3.18/603-MIPS-ath79-ap121-fixes.patch
index 36139b0905..706e5afdfe 100644
--- a/target/linux/ar71xx/patches-3.18/603-MIPS-ath79-ap121-fixes.patch
+++ b/target/linux/ar71xx/patches-3.18/603-MIPS-ath79-ap121-fixes.patch
@@ -45,26 +45,22 @@
};
-static struct spi_board_info ap121_spi_info[] = {
-- {
++static struct gpio_led ap121_mini_leds_gpio[] __initdata = {
+ {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "mx25l1606e",
- }
--};
--
--static struct ath79_spi_platform_data ap121_spi_data = {
-- .bus_num = 0,
-- .num_chipselect = 1,
--};
-+static struct gpio_led ap121_mini_leds_gpio[] __initdata = {
-+ {
+ .name = "ap121:green:wlan",
+ .gpio = AP121_MINI_GPIO_LED_WLAN,
+ .active_low = 0,
+ },
-+};
-+
+ };
+
+-static struct ath79_spi_platform_data ap121_spi_data = {
+- .bus_num = 0,
+- .num_chipselect = 1,
+static struct gpio_keys_button ap121_mini_gpio_keys[] __initdata = {
+ {
+ .desc = "jumpstart button",
@@ -82,8 +78,8 @@
+ .gpio = AP121_MINI_GPIO_BTN_RESET,
+ .active_low = 1,
+ }
-+};
-+
+ };
+
+static void __init ap121_common_setup(void)
+{
+ u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
@@ -103,7 +99,7 @@
+ /* WAN port */
+ ath79_register_eth(0);
+}
-
++
static void __init ap121_setup(void)
{
- u8 *cal_data = (u8 *) KSEG1ADDR(AP121_CAL_DATA_ADDR);
diff --git a/target/linux/ar71xx/patches-3.18/604-MIPS-ath79-ap81-fixes.patch b/target/linux/ar71xx/patches-3.18/604-MIPS-ath79-ap81-fixes.patch
index 2817453a4d..3112eab6bb 100644
--- a/target/linux/ar71xx/patches-3.18/604-MIPS-ath79-ap81-fixes.patch
+++ b/target/linux/ar71xx/patches-3.18/604-MIPS-ath79-ap81-fixes.patch
@@ -20,7 +20,7 @@
#define AP81_GPIO_LED_STATUS 1
#define AP81_GPIO_LED_AOSS 3
-@@ -67,20 +102,6 @@ static struct gpio_keys_button ap81_gpio
+@@ -67,20 +71,6 @@ static struct gpio_keys_button ap81_gpio
}
};
@@ -41,7 +41,7 @@
static void __init ap81_setup(void)
{
u8 *cal_data = (u8 *) KSEG1ADDR(AP81_CAL_DATA_ADDR);
-@@ -90,10 +105,24 @@ static void __init ap81_setup(void)
+@@ -90,10 +80,24 @@ static void __init ap81_setup(void)
ath79_register_gpio_keys_polled(-1, AP81_KEYS_POLL_INTERVAL,
ARRAY_SIZE(ap81_gpio_keys),
ap81_gpio_keys);
diff --git a/target/linux/ar71xx/patches-3.18/605-MIPS-ath79-db120-fixes.patch b/target/linux/ar71xx/patches-3.18/605-MIPS-ath79-db120-fixes.patch
index d62263fcdf..080165a802 100644
--- a/target/linux/ar71xx/patches-3.18/605-MIPS-ath79-db120-fixes.patch
+++ b/target/linux/ar71xx/patches-3.18/605-MIPS-ath79-db120-fixes.patch
@@ -67,14 +67,6 @@
},
};
-+static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = {
-+ .mode = AR8327_PAD_MAC_RGMII,
-+ .txclk_delay_en = true,
-+ .rxclk_delay_en = true,
-+ .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
-+ .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
-+};
-+
-static struct spi_board_info db120_spi_info[] = {
- {
- .bus_num = 0,
@@ -82,6 +74,17 @@
- .max_speed_hz = 25000000,
- .modalias = "s25sl064a",
- }
++static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = {
++ .mode = AR8327_PAD_MAC_RGMII,
++ .txclk_delay_en = true,
++ .rxclk_delay_en = true,
++ .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
++ .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
+ };
+
+-static struct ath79_spi_platform_data db120_spi_data = {
+- .bus_num = 0,
+- .num_chipselect = 1,
+static struct ar8327_led_cfg db120_ar8327_led_cfg = {
+ .led_ctrl0 = 0x00000000,
+ .led_ctrl1 = 0xc737c737,
@@ -90,21 +93,6 @@
+ .open_drain = true,
};
--static struct ath79_spi_platform_data db120_spi_data = {
-- .bus_num = 0,
-- .num_chipselect = 1,
-+static struct ar8327_platform_data db120_ar8327_data = {
-+ .pad0_cfg = &db120_ar8327_pad0_cfg,
-+ .port0_cfg = {
-+ .force_link = 1,
-+ .speed = AR8327_PORT_SPEED_1000,
-+ .duplex = 1,
-+ .txpause = 1,
-+ .rxpause = 1,
-+ },
-+ .led_cfg = &db120_ar8327_led_cfg,
- };
-
-#ifdef CONFIG_PCI
-static struct ath9k_platform_data db120_ath9k_data;
-
@@ -123,7 +111,18 @@
-{
- memcpy(db120_ath9k_data.eeprom_data, eeprom,
- sizeof(db120_ath9k_data.eeprom_data));
--
++static struct ar8327_platform_data db120_ar8327_data = {
++ .pad0_cfg = &db120_ar8327_pad0_cfg,
++ .port0_cfg = {
++ .force_link = 1,
++ .speed = AR8327_PORT_SPEED_1000,
++ .duplex = 1,
++ .txpause = 1,
++ .rxpause = 1,
++ },
++ .led_cfg = &db120_ar8327_led_cfg,
++};
+
- ath79_pci_set_plat_dev_init(db120_pci_plat_dev_init);
- ath79_register_pci();
-}
diff --git a/target/linux/ar71xx/patches-3.18/607-MIPS-ath79-ubnt-xm-fixes.patch b/target/linux/ar71xx/patches-3.18/607-MIPS-ath79-ubnt-xm-fixes.patch
index 6170a0a868..50be509e6c 100644
--- a/target/linux/ar71xx/patches-3.18/607-MIPS-ath79-ubnt-xm-fixes.patch
+++ b/target/linux/ar71xx/patches-3.18/607-MIPS-ath79-ubnt-xm-fixes.patch
@@ -88,7 +88,7 @@
ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xm_leds_gpio),
ubnt_xm_leds_gpio);
-@@ -114,10 +71,8 @@ static void __init ubnt_xm_init(void)
+@@ -114,10 +77,8 @@ static void __init ubnt_xm_init(void)
ARRAY_SIZE(ubnt_xm_gpio_keys),
ubnt_xm_gpio_keys);
diff --git a/target/linux/ar71xx/patches-3.18/609-MIPS-ath79-ap136-fixes.patch b/target/linux/ar71xx/patches-3.18/609-MIPS-ath79-ap136-fixes.patch
index af7368a4d9..bf64fc6bf5 100644
--- a/target/linux/ar71xx/patches-3.18/609-MIPS-ath79-ap136-fixes.patch
+++ b/target/linux/ar71xx/patches-3.18/609-MIPS-ath79-ap136-fixes.patch
@@ -90,6 +90,13 @@
},
};
+-static struct spi_board_info ap136_spi_info[] = {
+- {
+- .bus_num = 0,
+- .chip_select = 0,
+- .max_speed_hz = 25000000,
+- .modalias = "mx25l6405d",
+- }
+static struct ar8327_pad_cfg ap136_ar8327_pad0_cfg;
+static struct ar8327_pad_cfg ap136_ar8327_pad6_cfg;
+
@@ -110,26 +117,21 @@
+ .txpause = 1,
+ .rxpause = 1,
+ },
-+};
-+
--static struct spi_board_info ap136_spi_info[] = {
+ };
+
+-static struct ath79_spi_platform_data ap136_spi_data = {
+- .bus_num = 0,
+- .num_chipselect = 1,
+static struct mdio_board_info ap136_mdio0_info[] = {
- {
-- .bus_num = 0,
-- .chip_select = 0,
-- .max_speed_hz = 25000000,
-- .modalias = "mx25l6405d",
-- }
++ {
+ .bus_id = "ag71xx-mdio.0",
+ .phy_addr = 0,
+ .platform_data = &ap136_ar8327_data,
+ },
};
--static struct ath79_spi_platform_data ap136_spi_data = {
-- .bus_num = 0,
-- .num_chipselect = 1,
--};
+-#ifdef CONFIG_PCI
+-static struct ath9k_platform_data ap136_ath9k_data;
+static void __init ap136_common_setup(void)
+{
+ u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
@@ -149,12 +151,10 @@
+
+ ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
--#ifdef CONFIG_PCI
--static struct ath9k_platform_data ap136_ath9k_data;
+-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
+ ath79_register_mdio(0, 0x0);
+ ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
-
--static int ap136_pci_plat_dev_init(struct pci_dev *dev)
++
+ mdiobus_register_board_info(ap136_mdio0_info,
+ ARRAY_SIZE(ap136_mdio0_info));
+
diff --git a/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch
index bab5736735..7e22859343 100644
--- a/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-3.18/902-unaligned_access_hacks.patch
@@ -835,7 +835,7 @@
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -3677,14 +3677,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3678,14 +3678,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
diff --git a/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch b/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch
index 056a690ca0..1d461eb642 100644
--- a/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch
+++ b/target/linux/ar71xx/patches-3.18/903-MIPS-ath79-ubnt-rocket-m-xw-support.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h
-@@ -169,6 +169,7 @@
+@@ -169,6 +169,7 @@ enum ath79_mach_type {
ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
@@ -10,7 +10,7 @@
ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
--- a/arch/mips/ath79/mach-ubnt-xm.c
+++ b/arch/mips/ath79/mach-ubnt-xm.c
-@@ -449,12 +449,42 @@
+@@ -449,12 +449,42 @@ static void __init ubnt_loco_m_xw_setup(
ath79_register_eth(0);
}
diff --git a/target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch b/target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch
index 0465552c1b..b5a9b68f3d 100644
--- a/target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch
+++ b/target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -20,6 +20,7 @@
+@@ -20,6 +20,7 @@ dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb
dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb
# sam9g20
dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb
diff --git a/target/linux/at91/patches/200-ARM-at91-udc-clockfix-backport.patch b/target/linux/at91/patches/200-ARM-at91-udc-clockfix-backport.patch
index 1aec3d00b8..32e1ac540d 100644
--- a/target/linux/at91/patches/200-ARM-at91-udc-clockfix-backport.patch
+++ b/target/linux/at91/patches/200-ARM-at91-udc-clockfix-backport.patch
@@ -1,6 +1,6 @@
--- a/drivers/usb/gadget/udc/at91_udc.c
+++ b/drivers/usb/gadget/udc/at91_udc.c
-@@ -870,8 +870,6 @@
+@@ -870,8 +870,6 @@ static void clk_on(struct at91_udc *udc)
return;
udc->clocked = 1;
@@ -9,7 +9,7 @@
clk_enable(udc->iclk);
clk_enable(udc->fclk);
}
-@@ -884,8 +882,6 @@
+@@ -884,8 +882,6 @@ static void clk_off(struct at91_udc *udc
udc->gadget.speed = USB_SPEED_UNKNOWN;
clk_disable(udc->fclk);
clk_disable(udc->iclk);
@@ -18,7 +18,7 @@
}
/*
-@@ -1766,27 +1762,18 @@
+@@ -1766,27 +1762,18 @@ static int at91udc_probe(struct platform
udc_reinit(udc);
/* get interface and function clocks */
@@ -51,7 +51,7 @@
retval = clk_prepare_enable(udc->iclk);
if (retval)
-@@ -1860,12 +1847,7 @@
+@@ -1860,12 +1847,7 @@ fail1c:
clk_unprepare(udc->iclk);
fail1b:
clk_unprepare(udc->fclk);
@@ -64,7 +64,7 @@
if (!IS_ERR(udc->fclk))
clk_put(udc->fclk);
if (!IS_ERR(udc->iclk))
-@@ -1911,15 +1893,11 @@
+@@ -1911,15 +1893,11 @@ static int __exit at91udc_remove(struct
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
release_mem_region(res->start, resource_size(res));
diff --git a/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch b/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch
index a97850ac91..1da2e4d4f4 100644
--- a/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch
+++ b/target/linux/at91/patches/901-AT91-flexibity-default-leds-to-heartbeat.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/mach-at91/board-flexibity.c
+++ b/arch/arm/mach-at91/board-flexibity.c
-@@ -89,49 +89,49 @@ static struct gpio_led flexibity_leds[]
+@@ -90,49 +90,49 @@ static struct gpio_led flexibity_leds[]
.name = "usb1:green",
.gpio = AT91_PIN_PA12,
.active_low = 1,
diff --git a/target/linux/au1000/patches/003-au1000_eth_ioctl.patch b/target/linux/au1000/patches/003-au1000_eth_ioctl.patch
index 78dae580fd..58927f590d 100644
--- a/target/linux/au1000/patches/003-au1000_eth_ioctl.patch
+++ b/target/linux/au1000/patches/003-au1000_eth_ioctl.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/ethernet/amd/au1000_eth.c
+++ b/drivers/net/ethernet/amd/au1000_eth.c
-@@ -988,10 +988,14 @@ static void au1000_multicast_list(struct
+@@ -1113,10 +1113,14 @@ static void au1000_multicast_list(struct
writel(reg, &aup->mac->control);
}
diff --git a/target/linux/au1000/patches/006-codec.patch b/target/linux/au1000/patches/006-codec.patch
index 54f4fa9d30..d80cf56ac9 100644
--- a/target/linux/au1000/patches/006-codec.patch
+++ b/target/linux/au1000/patches/006-codec.patch
@@ -1,8 +1,6 @@
-Index: linux-3.18.8/arch/mips/alchemy/devboards/db1300.c
-===================================================================
---- linux-3.18.8.orig/arch/mips/alchemy/devboards/db1300.c 2015-02-27 02:49:36.000000000 +0100
-+++ linux-3.18.8/arch/mips/alchemy/devboards/db1300.c 2015-03-10 11:36:47.906310432 +0100
-@@ -712,6 +712,7 @@
+--- a/arch/mips/alchemy/devboards/db1300.c
++++ b/arch/mips/alchemy/devboards/db1300.c
+@@ -712,6 +712,7 @@ static struct platform_device db1300_lcd
/**********************************************************************/
@@ -10,7 +8,7 @@ Index: linux-3.18.8/arch/mips/alchemy/devboards/db1300.c
static void db1300_wm97xx_irqen(struct wm97xx *wm, int enable)
{
if (enable)
-@@ -744,6 +745,15 @@
+@@ -744,6 +745,15 @@ static int db1300_wm97xx_probe(struct pl
return wm97xx_register_mach_ops(wm, &db1300_wm97xx_ops);
}
diff --git a/target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch b/target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch
index b13a6fb391..815097949e 100644
--- a/target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch
+++ b/target/linux/bcm53xx/patches-3.18/003-mtd-spi-nor-from-3.19.patch
@@ -234,7 +234,7 @@
spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_ERASE);
instr->state = MTD_ERASE_DONE;
-@@ -341,11 +380,6 @@ static int spi_nor_lock(struct mtd_info
+@@ -341,11 +380,6 @@ static int spi_nor_lock(struct mtd_info
if (ret)
return ret;
@@ -510,7 +510,7 @@
case CFI_MFR_MACRONIX:
status = macronix_quad_enable(nor);
if (status) {
-@@ -909,11 +925,6 @@ static int spi_nor_check(struct spi_nor
+@@ -909,11 +925,6 @@ static int spi_nor_check(struct spi_nor
return -EINVAL;
}
diff --git a/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch b/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch
index 22fb687a82..ab7b0bb573 100644
--- a/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch
+++ b/target/linux/bcm53xx/patches-3.18/004-mtd-spi-nor-from-3.20.patch
@@ -77,7 +77,7 @@
static int set_quad_mode(struct spi_nor *nor, struct flash_info *info)
{
int status;
-@@ -907,6 +947,13 @@ static int set_quad_mode(struct spi_nor
+@@ -907,6 +947,13 @@ static int set_quad_mode(struct spi_nor
return -EINVAL;
}
return status;
diff --git a/target/linux/bcm53xx/patches-3.18/058-ARM-BCM5301X-Add-USB-LED-for-Buffalo-WZR-1750DHP.patch b/target/linux/bcm53xx/patches-3.18/058-ARM-BCM5301X-Add-USB-LED-for-Buffalo-WZR-1750DHP.patch
index 6ba241b216..290ea0aea9 100644
--- a/target/linux/bcm53xx/patches-3.18/058-ARM-BCM5301X-Add-USB-LED-for-Buffalo-WZR-1750DHP.patch
+++ b/target/linux/bcm53xx/patches-3.18/058-ARM-BCM5301X-Add-USB-LED-for-Buffalo-WZR-1750DHP.patch
@@ -9,8 +9,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
-index b359c1e..78e95c0 100644
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
@@ -47,6 +47,12 @@
@@ -26,6 +24,3 @@ index b359c1e..78e95c0 100644
power0 {
label = "bcm53xx:red:power";
gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch b/target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch
index 363a3abe3c..4bf5e0491c 100644
--- a/target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch
+++ b/target/linux/bcm53xx/patches-3.18/059-ARM-BCM5301X-Add-DT-for-Buffalo-WXR-1900DHP.patch
@@ -15,8 +15,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 files changed, 128 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 86217db..d34785a 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
@@ -27,9 +25,6 @@ index 86217db..d34785a 100644
bcm4709-netgear-r8000.dtb
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
-diff --git a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
-new file mode 100644
-index 0000000..548e93b
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
@@ -0,0 +1,127 @@
@@ -160,6 +155,3 @@ index 0000000..548e93b
+ };
+ };
+};
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch b/target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch
index 3edac1e1ab..2213d3b76e 100644
--- a/target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch
+++ b/target/linux/bcm53xx/patches-3.18/060-ARM-BCM5301X-Add-DT-for-SmartRG-SR400ac.patch
@@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 files changed, 120 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index d34785a..59f7970 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
@@ -26,9 +24,6 @@ index d34785a..59f7970 100644
bcm47081-asus-rt-n18u.dtb \
bcm47081-buffalo-wzr-600dhp2.dtb \
bcm47081-buffalo-wzr-900dhp.dtb \
-diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
-new file mode 100644
-index 0000000..66dfb53
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
@@ -0,0 +1,119 @@
@@ -151,6 +146,3 @@ index 0000000..66dfb53
+ };
+ };
+};
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch b/target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch
index 618a2cdaab..77ae2f7056 100644
--- a/target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch
+++ b/target/linux/bcm53xx/patches-3.18/061-ARM-BCM5301X-Add-DT-for-Asus-RT-AC68U.patch
@@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 files changed, 84 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 59f7970..1e8b8b7 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
@@ -26,9 +24,6 @@ index 59f7970..1e8b8b7 100644
bcm4708-buffalo-wzr-1750dhp.dtb \
bcm4708-luxul-xwc-1000.dtb \
bcm4708-netgear-r6250.dtb \
-diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
-new file mode 100644
-index 0000000..8b62836
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
@@ -0,0 +1,83 @@
@@ -115,6 +110,3 @@ index 0000000..8b62836
+ };
+ };
+};
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch b/target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch
index 12809ff232..58e33e0598 100644
--- a/target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch
+++ b/target/linux/bcm53xx/patches-3.18/062-ARM-BCM5301X-Add-DT-for-Asus-RT-AC56U.patch
@@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2 files changed, 97 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 1e8b8b7..4802376 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
@@ -26,9 +24,6 @@ index 1e8b8b7..4802376 100644
bcm4708-asus-rt-ac68u.dtb \
bcm4708-buffalo-wzr-1750dhp.dtb \
bcm4708-luxul-xwc-1000.dtb \
-diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
-new file mode 100644
-index 0000000..71cff8d
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
@@ -0,0 +1,96 @@
@@ -128,6 +123,3 @@ index 0000000..71cff8d
+ };
+ };
+};
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/133-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch b/target/linux/bcm53xx/patches-3.18/133-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch
index d3b425d7da..5105cec5ae 100644
--- a/target/linux/bcm53xx/patches-3.18/133-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch
+++ b/target/linux/bcm53xx/patches-3.18/133-ARM-BCM5301X-Add-DT-for-Asus-RT-AC87U.patch
@@ -14,8 +14,6 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2 files changed, 66 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 4802376..4e76f68 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -65,6 +65,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
@@ -26,9 +24,6 @@ index 4802376..4e76f68 100644
bcm4709-buffalo-wxr-1900dhp.dtb \
bcm4709-netgear-r8000.dtb
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
-diff --git a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
-new file mode 100644
-index 0000000..aedf3c4
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
@@ -0,0 +1,65 @@
@@ -97,6 +92,3 @@ index 0000000..aedf3c4
+ };
+ };
+};
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/320-ARM-BCM5301X-Add-Buffalo-WXR-1900DHP-clock-and-USB-p.patch b/target/linux/bcm53xx/patches-3.18/320-ARM-BCM5301X-Add-Buffalo-WXR-1900DHP-clock-and-USB-p.patch
index 4eaf5a7068..af4c6b2bc6 100644
--- a/target/linux/bcm53xx/patches-3.18/320-ARM-BCM5301X-Add-Buffalo-WXR-1900DHP-clock-and-USB-p.patch
+++ b/target/linux/bcm53xx/patches-3.18/320-ARM-BCM5301X-Add-Buffalo-WXR-1900DHP-clock-and-USB-p.patch
@@ -13,8 +13,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
-diff --git a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
-index 4b02a0b..2c691a8 100644
--- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
+++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
@@ -24,6 +24,23 @@
@@ -41,6 +39,3 @@ index 4b02a0b..2c691a8 100644
leds {
compatible = "gpio-leds";
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/700-bgmac-add-support-for-the-3rd-bus-core-device.patch b/target/linux/bcm53xx/patches-3.18/700-bgmac-add-support-for-the-3rd-bus-core-device.patch
index 18ee2f1cbe..6be75bb806 100644
--- a/target/linux/bcm53xx/patches-3.18/700-bgmac-add-support-for-the-3rd-bus-core-device.patch
+++ b/target/linux/bcm53xx/patches-3.18/700-bgmac-add-support-for-the-3rd-bus-core-device.patch
@@ -15,11 +15,9 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
drivers/net/ethernet/broadcom/bgmac.c | 28 +++++++++++++++++++++++-----
1 file changed, 23 insertions(+), 5 deletions(-)
-diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
-index f66c416..0614cae 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1561,11 +1561,20 @@ static int bgmac_probe(struct bcma_device *core)
+@@ -1561,11 +1561,20 @@ static int bgmac_probe(struct bcma_devic
struct net_device *net_dev;
struct bgmac *bgmac;
struct ssb_sprom *sprom = &core->bus->sprom;
@@ -43,7 +41,7 @@ index f66c416..0614cae 100644
pr_err("Unsupported core_unit %d\n", core->core_unit);
return -ENOTSUPP;
}
-@@ -1600,8 +1609,17 @@ static int bgmac_probe(struct bcma_device *core)
+@@ -1600,8 +1609,17 @@ static int bgmac_probe(struct bcma_devic
}
bgmac->cmn = core->bus->drv_gmac_cmn.core;
@@ -63,6 +61,3 @@ index f66c416..0614cae 100644
bgmac->phyaddr &= BGMAC_PHY_MASK;
if (bgmac->phyaddr == BGMAC_PHY_MASK) {
bgmac_err(bgmac, "No PHY found\n");
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch b/target/linux/bcm53xx/patches-3.18/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
index 14de694dd0..6015c4aaca 100644
--- a/target/linux/bcm53xx/patches-3.18/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
+++ b/target/linux/bcm53xx/patches-3.18/710-b53-add-hacky-CPU-port-fixes-for-devices-not-using-p.patch
@@ -11,8 +11,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
drivers/net/phy/b53/b53_common.c | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/drivers/net/phy/b53/b53_common.c b/drivers/net/phy/b53/b53_common.c
-index 2b05d5d..fd3b39c 100644
--- a/drivers/net/phy/b53/b53_common.c
+++ b/drivers/net/phy/b53/b53_common.c
@@ -25,6 +25,7 @@
@@ -23,7 +21,7 @@ index 2b05d5d..fd3b39c 100644
#include "b53_regs.h"
#include "b53_priv.h"
-@@ -1313,6 +1314,11 @@ static int b53_switch_init(struct b53_device *dev)
+@@ -1313,6 +1314,11 @@ static int b53_switch_init(struct b53_de
sw_dev->cpu_port = 5;
}
@@ -35,6 +33,3 @@ index 2b05d5d..fd3b39c 100644
/* cpu port is always last */
sw_dev->ports = sw_dev->cpu_port + 1;
dev->enabled_ports |= BIT(sw_dev->cpu_port);
---
-1.8.4.5
-
diff --git a/target/linux/bcm53xx/patches-3.18/901-mtd-bcm47xxpart-workaround-for-Asus-RT-AC87U-asus-pa.patch b/target/linux/bcm53xx/patches-3.18/901-mtd-bcm47xxpart-workaround-for-Asus-RT-AC87U-asus-pa.patch
index 886b22a1eb..c1dfa92013 100644
--- a/target/linux/bcm53xx/patches-3.18/901-mtd-bcm47xxpart-workaround-for-Asus-RT-AC87U-asus-pa.patch
+++ b/target/linux/bcm53xx/patches-3.18/901-mtd-bcm47xxpart-workaround-for-Asus-RT-AC87U-asus-pa.patch
@@ -12,8 +12,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
drivers/mtd/bcm47xxpart.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c
-index 34314f9..d08d329 100644
--- a/drivers/mtd/bcm47xxpart.c
+++ b/drivers/mtd/bcm47xxpart.c
@@ -14,6 +14,7 @@
@@ -24,7 +22,7 @@ index 34314f9..d08d329 100644
#include <uapi/linux/magic.h>
-@@ -135,6 +136,17 @@ static int bcm47xxpart_parse(struct mtd_info *master,
+@@ -135,6 +136,17 @@ static int bcm47xxpart_parse(struct mtd_
break;
}
@@ -42,6 +40,3 @@ index 34314f9..d08d329 100644
/* Read beginning of the block */
if (mtd_read(master, offset, BCM47XXPART_BYTES_TO_READ,
&bytes_read, (uint8_t *)buf) < 0) {
---
-1.8.4.5
-
diff --git a/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch b/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
index af320ccedf..79ac4edf3a 100644
--- a/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
+++ b/target/linux/brcm2708/patches-3.18/0001-Main-bcm2708-linux-port.patch
@@ -612,7 +612,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
+CONFIG_LIBCRC32C=y
--- a/arch/arm/kernel/process.c
+++ b/arch/arm/kernel/process.c
-@@ -166,6 +166,16 @@ void arch_cpu_idle_dead(void)
+@@ -172,6 +172,16 @@ void arch_cpu_idle_dead(void)
}
#endif
diff --git a/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch b/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
index 0623c49e4c..580ba613ce 100644
--- a/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
+++ b/target/linux/brcm2708/patches-3.18/0004-Add-dwc_otg-driver.patch
@@ -159,7 +159,7 @@ Signed-off-by: Kari Suvanto <karis79@gmail.com>
}
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
-@@ -1889,6 +1889,85 @@ free_interfaces:
+@@ -1872,6 +1872,85 @@ free_interfaces:
if (cp->string == NULL &&
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
diff --git a/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch b/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
index 8e8071db42..95df5c3ed6 100644
--- a/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
+++ b/target/linux/brcm2708/patches-3.18/0027-bcm2835-add-v4l2-camera-device.patch
@@ -111,7 +111,7 @@ Signed-off-by: Luke Diamand <luked@broadcom.com>
+$ v4l2-ctl --list-formats
--- a/drivers/media/platform/Kconfig
+++ b/drivers/media/platform/Kconfig
-@@ -126,6 +126,7 @@ config VIDEO_S3C_CAMIF
+@@ -124,6 +124,7 @@ config VIDEO_S3C_CAMIF
source "drivers/media/platform/soc_camera/Kconfig"
source "drivers/media/platform/exynos4-is/Kconfig"
source "drivers/media/platform/s5p-tv/Kconfig"
diff --git a/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch b/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
index 5d1aba3490..1ede655c8b 100644
--- a/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
+++ b/target/linux/brcm2708/patches-3.18/0043-pcm512x-Use-a-range-macro-for-Volume-and-rename-to-P.patch
@@ -20,6 +20,6 @@ DAC ouput stages.
- PCM512x_DIGITAL_VOLUME_3, 0, 255, 1, digital_tlv),
+SOC_DOUBLE_R_RANGE_TLV("PCM", PCM512x_DIGITAL_VOLUME_2,
+ PCM512x_DIGITAL_VOLUME_3, 0, 40, 255, 1, digital_tlv),
- SOC_DOUBLE_TLV("Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
+ SOC_DOUBLE_TLV("Analogue 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,
+ SOC_DOUBLE_TLV("Analogue Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
diff --git a/target/linux/brcm47xx/patches-3.18/030-01-MIPS-BCM47XX-Get-rid-of-calls-to-KSEG1ADDR.patch b/target/linux/brcm47xx/patches-3.18/030-01-MIPS-BCM47XX-Get-rid-of-calls-to-KSEG1ADDR.patch
index 4b2f6a27e2..6f33548996 100644
--- a/target/linux/brcm47xx/patches-3.18/030-01-MIPS-BCM47XX-Get-rid-of-calls-to-KSEG1ADDR.patch
+++ b/target/linux/brcm47xx/patches-3.18/030-01-MIPS-BCM47XX-Get-rid-of-calls-to-KSEG1ADDR.patch
@@ -18,8 +18,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/nvram.c | 44 ++++++++++++++++++++++++++++++++------------
1 file changed, 32 insertions(+), 12 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 2bed73a..e07976b 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -23,13 +23,13 @@
@@ -127,6 +125,3 @@ index 2bed73a..e07976b 100644
}
#endif
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch b/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch
index 07a782da8f..ce924d90bf 100644
--- a/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch
+++ b/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch
@@ -22,8 +22,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/ssb/driver_mipscore.c | 14 +++++++++-
3 files changed, 23 insertions(+), 22 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index e07976b..fecc5ae 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -98,7 +98,14 @@ found:
@@ -42,7 +40,7 @@ index e07976b..fecc5ae 100644
{
void __iomem *iobase;
int err;
-@@ -114,25 +121,6 @@ static int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
+@@ -114,25 +121,6 @@ static int bcm47xx_nvram_init_from_mem(u
return err;
}
@@ -77,8 +75,6 @@ index e07976b..fecc5ae 100644
#endif
#ifdef CONFIG_BCM47XX_BCMA
case BCM47XX_BUS_TYPE_BCMA:
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
-index 36a3fc1..676be22 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
@@ -32,6 +32,7 @@ struct nvram_header {
@@ -89,8 +85,6 @@ index 36a3fc1..676be22 100644
extern int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len);
static inline void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6])
-diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
-index 0907706..7b986f9 100644
--- a/drivers/ssb/driver_mipscore.c
+++ b/drivers/ssb/driver_mipscore.c
@@ -15,6 +15,9 @@
@@ -103,7 +97,7 @@ index 0907706..7b986f9 100644
#include "ssb_private.h"
-@@ -210,6 +213,7 @@ static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
+@@ -210,6 +213,7 @@ static void ssb_mips_serial_init(struct
static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
{
struct ssb_bus *bus = mcore->dev->bus;
@@ -111,7 +105,7 @@ index 0907706..7b986f9 100644
struct ssb_pflash *pflash = &mcore->pflash;
/* When there is no chipcommon on the bus there is 4MB flash */
-@@ -242,7 +246,15 @@ static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
+@@ -242,7 +246,15 @@ static void ssb_mips_flash_detect(struct
}
ssb_pflash:
@@ -128,6 +122,3 @@ index 0907706..7b986f9 100644
ssb_pflash_data.width = pflash->buswidth;
ssb_pflash_resource.start = pflash->window;
ssb_pflash_resource.end = pflash->window + pflash->window_size;
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/030-03-MIPS-BCM47XX-Make-bcma-init-NVRAM-instead-of-bcm47xx.patch b/target/linux/brcm47xx/patches-3.18/030-03-MIPS-BCM47XX-Make-bcma-init-NVRAM-instead-of-bcm47xx.patch
index a616fcc0e0..000e4b5ac4 100644
--- a/target/linux/brcm47xx/patches-3.18/030-03-MIPS-BCM47XX-Make-bcma-init-NVRAM-instead-of-bcm47xx.patch
+++ b/target/linux/brcm47xx/patches-3.18/030-03-MIPS-BCM47XX-Make-bcma-init-NVRAM-instead-of-bcm47xx.patch
@@ -20,11 +20,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
drivers/bcma/driver_mips.c | 13 +++++++++++--
2 files changed, 13 insertions(+), 42 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index fecc5ae..21712fb 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
-@@ -121,48 +121,10 @@ int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
+@@ -121,48 +121,10 @@ int bcm47xx_nvram_init_from_mem(u32 base
return err;
}
@@ -75,8 +73,6 @@ index fecc5ae..21712fb 100644
return -ENXIO;
}
-diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
-index 004d6aa..8a653dc 100644
--- a/drivers/bcma/driver_mips.c
+++ b/drivers/bcma/driver_mips.c
@@ -20,6 +20,9 @@
@@ -89,7 +85,7 @@ index 004d6aa..8a653dc 100644
enum bcma_boot_dev {
BCMA_BOOT_DEV_UNK = 0,
-@@ -316,10 +319,16 @@ static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
+@@ -316,10 +319,16 @@ static void bcma_core_mips_flash_detect(
switch (boot_dev) {
case BCMA_BOOT_DEV_PARALLEL:
case BCMA_BOOT_DEV_SERIAL:
@@ -108,6 +104,3 @@ index 004d6aa..8a653dc 100644
break;
default:
break;
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/030-04-MIPS-BCM47XX-Move-SPROM-fallback-code-into-sprom.c.patch b/target/linux/brcm47xx/patches-3.18/030-04-MIPS-BCM47XX-Move-SPROM-fallback-code-into-sprom.c.patch
index fe4962993b..e38fde42b6 100644
--- a/target/linux/brcm47xx/patches-3.18/030-04-MIPS-BCM47XX-Move-SPROM-fallback-code-into-sprom.c.patch
+++ b/target/linux/brcm47xx/patches-3.18/030-04-MIPS-BCM47XX-Move-SPROM-fallback-code-into-sprom.c.patch
@@ -20,8 +20,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/sprom.c | 68 +++++++++++++++++++++++++++++++++++++
3 files changed, 73 insertions(+), 56 deletions(-)
-diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
-index f1cc9d0..12a112d 100644
--- a/arch/mips/bcm47xx/bcm47xx_private.h
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
@@ -6,6 +6,9 @@
@@ -34,8 +32,6 @@ index f1cc9d0..12a112d 100644
/* buttons.c */
int __init bcm47xx_buttons_register(void);
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index c00585d..444c65a 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -102,23 +102,6 @@ static void bcm47xx_machine_halt(void)
@@ -62,7 +58,7 @@ index c00585d..444c65a 100644
static int bcm47xx_get_invariants(struct ssb_bus *bus,
struct ssb_init_invariants *iv)
{
-@@ -144,11 +127,6 @@ static void __init bcm47xx_register_ssb(void)
+@@ -144,11 +127,6 @@ static void __init bcm47xx_register_ssb(
char buf[100];
struct ssb_mipscore *mcore;
@@ -74,7 +70,7 @@ index c00585d..444c65a 100644
err = ssb_bus_ssbbus_register(&(bcm47xx_bus.ssb), SSB_ENUM_BASE,
bcm47xx_get_invariants);
if (err)
-@@ -171,44 +149,10 @@ static void __init bcm47xx_register_ssb(void)
+@@ -171,44 +149,10 @@ static void __init bcm47xx_register_ssb(
#endif
#ifdef CONFIG_BCM47XX_BCMA
@@ -135,11 +131,9 @@ index c00585d..444c65a 100644
bcm47xx_register_ssb();
bcm47xx_set_system_type(bcm47xx_bus.ssb.chip_id);
#endif
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 41226b6..e772e77 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
-@@ -801,3 +801,71 @@ void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo,
+@@ -801,3 +801,71 @@ void bcm47xx_fill_bcma_boardinfo(struct
nvram_read_u16(prefix, NULL, "boardtype", &boardinfo->type, 0, true);
}
#endif
@@ -211,6 +205,3 @@ index 41226b6..e772e77 100644
+ pr_warn("Failed to registered bcma SPROM handler\n");
+#endif
+}
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/030-05-MIPS-BCM47XX-Initialize-bcma-bus-later-with-mm-avail.patch b/target/linux/brcm47xx/patches-3.18/030-05-MIPS-BCM47XX-Initialize-bcma-bus-later-with-mm-avail.patch
index 54680de0b7..1e77063804 100644
--- a/target/linux/brcm47xx/patches-3.18/030-05-MIPS-BCM47XX-Initialize-bcma-bus-later-with-mm-avail.patch
+++ b/target/linux/brcm47xx/patches-3.18/030-05-MIPS-BCM47XX-Initialize-bcma-bus-later-with-mm-avail.patch
@@ -21,11 +21,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/setup.c | 33 +++++++++++++++++++++++++++------
3 files changed, 38 insertions(+), 6 deletions(-)
-diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
-index 12a112d..ea909a5 100644
--- a/arch/mips/bcm47xx/bcm47xx_private.h
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
-@@ -15,6 +15,9 @@ int __init bcm47xx_buttons_register(void);
+@@ -15,6 +15,9 @@ int __init bcm47xx_buttons_register(void
/* leds.c */
void __init bcm47xx_leds_register(void);
@@ -35,8 +33,6 @@ index 12a112d..ea909a5 100644
/* workarounds.c */
void __init bcm47xx_workarounds(void);
-diff --git a/arch/mips/bcm47xx/irq.c b/arch/mips/bcm47xx/irq.c
-index e0585b7..21b4497 100644
--- a/arch/mips/bcm47xx/irq.c
+++ b/arch/mips/bcm47xx/irq.c
@@ -22,6 +22,8 @@
@@ -61,11 +57,9 @@ index e0585b7..21b4497 100644
#ifdef CONFIG_BCM47XX_BCMA
if (bcm47xx_bus_type == BCM47XX_BUS_TYPE_BCMA) {
bcma_write32(bcm47xx_bus.bcma.bus.drv_mips.core,
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index 444c65a..e43b504 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
-@@ -156,15 +156,14 @@ static void __init bcm47xx_register_bcma(void)
+@@ -156,15 +156,14 @@ static void __init bcm47xx_register_bcma
err = bcma_host_soc_register(&bcm47xx_bus.bcma);
if (err)
panic("Failed to register BCMA bus (err %d)", err);
@@ -115,6 +109,3 @@ index 444c65a..e43b504 100644
bcm47xx_board_detect();
mips_set_machine_name(bcm47xx_board_get_name());
}
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/030-06-MIPS-BCM47XX-Use-mtd-as-an-alternative-way-API-to-ge.patch b/target/linux/brcm47xx/patches-3.18/030-06-MIPS-BCM47XX-Use-mtd-as-an-alternative-way-API-to-ge.patch
index 7f19d3ac65..1e6bc2f20b 100644
--- a/target/linux/brcm47xx/patches-3.18/030-06-MIPS-BCM47XX-Use-mtd-as-an-alternative-way-API-to-ge.patch
+++ b/target/linux/brcm47xx/patches-3.18/030-06-MIPS-BCM47XX-Use-mtd-as-an-alternative-way-API-to-ge.patch
@@ -20,8 +20,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/nvram.c | 42 ++++++++++++++++++++++++++++++++++++++----
1 file changed, 38 insertions(+), 4 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 21712fb..8b64991 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -13,12 +13,10 @@
@@ -38,7 +36,7 @@ index 21712fb..8b64991 100644
static char nvram_buf[NVRAM_SPACE];
static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
-@@ -123,7 +121,43 @@ int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
+@@ -123,7 +121,43 @@ int bcm47xx_nvram_init_from_mem(u32 base
static int nvram_init(void)
{
@@ -83,6 +81,3 @@ index 21712fb..8b64991 100644
return -ENXIO;
}
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/030-07-MIPS-BCM47XX-Clean-up-nvram-header.patch b/target/linux/brcm47xx/patches-3.18/030-07-MIPS-BCM47XX-Clean-up-nvram-header.patch
index b4a07919b7..31d14a96f6 100644
--- a/target/linux/brcm47xx/patches-3.18/030-07-MIPS-BCM47XX-Clean-up-nvram-header.patch
+++ b/target/linux/brcm47xx/patches-3.18/030-07-MIPS-BCM47XX-Clean-up-nvram-header.patch
@@ -23,8 +23,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h | 35 +---------------------
3 files changed, 33 insertions(+), 39 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 8b64991..c5c381c 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -18,6 +18,19 @@
@@ -47,7 +45,7 @@ index 8b64991..c5c381c 100644
static char nvram_buf[NVRAM_SPACE];
static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
-@@ -28,7 +41,7 @@ static u32 find_nvram_size(void __iomem *end)
+@@ -28,7 +41,7 @@ static u32 find_nvram_size(void __iomem
for (i = 0; i < ARRAY_SIZE(nvram_sizes); i++) {
header = (struct nvram_header *)(end - nvram_sizes[i]);
@@ -56,7 +54,7 @@ index 8b64991..c5c381c 100644
return nvram_sizes[i];
}
-@@ -63,13 +76,13 @@ static int nvram_find_and_copy(void __iomem *iobase, u32 lim)
+@@ -63,13 +76,13 @@ static int nvram_find_and_copy(void __io
/* Try embedded NVRAM at 4 KB and 1 KB as last resorts */
header = (struct nvram_header *)(iobase + 4096);
@@ -90,11 +88,9 @@ index 8b64991..c5c381c 100644
{
char *var, *value, *end, *eq;
int err;
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index e772e77..2eff7fe 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
-@@ -136,6 +136,20 @@ static void nvram_read_leddc(const char *prefix, const char *name,
+@@ -136,6 +136,20 @@ static void nvram_read_leddc(const char
*leddc_off_time = (val >> 16) & 0xff;
}
@@ -115,8 +111,6 @@ index e772e77..2eff7fe 100644
static void nvram_read_macaddr(const char *prefix, const char *name,
u8 val[6], bool fallback)
{
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
-index 676be22..ee59ffe 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
@@ -14,41 +14,8 @@
@@ -162,6 +156,3 @@ index 676be22..ee59ffe 100644
int bcm47xx_nvram_gpio_pin(const char *name);
#endif /* __BCM47XX_NVRAM_H */
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-01-MIPS-BCM47XX-Support-SPROM-prefixes-for-PCI-devices.patch b/target/linux/brcm47xx/patches-3.18/031-01-MIPS-BCM47XX-Support-SPROM-prefixes-for-PCI-devices.patch
index 095338f61d..e78b159e6f 100644
--- a/target/linux/brcm47xx/patches-3.18/031-01-MIPS-BCM47XX-Support-SPROM-prefixes-for-PCI-devices.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-01-MIPS-BCM47XX-Support-SPROM-prefixes-for-PCI-devices.patch
@@ -17,11 +17,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/sprom.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 2eff7fe..eff9205 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
-@@ -836,6 +836,38 @@ static int bcm47xx_get_sprom_ssb(struct ssb_bus *bus, struct ssb_sprom *out)
+@@ -836,6 +836,38 @@ static int bcm47xx_get_sprom_ssb(struct
#endif
#if defined(CONFIG_BCM47XX_BCMA)
@@ -60,7 +58,7 @@ index 2eff7fe..eff9205 100644
static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
{
char prefix[10];
-@@ -847,6 +879,7 @@ static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
+@@ -847,6 +879,7 @@ static int bcm47xx_get_sprom_bcma(struct
snprintf(prefix, sizeof(prefix), "pci/%u/%u/",
bus->host_pci->bus->number + 1,
PCI_SLOT(bus->host_pci->devfn));
@@ -68,6 +66,3 @@ index 2eff7fe..eff9205 100644
bcm47xx_fill_sprom(out, prefix, false);
return 0;
case BCMA_HOSTTYPE_SOC:
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-02-MIPS-BCM47XX-Fix-detecting-Microsoft-MN-700-Asus-WL5.patch b/target/linux/brcm47xx/patches-3.18/031-02-MIPS-BCM47XX-Fix-detecting-Microsoft-MN-700-Asus-WL5.patch
deleted file mode 100644
index 25125af197..0000000000
--- a/target/linux/brcm47xx/patches-3.18/031-02-MIPS-BCM47XX-Fix-detecting-Microsoft-MN-700-Asus-WL5.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From e0c3678ae640db049f738f30b5f23cde740799ac Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
-Date: Wed, 1 Apr 2015 16:01:02 +0200
-Subject: [PATCH] MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Since the day of adding this code it was broken. We were iterating over
-a wrong array and checking for wrong NVRAM entry.
-
-Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
-Cc: linux-mips@linux-mips.org
-Cc: Hauke Mehrtens <hauke@hauke-m.de>
-Patchwork: https://patchwork.linux-mips.org/patch/9654/
-Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
----
- arch/mips/bcm47xx/board.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index b3ae068..3fd369d 100644
---- a/arch/mips/bcm47xx/board.c
-+++ b/arch/mips/bcm47xx/board.c
-@@ -247,8 +247,8 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
- }
-
- if (bcm47xx_nvram_getenv("hardware_version", buf1, sizeof(buf1)) >= 0 &&
-- bcm47xx_nvram_getenv("boardtype", buf2, sizeof(buf2)) >= 0) {
-- for (e2 = bcm47xx_board_list_boot_hw; e2->value1; e2++) {
-+ bcm47xx_nvram_getenv("boardnum", buf2, sizeof(buf2)) >= 0) {
-+ for (e2 = bcm47xx_board_list_hw_version_num; e2->value1; e2++) {
- if (!strstarts(buf1, e2->value1) &&
- !strcmp(buf2, e2->value2))
- return &e2->board;
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-03-MIPS-BCM47XX-Use-helpers-for-reading-NVRAM-content.patch b/target/linux/brcm47xx/patches-3.18/031-03-MIPS-BCM47XX-Use-helpers-for-reading-NVRAM-content.patch
index a028d9d67e..9c9865ff83 100644
--- a/target/linux/brcm47xx/patches-3.18/031-03-MIPS-BCM47XX-Use-helpers-for-reading-NVRAM-content.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-03-MIPS-BCM47XX-Use-helpers-for-reading-NVRAM-content.patch
@@ -18,11 +18,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/nvram.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index c5c381c..5e4ae04 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
-@@ -91,7 +91,6 @@ static int nvram_find_and_copy(void __iomem *iobase, u32 lim)
+@@ -91,7 +91,6 @@ static int nvram_find_and_copy(void __io
return -ENXIO;
found:
@@ -51,6 +49,3 @@ index c5c381c..5e4ae04 100644
return 0;
}
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-04-MIPS-BCM47XX-Use-strnchr-to-avoid-reading-out-of-the.patch b/target/linux/brcm47xx/patches-3.18/031-04-MIPS-BCM47XX-Use-strnchr-to-avoid-reading-out-of-the.patch
index 7b16835ae9..ee2e2732ff 100644
--- a/target/linux/brcm47xx/patches-3.18/031-04-MIPS-BCM47XX-Use-strnchr-to-avoid-reading-out-of-the.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-04-MIPS-BCM47XX-Use-strnchr-to-avoid-reading-out-of-the.patch
@@ -16,8 +16,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/nvram.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 5e4ae04..d805d8a 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -175,7 +175,7 @@ static int nvram_init(void)
@@ -29,7 +27,7 @@ index 5e4ae04..d805d8a 100644
if (!name)
return -EINVAL;
-@@ -191,7 +191,9 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -191,7 +191,9 @@ int bcm47xx_nvram_getenv(const char *nam
end = nvram_buf + sizeof(nvram_buf) - 2;
end[0] = end[1] = '\0';
for (; *var; var = value + strlen(value) + 1) {
@@ -40,6 +38,3 @@ index 5e4ae04..d805d8a 100644
if (!eq)
break;
value = eq + 1;
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch b/target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch
index d073a06d32..c1c0927cec 100644
--- a/target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch
@@ -39,8 +39,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
delete mode 100644 arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
create mode 100644 include/linux/bcm47xx_nvram.h
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index b3ae068..6e85130 100644
--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
@@ -1,8 +1,8 @@
@@ -53,8 +51,6 @@ index b3ae068..6e85130 100644
struct bcm47xx_board_type {
const enum bcm47xx_board board;
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index d805d8a..7c77a88 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -16,7 +16,7 @@
@@ -66,8 +62,6 @@ index d805d8a..7c77a88 100644
#define NVRAM_MAGIC 0x48534C46 /* 'FLSH' */
#define NVRAM_SPACE 0x8000
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index e43b504..b26c9c2 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -42,7 +42,6 @@
@@ -78,8 +72,6 @@ index e43b504..b26c9c2 100644
#include <bcm47xx_board.h>
union bcm47xx_bus bcm47xx_bus;
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index eff9205..c114b02 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
@@ -27,7 +27,6 @@
@@ -90,8 +82,6 @@ index eff9205..c114b02 100644
#include <linux/if_ether.h>
#include <linux/etherdevice.h>
-diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
-index 2c85d92..5b46510 100644
--- a/arch/mips/bcm47xx/time.c
+++ b/arch/mips/bcm47xx/time.c
@@ -27,7 +27,6 @@
@@ -102,8 +92,6 @@ index 2c85d92..5b46510 100644
#include <bcm47xx_board.h>
void __init plat_time_init(void)
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
-index 7527c1d..8ed77f6 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
@@ -22,6 +22,7 @@
@@ -139,8 +127,6 @@ index 7527c1d..8ed77f6 100644
-
-#endif /* __BCM47XX_NVRAM_H */
+#include <linux/bcm47xx_nvram.h>
-diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
-index 04faf6d..24424f3 100644
--- a/drivers/bcma/driver_mips.c
+++ b/drivers/bcma/driver_mips.c
@@ -21,7 +21,7 @@
@@ -152,11 +138,9 @@ index 04faf6d..24424f3 100644
#endif
enum bcma_boot_dev {
-diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
-index bd5916a..77363d6 100644
--- a/drivers/net/ethernet/broadcom/b44.c
+++ b/drivers/net/ethernet/broadcom/b44.c
-@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44 *bp, u32 local, u32 remote)
+@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44
}
#ifdef CONFIG_BCM47XX
@@ -165,8 +149,6 @@ index bd5916a..77363d6 100644
static void b44_wap54g10_workaround(struct b44 *bp)
{
char buf[20];
-diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
-index 0469f72..be059df 100644
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
@@ -18,7 +18,7 @@
@@ -178,8 +160,6 @@ index 0469f72..be059df 100644
static const struct bcma_device_id bgmac_bcma_tbl[] = {
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS),
-diff --git a/drivers/ssb/driver_chipcommon_pmu.c b/drivers/ssb/driver_chipcommon_pmu.c
-index 1173a09..0942841 100644
--- a/drivers/ssb/driver_chipcommon_pmu.c
+++ b/drivers/ssb/driver_chipcommon_pmu.c
@@ -14,7 +14,7 @@
@@ -191,8 +171,6 @@ index 1173a09..0942841 100644
#endif
#include "ssb_private.h"
-diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
-index 7b986f9..f87efef 100644
--- a/drivers/ssb/driver_mipscore.c
+++ b/drivers/ssb/driver_mipscore.c
@@ -16,7 +16,7 @@
@@ -204,9 +182,6 @@ index 7b986f9..f87efef 100644
#endif
#include "ssb_private.h"
-diff --git a/include/linux/bcm47xx_nvram.h b/include/linux/bcm47xx_nvram.h
-new file mode 100644
-index 0000000..b12b07e
--- /dev/null
+++ b/include/linux/bcm47xx_nvram.h
@@ -0,0 +1,34 @@
@@ -244,6 +219,3 @@ index 0000000..b12b07e
+#endif
+
+#endif /* __BCM47XX_NVRAM_H */
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-06-MIPS-BCM47XX-Fix-coding-style-to-match-kernel-standa.patch b/target/linux/brcm47xx/patches-3.18/031-06-MIPS-BCM47XX-Fix-coding-style-to-match-kernel-standa.patch
index 0e93447e30..826307b325 100644
--- a/target/linux/brcm47xx/patches-3.18/031-06-MIPS-BCM47XX-Fix-coding-style-to-match-kernel-standa.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-06-MIPS-BCM47XX-Fix-coding-style-to-match-kernel-standa.patch
@@ -25,8 +25,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/time.c | 1 -
8 files changed, 34 insertions(+), 30 deletions(-)
-diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
-index ea909a5..41796be 100644
--- a/arch/mips/bcm47xx/bcm47xx_private.h
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
@@ -1,6 +1,10 @@
@@ -40,8 +38,6 @@ index ea909a5..41796be 100644
#include <linux/kernel.h>
/* prom.c */
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index 6e85130..d4a5a51 100644
--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
@@ -330,9 +330,8 @@ void __init bcm47xx_board_detect(void)
@@ -55,8 +51,6 @@ index 6e85130..d4a5a51 100644
board_detected = bcm47xx_board_get_nvram();
bcm47xx_board.board = board_detected->board;
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 7c77a88..6a97732 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -18,8 +18,10 @@
@@ -83,7 +77,7 @@ index 7c77a88..6a97732 100644
for (i = 0; i < sizeof(struct nvram_header); i += 4)
*dst++ = __raw_readl(src++);
for (; i < header->len && i < NVRAM_SPACE && i < size; i += 4)
-@@ -189,7 +191,8 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -189,7 +191,8 @@ int bcm47xx_nvram_getenv(const char *nam
/* Look for name=value and return value */
var = &nvram_buf[sizeof(struct nvram_header)];
end = nvram_buf + sizeof(nvram_buf) - 2;
@@ -93,7 +87,7 @@ index 7c77a88..6a97732 100644
for (; *var; var = value + strlen(value) + 1) {
data_left = end - var;
-@@ -197,11 +200,10 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -197,11 +200,10 @@ int bcm47xx_nvram_getenv(const char *nam
if (!eq)
break;
value = eq + 1;
@@ -122,8 +116,6 @@ index 7c77a88..6a97732 100644
err = snprintf(nvram_var, sizeof(nvram_var), "gpio%i", i);
if (err <= 0)
continue;
-diff --git a/arch/mips/bcm47xx/prom.c b/arch/mips/bcm47xx/prom.c
-index 1b170bf..ab698ba 100644
--- a/arch/mips/bcm47xx/prom.c
+++ b/arch/mips/bcm47xx/prom.c
@@ -35,7 +35,6 @@
@@ -143,11 +135,9 @@ index 1b170bf..ab698ba 100644
break;
}
if (!memcmp(prom_init, prom_init + mem, 32))
-diff --git a/arch/mips/bcm47xx/serial.c b/arch/mips/bcm47xx/serial.c
-index 2f5bbd6..df761d3 100644
--- a/arch/mips/bcm47xx/serial.c
+++ b/arch/mips/bcm47xx/serial.c
-@@ -36,8 +36,8 @@ static int __init uart8250_init_ssb(void)
+@@ -36,8 +36,8 @@ static int __init uart8250_init_ssb(void
struct plat_serial8250_port *p = &(uart8250_data[i]);
struct ssb_serial_port *ssb_port = &(mcore->serial_ports[i]);
@@ -158,7 +148,7 @@ index 2f5bbd6..df761d3 100644
p->irq = ssb_port->irq + 2;
p->uartclk = ssb_port->baud_base;
p->regshift = ssb_port->reg_shift;
-@@ -62,8 +62,8 @@ static int __init uart8250_init_bcma(void)
+@@ -62,8 +62,8 @@ static int __init uart8250_init_bcma(voi
struct bcma_serial_port *bcma_port;
bcma_port = &(cc->serial_ports[i]);
@@ -169,8 +159,6 @@ index 2f5bbd6..df761d3 100644
p->irq = bcma_port->irq;
p->uartclk = bcma_port->baud_base;
p->regshift = bcma_port->reg_shift;
-diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
-index b26c9c2..82ff9fd 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -52,7 +52,7 @@ EXPORT_SYMBOL(bcm47xx_bus_type);
@@ -182,7 +170,7 @@ index b26c9c2..82ff9fd 100644
local_irq_disable();
/* Set the watchdog timer to reset immediately */
switch (bcm47xx_bus_type) {
-@@ -107,7 +107,7 @@ static int bcm47xx_get_invariants(struct ssb_bus *bus,
+@@ -107,7 +107,7 @@ static int bcm47xx_get_invariants(struct
char buf[20];
/* Fill boardinfo structure */
@@ -191,7 +179,7 @@ index b26c9c2..82ff9fd 100644
bcm47xx_fill_ssb_boardinfo(&iv->boardinfo, NULL);
-@@ -126,7 +126,7 @@ static void __init bcm47xx_register_ssb(void)
+@@ -126,7 +126,7 @@ static void __init bcm47xx_register_ssb(
char buf[100];
struct ssb_mipscore *mcore;
@@ -200,7 +188,7 @@ index b26c9c2..82ff9fd 100644
bcm47xx_get_invariants);
if (err)
panic("Failed to initialize SSB bus (err %d)", err);
-@@ -136,7 +136,7 @@ static void __init bcm47xx_register_ssb(void)
+@@ -136,7 +136,7 @@ static void __init bcm47xx_register_ssb(
if (strstr(buf, "console=ttyS1")) {
struct ssb_serial_port port;
@@ -227,11 +215,9 @@ index b26c9c2..82ff9fd 100644
#ifdef CONFIG_BCM47XX_SSB
bcm47xx_bus_type = BCM47XX_BUS_TYPE_SSB;
bcm47xx_sprom_register_fallbacks();
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index c114b02..5d32afc 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
-@@ -780,8 +780,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -780,8 +780,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom
bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
break;
default:
@@ -242,7 +228,7 @@ index c114b02..5d32afc 100644
sprom->revision = 1;
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
-@@ -828,7 +828,7 @@ static int bcm47xx_get_sprom_ssb(struct ssb_bus *bus, struct ssb_sprom *out)
+@@ -828,7 +828,7 @@ static int bcm47xx_get_sprom_ssb(struct
bcm47xx_fill_sprom(out, prefix, false);
return 0;
} else {
@@ -251,7 +237,7 @@ index c114b02..5d32afc 100644
return -EINVAL;
}
}
-@@ -893,7 +893,7 @@ static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
+@@ -893,7 +893,7 @@ static int bcm47xx_get_sprom_bcma(struct
}
return 0;
default:
@@ -260,8 +246,6 @@ index c114b02..5d32afc 100644
return -EINVAL;
}
}
-diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
-index 5b46510..74224cf 100644
--- a/arch/mips/bcm47xx/time.c
+++ b/arch/mips/bcm47xx/time.c
@@ -22,7 +22,6 @@
@@ -272,6 +256,3 @@ index 5b46510..74224cf 100644
#include <linux/init.h>
#include <linux/ssb/ssb.h>
#include <asm/time.h>
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-07-MIPS-BCM47XX-Include-io.h-directly-and-fix-brace-ind.patch b/target/linux/brcm47xx/patches-3.18/031-07-MIPS-BCM47XX-Include-io.h-directly-and-fix-brace-ind.patch
index f7e404f6e3..6f96ee02bd 100644
--- a/target/linux/brcm47xx/patches-3.18/031-07-MIPS-BCM47XX-Include-io.h-directly-and-fix-brace-ind.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-07-MIPS-BCM47XX-Include-io.h-directly-and-fix-brace-ind.patch
@@ -17,8 +17,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/nvram.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 6a97732..2357ea3 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -11,6 +11,7 @@
@@ -29,7 +27,7 @@ index 6a97732..2357ea3 100644
#include <linux/types.h>
#include <linux/module.h>
#include <linux/kernel.h>
-@@ -203,7 +204,7 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
+@@ -203,7 +204,7 @@ int bcm47xx_nvram_getenv(const char *nam
if (eq - var == strlen(name) &&
strncmp(var, name, eq - var) == 0)
return snprintf(val, val_len, "%s", value);
@@ -38,6 +36,3 @@ index 6a97732..2357ea3 100644
return -ENOENT;
}
EXPORT_SYMBOL(bcm47xx_nvram_getenv);
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-08-MIPS-BCM47XX-Increase-NVRAM-buffer-size-to-64-KiB.patch b/target/linux/brcm47xx/patches-3.18/031-08-MIPS-BCM47XX-Increase-NVRAM-buffer-size-to-64-KiB.patch
index af6ec8e891..a7cc1106b8 100644
--- a/target/linux/brcm47xx/patches-3.18/031-08-MIPS-BCM47XX-Increase-NVRAM-buffer-size-to-64-KiB.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-08-MIPS-BCM47XX-Increase-NVRAM-buffer-size-to-64-KiB.patch
@@ -19,8 +19,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/nvram.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 2357ea3..2ac7482 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -20,7 +20,7 @@
@@ -32,6 +30,3 @@ index 2357ea3..2ac7482 100644
#define NVRAM_MAX_GPIO_ENTRIES 32
#define NVRAM_MAX_GPIO_VALUE_LEN 30
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-09-MIPS-BCM47XX-Don-t-try-guessing-NVRAM-size-on-MTD-pa.patch b/target/linux/brcm47xx/patches-3.18/031-09-MIPS-BCM47XX-Don-t-try-guessing-NVRAM-size-on-MTD-pa.patch
index 50b9f2daca..c40c8b7f89 100644
--- a/target/linux/brcm47xx/patches-3.18/031-09-MIPS-BCM47XX-Don-t-try-guessing-NVRAM-size-on-MTD-pa.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-09-MIPS-BCM47XX-Don-t-try-guessing-NVRAM-size-on-MTD-pa.patch
@@ -19,8 +19,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/nvram.c | 36 ++++++++++++++----------------------
1 file changed, 14 insertions(+), 22 deletions(-)
-diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
-index 2ac7482..ba632ff 100644
--- a/arch/mips/bcm47xx/nvram.c
+++ b/arch/mips/bcm47xx/nvram.c
@@ -139,36 +139,28 @@ static int nvram_init(void)
@@ -39,28 +37,29 @@ index 2ac7482..ba632ff 100644
-
- if (from < 0)
- continue;
--
-- err = mtd_read(mtd, from, sizeof(header), &bytes_read,
-- (uint8_t *)&header);
-- if (!err && header.magic == NVRAM_MAGIC) {
-- u8 *dst = (uint8_t *)nvram_buf;
-- size_t len = header.len;
+ err = mtd_read(mtd, 0, sizeof(header), &bytes_read, (uint8_t *)&header);
+ if (!err && header.magic == NVRAM_MAGIC) {
+ u8 *dst = (uint8_t *)nvram_buf;
+ size_t len = header.len;
-
-- if (header.len > NVRAM_SPACE) {
-- pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
-- header.len, NVRAM_SPACE);
-- len = NVRAM_SPACE;
-- }
++
+ if (header.len > NVRAM_SPACE) {
+ pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
+ header.len, NVRAM_SPACE);
+ len = NVRAM_SPACE;
+ }
+- err = mtd_read(mtd, from, sizeof(header), &bytes_read,
+- (uint8_t *)&header);
+- if (!err && header.magic == NVRAM_MAGIC) {
+- u8 *dst = (uint8_t *)nvram_buf;
+- size_t len = header.len;
+-
+- if (header.len > NVRAM_SPACE) {
+- pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
+- header.len, NVRAM_SPACE);
+- len = NVRAM_SPACE;
+- }
+-
- err = mtd_read(mtd, from, len, &bytes_read, dst);
- if (err)
- return err;
@@ -74,6 +73,3 @@ index 2ac7482..ba632ff 100644
}
#endif
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-10-MIPS-BCM47xx-Keep-ID-entries-for-non-standard-device.patch b/target/linux/brcm47xx/patches-3.18/031-10-MIPS-BCM47xx-Keep-ID-entries-for-non-standard-device.patch
index 1f7233b807..89188117ac 100644
--- a/target/linux/brcm47xx/patches-3.18/031-10-MIPS-BCM47xx-Keep-ID-entries-for-non-standard-device.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-10-MIPS-BCM47xx-Keep-ID-entries-for-non-standard-device.patch
@@ -16,11 +16,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/board.c | 48 ++++++++++++++++++++---------------------------
1 file changed, 20 insertions(+), 28 deletions(-)
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index d4a5a51..f936dcc 100644
--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
-@@ -40,20 +40,6 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_model_name[] __initconst = {
+@@ -40,20 +40,6 @@ struct bcm47xx_board_type_list1 bcm47xx_
{ {0}, NULL},
};
@@ -41,7 +39,7 @@ index d4a5a51..f936dcc 100644
/* hardware_version */
static const
struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = {
-@@ -202,6 +188,18 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst
+@@ -202,6 +188,18 @@ struct bcm47xx_board_type_list2 bcm47xx_
{ {0}, NULL},
};
@@ -60,7 +58,7 @@ index d4a5a51..f936dcc 100644
static const
struct bcm47xx_board_type bcm47xx_board_unknown[] __initconst = {
{BCM47XX_BOARD_UNKNOWN, "Unknown Board"},
-@@ -225,20 +223,6 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
+@@ -225,20 +223,6 @@ static __init const struct bcm47xx_board
}
}
@@ -81,7 +79,7 @@ index d4a5a51..f936dcc 100644
if (bcm47xx_nvram_getenv("hardware_version", buf1, sizeof(buf1)) >= 0) {
for (e1 = bcm47xx_board_list_hardware_version; e1->value1; e1++) {
if (strstarts(buf1, e1->value1))
-@@ -314,6 +298,14 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
+@@ -314,6 +298,14 @@ static __init const struct bcm47xx_board
return &e2->board;
}
}
@@ -96,6 +94,3 @@ index d4a5a51..f936dcc 100644
return bcm47xx_board_unknown;
}
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch b/target/linux/brcm47xx/patches-3.18/031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch
index e81a99f7c3..6e6166cad2 100644
--- a/target/linux/brcm47xx/patches-3.18/031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-11-MIPS-BCM47xx-Devices-database-update-for-4.1-or-4.2.patch
@@ -18,8 +18,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 4 ++++
4 files changed, 36 insertions(+)
-diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
-index f936dcc..41b9736 100644
--- a/arch/mips/bcm47xx/board.c
+++ b/arch/mips/bcm47xx/board.c
@@ -151,9 +151,11 @@ static const
@@ -34,7 +32,7 @@ index f936dcc..41b9736 100644
{{BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, "Netgear WNDR3400 Vcna"}, "U12H155T01_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNDR3700V3, "Netgear WNDR3700 V3"}, "U12H194T00_NETGEAR"},
{{BCM47XX_BOARD_NETGEAR_WNDR4000, "Netgear WNDR4000"}, "U12H181T00_NETGEAR"},
-@@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst
+@@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_
static const
struct bcm47xx_board_type_list2 bcm47xx_board_list_key_value[] __initconst = {
{{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "model_no", "WL700"},
@@ -43,11 +41,9 @@ index f936dcc..41b9736 100644
{{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "machine_name", "WRTSL54GS"},
{ {0}, NULL},
};
-diff --git a/arch/mips/bcm47xx/buttons.c b/arch/mips/bcm47xx/buttons.c
-index 913182b..276276a 100644
--- a/arch/mips/bcm47xx/buttons.c
+++ b/arch/mips/bcm47xx/buttons.c
-@@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __initconst = {
+@@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __in
};
static const struct gpio_keys_button
@@ -60,7 +56,7 @@ index 913182b..276276a 100644
bcm47xx_buttons_linksys_wrt300nv11[] __initconst = {
BCM47XX_GPIO_KEY(4, KEY_UNKNOWN),
BCM47XX_GPIO_KEY(6, KEY_RESTART),
-@@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
+@@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __i
};
static const struct gpio_keys_button
@@ -73,7 +69,7 @@ index 913182b..276276a 100644
bcm47xx_buttons_netgear_wndr3700v3[] __initconst = {
BCM47XX_GPIO_KEY(2, KEY_RFKILL),
BCM47XX_GPIO_KEY(3, KEY_RESTART),
-@@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void)
+@@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void
case BCM47XX_BOARD_LINKSYS_WRT160NV3:
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3);
break;
@@ -83,7 +79,7 @@ index 913182b..276276a 100644
case BCM47XX_BOARD_LINKSYS_WRT300NV11:
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11);
break;
-@@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void)
+@@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void
case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
break;
@@ -93,11 +89,9 @@ index 913182b..276276a 100644
case BCM47XX_BOARD_NETGEAR_WNDR3700V3:
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
break;
-diff --git a/arch/mips/bcm47xx/leds.c b/arch/mips/bcm47xx/leds.c
-index 903a656..0e4ade3 100644
--- a/arch/mips/bcm47xx/leds.c
+++ b/arch/mips/bcm47xx/leds.c
-@@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initconst = {
+@@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initc
};
static const struct gpio_led
@@ -121,8 +115,6 @@ index 903a656..0e4ade3 100644
case BCM47XX_BOARD_LINKSYS_WRT300NV11:
bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
break;
-diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
-index 1f5643b..c41d1dc 100644
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
@@ -67,6 +67,7 @@ enum bcm47xx_board {
@@ -153,6 +145,3 @@ index 1f5643b..c41d1dc 100644
BCM47XX_BOARD_NETGEAR_WNDR3400VCNA,
BCM47XX_BOARD_NETGEAR_WNDR3700V3,
BCM47XX_BOARD_NETGEAR_WNDR4000,
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-12-MIPS-BCM47xx-Add-generic-function-filling-SPROM-entr.patch b/target/linux/brcm47xx/patches-3.18/031-12-MIPS-BCM47xx-Add-generic-function-filling-SPROM-entr.patch
index eb994facff..482aa49a15 100644
--- a/target/linux/brcm47xx/patches-3.18/031-12-MIPS-BCM47xx-Add-generic-function-filling-SPROM-entr.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-12-MIPS-BCM47xx-Add-generic-function-filling-SPROM-entr.patch
@@ -23,11 +23,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/sprom.c | 32 +++++++++++++++++++++++++++++---
1 file changed, 29 insertions(+), 3 deletions(-)
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 5d32afc..77790c9 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
-@@ -180,6 +180,33 @@ static void nvram_read_alpha2(const char *prefix, const char *name,
+@@ -180,6 +180,33 @@ static void nvram_read_alpha2(const char
memcpy(val, buf, 2);
}
@@ -61,7 +59,7 @@ index 5d32afc..77790c9 100644
static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom,
const char *prefix, bool fallback)
{
-@@ -714,9 +741,6 @@ static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom,
+@@ -714,9 +741,6 @@ static void bcm47xx_fill_sprom_ethernet(
static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
bool fallback)
{
@@ -71,7 +69,7 @@ index 5d32afc..77790c9 100644
nvram_read_u16(prefix, NULL, "boardtype", &sprom->board_type, 0, true);
nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
&sprom->boardflags_hi, fallback);
-@@ -787,6 +811,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -787,6 +811,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom
bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
bcm47xx_fill_sprom_r1(sprom, prefix, fallback);
}
@@ -80,6 +78,3 @@ index 5d32afc..77790c9 100644
}
#ifdef CONFIG_BCM47XX_SSB
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/031-13-MIPS-BCM47xx-Move-filling-most-of-SPROM-to-the-gener.patch b/target/linux/brcm47xx/patches-3.18/031-13-MIPS-BCM47xx-Move-filling-most-of-SPROM-to-the-gener.patch
index 6056bdf71b..6a2d64f7f8 100644
--- a/target/linux/brcm47xx/patches-3.18/031-13-MIPS-BCM47xx-Move-filling-most-of-SPROM-to-the-gener.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-13-MIPS-BCM47xx-Move-filling-most-of-SPROM-to-the-gener.patch
@@ -27,22 +27,19 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/bcm47xx/sprom.c | 605 ++++++++++++++++------------------------------
1 file changed, 204 insertions(+), 401 deletions(-)
-diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
-index 77790c9..68ebf23 100644
--- a/arch/mips/bcm47xx/sprom.c
+++ b/arch/mips/bcm47xx/sprom.c
-@@ -201,9 +201,211 @@ static void bcm47xx_sprom_fill_auto(struct ssb_sprom *sprom,
+@@ -201,9 +201,211 @@ static void bcm47xx_sprom_fill_auto(stru
bool fb = fallback;
ENTRY(0xfffffffe, u16, pre, "boardrev", board_rev, 0, true);
+ ENTRY(0x00000002, u16, pre, "boardflags", boardflags_lo, 0, fb);
+ ENTRY(0xfffffffc, u16, pre, "boardtype", board_type, 0, true);
ENTRY(0xfffffffe, u16, pre, "boardnum", board_num, 0, fb);
--
-- /* TODO: Move more mappings here */
+ ENTRY(0x00000002, u8, pre, "cc", country_code, 0, fb);
+ ENTRY(0xfffffff8, u8, pre, "regrev", regrev, 0, fb);
-+
+
+- /* TODO: Move more mappings here */
+ ENTRY(0xfffffffe, u8, pre, "ledbh0", gpio0, 0xff, fb);
+ ENTRY(0xfffffffe, u8, pre, "ledbh1", gpio1, 0xff, fb);
+ ENTRY(0xfffffffe, u8, pre, "ledbh2", gpio2, 0xff, fb);
@@ -245,7 +242,7 @@ index 77790c9..68ebf23 100644
}
#undef ENTRY /* It's specififc, uses local variable, don't use it (again). */
-@@ -211,90 +413,12 @@ static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom,
+@@ -211,90 +413,12 @@ static void bcm47xx_fill_sprom_r1234589(
const char *prefix, bool fallback)
{
nvram_read_u16(prefix, NULL, "devid", &sprom->dev_id, 0, fallback);
@@ -336,7 +333,7 @@ index 77790c9..68ebf23 100644
nvram_read_leddc(prefix, "leddc", &sprom->leddc_on_time,
&sprom->leddc_off_time, fallback);
}
-@@ -302,309 +426,10 @@ static void bcm47xx_fill_sprom_r3(struct ssb_sprom *sprom, const char *prefix,
+@@ -302,309 +426,10 @@ static void bcm47xx_fill_sprom_r3(struct
static void bcm47xx_fill_sprom_r4589(struct ssb_sprom *sprom,
const char *prefix, bool fallback)
{
@@ -646,7 +643,7 @@ index 77790c9..68ebf23 100644
static void bcm47xx_fill_sprom_path_r4589(struct ssb_sprom *sprom,
const char *prefix, bool fallback)
{
-@@ -741,7 +566,6 @@ static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom,
+@@ -741,7 +566,6 @@ static void bcm47xx_fill_sprom_ethernet(
static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
bool fallback)
{
@@ -654,7 +651,7 @@ index 77790c9..68ebf23 100644
nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
&sprom->boardflags_hi, fallback);
nvram_read_u32_2(prefix, "boardflags2", &sprom->boardflags2_lo,
-@@ -759,48 +583,29 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -759,48 +583,29 @@ void bcm47xx_fill_sprom(struct ssb_sprom
switch (sprom->revision) {
case 1:
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
@@ -703,7 +700,7 @@ index 77790c9..68ebf23 100644
bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
break;
default:
-@@ -808,8 +613,6 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
+@@ -808,8 +613,6 @@ void bcm47xx_fill_sprom(struct ssb_sprom
sprom->revision);
sprom->revision = 1;
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
@@ -712,6 +709,3 @@ index 77790c9..68ebf23 100644
}
bcm47xx_sprom_fill_auto(sprom, prefix, fallback);
---
-1.8.4.5
-
diff --git a/target/linux/brcm47xx/patches-3.18/280-activate_ssb_support_in_usb.patch b/target/linux/brcm47xx/patches-3.18/280-activate_ssb_support_in_usb.patch
index c44131f2fe..c4082ab464 100644
--- a/target/linux/brcm47xx/patches-3.18/280-activate_ssb_support_in_usb.patch
+++ b/target/linux/brcm47xx/patches-3.18/280-activate_ssb_support_in_usb.patch
@@ -15,7 +15,7 @@ This prevents the options from being delete with make kernel_oldconfig.
the memory. This only works with the Broadcom SoCs from the
--- a/drivers/ssb/Kconfig
+++ b/drivers/ssb/Kconfig
-@@ -146,6 +146,7 @@ config SSB_SFLASH
+@@ -147,6 +147,7 @@ config SSB_SFLASH
config SSB_EMBEDDED
bool
depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
diff --git a/target/linux/brcm47xx/patches-3.18/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch b/target/linux/brcm47xx/patches-3.18/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch
index e860acb22c..d7d2d7e59a 100644
--- a/target/linux/brcm47xx/patches-3.18/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch
+++ b/target/linux/brcm47xx/patches-3.18/900-ssb-reject-PCI-writes-setting-CardBus-bridge-resourc.patch
@@ -15,11 +15,9 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
drivers/ssb/driver_pcicore.c | 4 ++++
1 file changed, 4 insertions(+)
-diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
-index 15a7ee3..c603d19 100644
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
-@@ -164,6 +164,10 @@ static int ssb_extpci_write_config(struct ssb_pcicore *pc,
+@@ -164,6 +164,10 @@ static int ssb_extpci_write_config(struc
SSB_WARN_ON(!pc->hostmode);
if (unlikely(len != 1 && len != 2 && len != 4))
goto out;
@@ -30,6 +28,3 @@ index 15a7ee3..c603d19 100644
addr = get_cfgspace_addr(pc, bus, dev, func, off);
if (unlikely(!addr))
goto out;
---
-1.8.4.5
-
diff --git a/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch b/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
index 9fde790d65..f3f4c6a3eb 100644
--- a/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
+++ b/target/linux/brcm63xx/patches-3.18/341-MIPS-BCM63XX-add-support-for-BCM6318.patch
@@ -216,7 +216,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
periph_bases[1] += PERF_IRQMASK_6328_REG(1);
--- a/arch/mips/bcm63xx/prom.c
+++ b/arch/mips/bcm63xx/prom.c
-@@ -72,7 +72,7 @@ void __init prom_init(void)
+@@ -68,7 +68,7 @@ void __init prom_init(void)
if (reg & OTP_6328_REG3_TP1_DISABLED)
bmips_smp_enabled = 0;
@@ -274,7 +274,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
bcm63xx_reset_bits = bcm6328_reset_bits;
--- a/arch/mips/bcm63xx/setup.c
+++ b/arch/mips/bcm63xx/setup.c
-@@ -71,6 +71,9 @@ void bcm63xx_machine_reboot(void)
+@@ -72,6 +72,9 @@ void bcm63xx_machine_reboot(void)
case BCM3368_CPU_ID:
perf_regs[0] = PERF_EXTIRQ_CFG_REG_3368;
break;
@@ -284,7 +284,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
case BCM6328_CPU_ID:
perf_regs[0] = PERF_EXTIRQ_CFG_REG_6328;
break;
-@@ -110,7 +113,7 @@ void bcm63xx_machine_reboot(void)
+@@ -111,7 +114,7 @@ void bcm63xx_machine_reboot(void)
bcm6348_a1_reboot();
printk(KERN_INFO "triggering watchdog soft-reset...\n");
diff --git a/target/linux/brcm63xx/patches-3.18/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch b/target/linux/brcm63xx/patches-3.18/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch
index a91a29b16c..f5b0e77668 100644
--- a/target/linux/brcm63xx/patches-3.18/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch
+++ b/target/linux/brcm63xx/patches-3.18/344-MIPS-BCM63XX-detect-flash-type-early-and-store-the-r.patch
@@ -43,17 +43,17 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* read base address of boot chip select (0) */
--- a/arch/mips/bcm63xx/prom.c
+++ b/arch/mips/bcm63xx/prom.c
-@@ -18,6 +18,7 @@
+@@ -17,6 +17,7 @@
+ #include <bcm63xx_cpu.h>
#include <bcm63xx_io.h>
#include <bcm63xx_regs.h>
- #include <bcm63xx_gpio.h>
+#include <bcm63xx_dev_flash.h>
void __init prom_init(void)
{
-@@ -56,6 +57,9 @@ void __init prom_init(void)
- /* register gpiochip */
- bcm63xx_gpio_init();
+@@ -52,6 +53,9 @@ void __init prom_init(void)
+ reg &= ~mask;
+ bcm_perf_writel(reg, PERF_CKCTL_REG);
+ /* detect and setup flash access */
+ bcm63xx_flash_detect();
diff --git a/target/linux/brcm63xx/patches-3.18/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch b/target/linux/brcm63xx/patches-3.18/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch
index d561e43f8c..baf97b2f50 100644
--- a/target/linux/brcm63xx/patches-3.18/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch
+++ b/target/linux/brcm63xx/patches-3.18/375-MIPS-BCM63XX-switch-to-new-gpio-driver.patch
@@ -7,7 +7,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
---
arch/mips/bcm63xx/boards/board_common.c | 2 +
arch/mips/bcm63xx/gpio.c | 147 +++++++------------------------
- arch/mips/bcm63xx/prom.c | 3 -
+ arch/mips/bcm63xx/setup.c | 3 -
3 files changed, 33 insertions(+), 119 deletions(-)
--- a/arch/mips/bcm63xx/boards/board_common.c
@@ -202,15 +202,15 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
- return gpiochip_add(&bcm63xx_gpio_chip);
}
---- a/arch/mips/bcm63xx/prom.c
-+++ b/arch/mips/bcm63xx/prom.c
-@@ -54,9 +54,6 @@ void __init prom_init(void)
- reg &= ~mask;
- bcm_perf_writel(reg, PERF_CKCTL_REG);
+--- a/arch/mips/bcm63xx/setup.c
++++ b/arch/mips/bcm63xx/setup.c
+@@ -164,9 +164,6 @@ void __init plat_mem_setup(void)
+ int __init bcm63xx_register_devices(void)
+ {
- /* register gpiochip */
- bcm63xx_gpio_init();
-
- /* detect and setup flash access */
- bcm63xx_flash_detect();
+ return board_register_devices();
+ }
diff --git a/target/linux/cns3xxx/patches-3.18/031-pcie_init.patch b/target/linux/cns3xxx/patches-3.18/031-pcie_init.patch
index 28c3570775..3c739c559a 100644
--- a/target/linux/cns3xxx/patches-3.18/031-pcie_init.patch
+++ b/target/linux/cns3xxx/patches-3.18/031-pcie_init.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/mach-cns3xxx/laguna.c
+++ b/arch/arm/mach-cns3xxx/laguna.c
-@@ -849,7 +849,6 @@ static struct map_desc laguna_io_desc[]
+@@ -849,7 +849,6 @@ static struct map_desc laguna_io_desc[]
static void __init laguna_map_io(void)
{
cns3xxx_map_io();
diff --git a/target/linux/cns3xxx/patches-3.18/090-timers.patch b/target/linux/cns3xxx/patches-3.18/090-timers.patch
index 2bddc1f67b..a884021384 100644
--- a/target/linux/cns3xxx/patches-3.18/090-timers.patch
+++ b/target/linux/cns3xxx/patches-3.18/090-timers.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/mach-cns3xxx/core.c
+++ b/arch/arm/mach-cns3xxx/core.c
-@@ -135,12 +135,13 @@ static void cns3xxx_timer_set_mode(enum
+@@ -135,12 +135,13 @@ static void cns3xxx_timer_set_mode(enum
switch (mode) {
case CLOCK_EVT_MODE_PERIODIC:
diff --git a/target/linux/gemini/patches-3.18/002-gemini-rtc.patch b/target/linux/gemini/patches-3.18/002-gemini-rtc.patch
index 1c6edd24d7..f16e6a32b2 100644
--- a/target/linux/gemini/patches-3.18/002-gemini-rtc.patch
+++ b/target/linux/gemini/patches-3.18/002-gemini-rtc.patch
@@ -18,7 +18,7 @@
depends on SH_LANDISK
--- a/drivers/rtc/Makefile
+++ b/drivers/rtc/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_DS3234) += rtc-ds3234.o
+@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o
obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o
obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
diff --git a/target/linux/gemini/patches-3.18/021-reset-parameters.patch b/target/linux/gemini/patches-3.18/021-reset-parameters.patch
index b466badd67..644e513746 100644
--- a/target/linux/gemini/patches-3.18/021-reset-parameters.patch
+++ b/target/linux/gemini/patches-3.18/021-reset-parameters.patch
@@ -13,9 +13,9 @@
{
__raw_writel(RESET_GLOBAL | RESET_CPU1,
IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET);
---- a/arch/arm/mach-gemini/common.h 2014-08-23 07:06:06.014200638 -0500
-+++ b/arch/arm/mach-gemini/common.h 2014-08-23 07:07:33.450536466 -0500
-@@ -26,6 +26,6 @@
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
+@@ -26,6 +26,6 @@ extern int platform_register_pflash(unsi
struct mtd_partition *parts,
unsigned int nr_parts);
diff --git a/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch b/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch
index 18b0abdac6..7572849864 100644
--- a/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch
+++ b/target/linux/gemini/patches-3.18/050-gpio-to-irq.patch
@@ -1,6 +1,6 @@
---- a/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:52.492113048 +0100
-+++ b/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:59.876498159 +0100
-@@ -196,12 +196,18 @@
+--- a/arch/arm/mach-gemini/gpio.c
++++ b/arch/arm/mach-gemini/gpio.c
+@@ -196,12 +196,18 @@ static int gemini_gpio_direction_output(
return 0;
}
diff --git a/target/linux/gemini/patches-3.18/060-cache-fa.diff b/target/linux/gemini/patches-3.18/060-cache-fa.diff
index d337607e97..fc74c0af88 100644
--- a/target/linux/gemini/patches-3.18/060-cache-fa.diff
+++ b/target/linux/gemini/patches-3.18/060-cache-fa.diff
@@ -1,5 +1,5 @@
---- a/arch/arm/mm/cache-fa.S 2011-01-05 01:50:19.000000000 +0100
-+++ b/arch/arm/mm/cache-fa.S 2012-07-25 14:30:40.883639094 +0200
+--- a/arch/arm/mm/cache-fa.S
++++ b/arch/arm/mm/cache-fa.S
@@ -24,7 +24,8 @@
/*
* The size of one data cache line.
@@ -10,7 +10,7 @@
/*
* The total size of the data cache.
-@@ -169,7 +170,17 @@
+@@ -169,7 +170,17 @@ ENTRY(fa_flush_kern_dcache_area)
* - start - virtual start address
* - end - virtual end address
*/
@@ -28,7 +28,7 @@
tst r0, #CACHE_DLINESIZE - 1
bic r0, r0, #CACHE_DLINESIZE - 1
mcrne p15, 0, r0, c7, c14, 1 @ clean & invalidate D entry
-@@ -193,6 +204,10 @@
+@@ -193,6 +204,10 @@ fa_dma_inv_range:
* - end - virtual end address
*/
fa_dma_clean_range:
diff --git a/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch b/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch
index 64468133b8..5f916abfa4 100644
--- a/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch
+++ b/target/linux/gemini/patches-3.18/120-net-add-gemini-gmac-driver.patch
@@ -22,8 +22,8 @@
+};
+
+#endif /* __NET_GEMINI_PLATFORM_H__ */
---- a/arch/arm/mach-gemini/common.h 2011-04-19 03:05:29.446367900 +0200
-+++ b/arch/arm/mach-gemini/common.h 2011-04-19 03:07:02.191154293 +0200
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
@@ -13,6 +13,7 @@
#define __GEMINI_COMMON_H__
@@ -32,7 +32,7 @@
extern void gemini_map_io(void);
extern void gemini_init_irq(void);
-@@ -26,6 +27,7 @@
+@@ -26,6 +27,7 @@ extern int platform_register_pflash(unsi
struct mtd_partition *parts,
unsigned int nr_parts);
extern int platform_register_watchdog(void);
@@ -40,8 +40,8 @@
extern void gemini_restart(enum reboot_mode mode, const char *cmd);
---- a/arch/arm/mach-gemini/devices.c 2011-04-21 13:01:53.578121892 +0200
-+++ b/arch/arm/mach-gemini/devices.c 2011-04-21 13:14:27.643158445 +0200
+--- a/arch/arm/mach-gemini/devices.c
++++ b/arch/arm/mach-gemini/devices.c
@@ -17,6 +17,7 @@
#include <mach/irqs.h>
#include <mach/hardware.h>
@@ -50,7 +50,7 @@
#include "common.h"
static struct plat_serial8250_port serial_platform_data[] = {
-@@ -134,3 +134,56 @@
+@@ -134,3 +135,56 @@ int __init platform_register_watchdog(vo
{
return platform_device_register(&wdt_device);
}
@@ -107,10 +107,9 @@
+
+ return platform_device_register(&ethernet_device);
+}
-
---- a/drivers/net/ethernet/Kconfig 2012-01-25 22:19:43.633736456 +0100
-+++ b/drivers/net/ethernet/Kconfig 2012-01-25 22:20:28.582730742 +0100
-@@ -70,6 +70,7 @@
+--- a/drivers/net/ethernet/Kconfig
++++ b/drivers/net/ethernet/Kconfig
+@@ -70,6 +70,7 @@ source "drivers/net/ethernet/neterion/Kc
source "drivers/net/ethernet/faraday/Kconfig"
source "drivers/net/ethernet/freescale/Kconfig"
source "drivers/net/ethernet/fujitsu/Kconfig"
@@ -118,9 +117,9 @@
source "drivers/net/ethernet/hisilicon/Kconfig"
source "drivers/net/ethernet/hp/Kconfig"
source "drivers/net/ethernet/ibm/Kconfig"
---- a/drivers/net/ethernet/Makefile 2012-01-27 01:37:10.839114389 +0100
-+++ b/drivers/net/ethernet/Makefile 2012-01-27 01:39:06.102105027 +0100
-@@ -33,6 +33,7 @@
+--- a/drivers/net/ethernet/Makefile
++++ b/drivers/net/ethernet/Makefile
+@@ -33,6 +33,7 @@ obj-$(CONFIG_NET_VENDOR_EXAR) += neterio
obj-$(CONFIG_NET_VENDOR_FARADAY) += faraday/
obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/
obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/
@@ -128,8 +127,8 @@
obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/
obj-$(CONFIG_NET_VENDOR_HP) += hp/
obj-$(CONFIG_NET_VENDOR_IBM) += ibm/
---- /dev/null 2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/Kconfig 2012-01-25 22:16:44.285740226 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/Kconfig
@@ -0,0 +1,31 @@
+#
+# Gemini device configuration
@@ -162,16 +161,16 @@
+ This driver supports StorLink SL351x (Gemini) dual Gigabit Ethernet.
+
+endif # NET_VENDOR_GEMINI
---- /dev/null 2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/Makefile 2012-01-25 22:17:29.698741496 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/Makefile
@@ -0,0 +1,5 @@
+#
+# Makefile for the Cortina Gemini network device drivers.
+#
+
+obj-$(CONFIG_GEMINI_SL351X) += sl351x.o
---- /dev/null 2012-01-23 21:36:48.249769447 +0100
-+++ b/drivers/net/ethernet/gemini/sl351x.c 2012-01-27 17:09:51.000000000 +0100
+--- /dev/null
++++ b/drivers/net/ethernet/gemini/sl351x.c
@@ -0,0 +1,2340 @@
+/*
+ * Ethernet device driver for Gemini SoC (SL351x GMAC).
diff --git a/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch b/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch
index 8ce3de27fe..5ae896c66f 100644
--- a/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch
+++ b/target/linux/gemini/patches-3.18/121-arm-gemini-register-ethernet.patch
@@ -1,5 +1,5 @@
---- a/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:19:09.878432930 +0200
-+++ b/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:30:37.555082365 +0200
+--- a/arch/arm/mach-gemini/board-nas4220b.c
++++ b/arch/arm/mach-gemini/board-nas4220b.c
@@ -28,9 +28,27 @@
#include <mach/hardware.h>
@@ -28,7 +28,7 @@
static struct gpio_led ib4220b_leds[] = {
{
.name = "nas4220b:orange:hdd",
-@@ -87,9 +105,39 @@
+@@ -87,15 +105,47 @@ static struct platform_device ib4220b_ke
},
};
@@ -68,7 +68,6 @@
platform_register_uart();
platform_register_pflash(SZ_16M, NULL, 0);
platform_device_register(&ib4220b_led_device);
-@@ -96,6 +144,8 @@
platform_device_register(&ib4220b_key_device);
platform_register_rtc();
platform_register_watchdog();
diff --git a/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch b/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch
index d621fe3645..d13554e535 100644
--- a/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch
+++ b/target/linux/gemini/patches-3.18/130-usb-ehci-fot2g.patch
@@ -1,6 +1,6 @@
---- a/arch/arm/mach-gemini/devices.c 2011-04-23 01:00:16.738137491 +0200
-+++ b/arch/arm/mach-gemini/devices.c 2011-04-23 01:06:55.539299920 +0200
-@@ -188,3 +188,64 @@
+--- a/arch/arm/mach-gemini/devices.c
++++ b/arch/arm/mach-gemini/devices.c
+@@ -188,3 +188,64 @@ int platform_register_ethernet(struct ge
return platform_device_register(&ethernet_device);
}
@@ -65,9 +65,9 @@
+ return platform_device_register(&usb_device[id]);
+}
+
---- a/arch/arm/mach-gemini/common.h 2011-04-23 01:09:31.413161153 +0200
-+++ b/arch/arm/mach-gemini/common.h 2011-04-23 01:09:52.426358514 +0200
-@@ -28,6 +28,7 @@
+--- a/arch/arm/mach-gemini/common.h
++++ b/arch/arm/mach-gemini/common.h
+@@ -28,6 +28,7 @@ extern int platform_register_pflash(unsi
unsigned int nr_parts);
extern int platform_register_watchdog(void);
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
@@ -77,8 +77,7 @@
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
-@@ -345,12 +345,14 @@ static void ehci_silence_controller(struct ehci_hcd *ehci)
- spin_lock_irq(&ehci->lock);
+@@ -346,11 +346,13 @@ static void ehci_silence_controller(stru
ehci->rh_state = EHCI_RH_HALTED;
ehci_turn_off_all_ports(ehci);
@@ -92,7 +91,7 @@
spin_unlock_irq(&ehci->lock);
}
-@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd)
+@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd
// Philips, Intel, and maybe others need CMD_RUN before the
// root hub will detect new devices (why?); NEC doesn't
ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET);
@@ -102,7 +101,7 @@
ehci_writel(ehci, ehci->command, &ehci->regs->command);
dbg_cmd (ehci, "init", ehci->command);
-@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd)
+@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd
*/
down_write(&ehci_cf_port_reset_rwsem);
ehci->rh_state = EHCI_RH_RUNNING;
@@ -114,7 +113,7 @@
up_write(&ehci_cf_port_reset_rwsem);
ehci->last_periodic_enable = ktime_get_real();
-@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
+@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_
pcd_status = status;
/* resume root hub? */
@@ -138,9 +137,9 @@
#ifdef CONFIG_USB_EHCI_FSL
#include "ehci-fsl.c"
#define PLATFORM_DRIVER ehci_fsl_driver
---- a/drivers/usb/host/ehci-timer.c 2012-12-24 18:35:19.695560879 +0100
-+++ b/drivers/usb/host/ehci-timer.c 2012-12-24 18:39:39.813308000 +0100
-@@ -208,7 +208,9 @@
+--- a/drivers/usb/host/ehci-timer.c
++++ b/drivers/usb/host/ehci-timer.c
+@@ -208,7 +208,9 @@ static void ehci_handle_controller_death
/* Clean up the mess */
ehci->rh_state = EHCI_RH_HALTED;
@@ -168,7 +167,7 @@
case 1:
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
-@@ -1072,6 +1072,11 @@ static int ehci_hub_control (
+@@ -1075,6 +1075,11 @@ int ehci_hub_control(
/* see what we found out */
temp = check_reset_complete (ehci, wIndex, status_reg,
ehci_readl(ehci, status_reg));
@@ -180,26 +179,24 @@
}
/* transfer dedicated ports to the companion hc */
---- a/include/linux/usb/ehci_def.h 2012-12-24 15:01:10.168320497 +0100
-+++ b/include/linux/usb/ehci_def.h 2012-12-24 15:11:43.335575000 +0100
-@@ -110,9 +110,14 @@
+--- a/include/linux/usb/ehci_def.h
++++ b/include/linux/usb/ehci_def.h
+@@ -110,8 +110,13 @@ struct ehci_regs {
u32 frame_list; /* points to periodic list */
/* ASYNCLISTADDR: offset 0x18 */
u32 async_next; /* address of next async queue head */
-
+#ifndef CONFIG_ARCH_GEMINI
u32 reserved1[2];
--
+#else
+ u32 reserved1;
+ /* PORTSC: offset 0x20 for Faraday OTG */
+ u32 port_status[1];
+#endif
-+
+
/* TXFILLTUNING: offset 0x24 */
u32 txfill_tuning; /* TX FIFO Tuning register */
- #define TXFIFO_DEFAULT (8<<16) /* FIFO burst threshold 8 */
-@@ -123,8 +128,11 @@
+@@ -123,8 +128,11 @@ struct ehci_regs {
u32 configured_flag;
#define FLAG_CF (1<<0) /* true: we'll support "high speed" */
diff --git a/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch b/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch
index 222e485989..2a61d828ea 100644
--- a/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch
+++ b/target/linux/gemini/patches-3.18/132-arm-gemini-register-usb.patch
@@ -30,7 +30,7 @@
MACHINE_START(RUT100, "Teltonika RUT100")
--- a/arch/arm/mach-gemini/board-nas4220b.c
+++ b/arch/arm/mach-gemini/board-nas4220b.c
-@@ -134,10 +134,23 @@
+@@ -134,10 +134,23 @@ static void __init ib4220b_gmac_init(voi
GLOBAL_ARBITRATION1_CTRL));
}
diff --git a/target/linux/gemini/patches-3.18/150-gemini-pata.patch b/target/linux/gemini/patches-3.18/150-gemini-pata.patch
index 21fd801f91..62a71def76 100644
--- a/target/linux/gemini/patches-3.18/150-gemini-pata.patch
+++ b/target/linux/gemini/patches-3.18/150-gemini-pata.patch
@@ -15,9 +15,9 @@
#define USB1_VBUS_ON (1 << 23)
#define USB0_VBUS_ON (1 << 22)
#define APB_CLKOUT_ENABLE (1 << 21)
---- a/arch/arm/mach-gemini/irq.c 2013-02-19 13:38:13.263948000 +0100
-+++ b/arch/arm/mach-gemini/irq.c 2013-02-19 18:24:02.912997292 +0100
-@@ -89,6 +89,9 @@
+--- a/arch/arm/mach-gemini/irq.c
++++ b/arch/arm/mach-gemini/irq.c
+@@ -89,6 +89,9 @@ void __init gemini_init_irq(void)
irq_set_handler(i, handle_edge_irq);
mode |= 1 << i;
level |= 1 << i;
@@ -29,7 +29,7 @@
}
--- a/arch/arm/mach-gemini/common.h
+++ b/arch/arm/mach-gemini/common.h
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ extern int platform_register_pflash(unsi
extern int platform_register_watchdog(void);
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
extern int platform_register_usb(unsigned int id);
@@ -39,7 +39,7 @@
--- a/arch/arm/mach-gemini/devices.c
+++ b/arch/arm/mach-gemini/devices.c
-@@ -249,3 +249,67 @@
+@@ -249,3 +249,67 @@ int __init platform_register_usb(unsigne
return platform_device_register(&usb_device[id]);
}
@@ -109,7 +109,7 @@
+}
--- a/arch/arm/mach-gemini/mm.c
+++ b/arch/arm/mach-gemini/mm.c
-@@ -24,6 +24,11 @@
+@@ -24,6 +24,11 @@ static struct map_desc gemini_io_desc[]
.length = SZ_512K,
.type = MT_DEVICE,
}, {
@@ -123,7 +123,7 @@
.length = SZ_512K,
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
-@@ -536,6 +536,16 @@ config PATA_EFAR
+@@ -536,6 +536,16 @@ config PATA_EP93XX
If unsure, say N.
@@ -142,7 +142,7 @@
depends on PCI
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
-@@ -53,6 +53,7 @@
+@@ -53,6 +53,7 @@ obj-$(CONFIG_PATA_CS5536) += pata_cs5536
obj-$(CONFIG_PATA_CYPRESS) += pata_cypress.o
obj-$(CONFIG_PATA_EFAR) += pata_efar.o
obj-$(CONFIG_PATA_EP93XX) += pata_ep93xx.o
@@ -152,7 +152,7 @@
obj-$(CONFIG_PATA_HPT3X2N) += pata_hpt3x2n.o
--- a/arch/arm/mach-gemini/board-nas4220b.c
+++ b/arch/arm/mach-gemini/board-nas4220b.c
-@@ -146,11 +146,28 @@
+@@ -146,11 +146,28 @@ static void __init usb_ib4220b_init(void
GLOBAL_MISC_CTRL));
}
@@ -181,7 +181,7 @@
platform_register_uart();
platform_register_pflash(SZ_16M, NULL, 0);
platform_device_register(&ib4220b_led_device);
-@@ -161,6 +178,8 @@
+@@ -161,6 +178,8 @@ static void __init ib4220b_init(void)
platform_register_ethernet(&ib4220b_gmac_data);
platform_register_usb(0);
platform_register_usb(1);
diff --git a/target/linux/gemini/patches-3.18/160-gemini-timers.patch b/target/linux/gemini/patches-3.18/160-gemini-timers.patch
index 06251356d2..4b0edb45d1 100644
--- a/target/linux/gemini/patches-3.18/160-gemini-timers.patch
+++ b/target/linux/gemini/patches-3.18/160-gemini-timers.patch
@@ -1,5 +1,5 @@
---- a/arch/arm/mach-gemini/time.c 2015-03-25 23:06:03.188317455 +0200
-+++ b/arch/arm/mach-gemini/time.c 2015-03-25 23:06:24.417315486 +0200
+--- a/arch/arm/mach-gemini/time.c
++++ b/arch/arm/mach-gemini/time.c
@@ -15,15 +15,18 @@
#include <asm/mach/time.h>
#include <linux/clockchips.h>
@@ -76,7 +76,7 @@
return 0;
}
-@@ -66,48 +80,68 @@
+@@ -66,48 +80,68 @@ static void gemini_timer_set_mode(enum c
u32 cr;
switch (mode) {
@@ -176,7 +176,7 @@
{
struct clock_event_device *evt = &gemini_clockevent;
-@@ -116,14 +150,11 @@
+@@ -116,14 +150,11 @@ static irqreturn_t gemini_timer_interrup
}
static struct irqaction gemini_timer_irq = {
@@ -194,7 +194,7 @@
void __init gemini_timer_init(void)
{
u32 reg_v;
-@@ -151,20 +182,35 @@
+@@ -151,20 +182,35 @@ void __init gemini_timer_init(void)
}
/*
diff --git a/target/linux/generic/patches-3.18/082-usbnet-Fix-tx_packets-stat-for-FLAG_MULTI_FRAME-driv.patch b/target/linux/generic/patches-3.18/082-usbnet-Fix-tx_packets-stat-for-FLAG_MULTI_FRAME-driv.patch
deleted file mode 100644
index 2a5e08b04f..0000000000
--- a/target/linux/generic/patches-3.18/082-usbnet-Fix-tx_packets-stat-for-FLAG_MULTI_FRAME-driv.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From: Ben Hutchings <ben.hutchings@codethink.co.uk>
-Date: Thu, 26 Feb 2015 19:34:37 +0000
-Subject: [PATCH] usbnet: Fix tx_packets stat for FLAG_MULTI_FRAME drivers
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Currently the usbnet core does not update the tx_packets statistic for
-drivers with FLAG_MULTI_PACKET and there is no hook in the TX
-completion path where they could do this.
-
-cdc_ncm and dependent drivers are bumping tx_packets stat on the
-transmit path while asix and sr9800 aren't updating it at all.
-
-Add a packet count in struct skb_data so these drivers can fill it
-in, initialise it to 1 for other drivers, and add the packet count
-to the tx_packets statistic on completion.
-
-Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
-Tested-by: Bjørn Mork <bjorn@mork.no>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
---- a/drivers/net/usb/asix_common.c
-+++ b/drivers/net/usb/asix_common.c
-@@ -188,6 +188,8 @@ struct sk_buff *asix_tx_fixup(struct usb
- memcpy(skb_tail_pointer(skb), &padbytes, sizeof(padbytes));
- skb_put(skb, sizeof(padbytes));
- }
-+
-+ usbnet_set_skb_tx_stats(skb, 1);
- return skb;
- }
-
---- a/drivers/net/usb/cdc_ncm.c
-+++ b/drivers/net/usb/cdc_ncm.c
-@@ -1172,7 +1172,6 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
-
- /* return skb */
- ctx->tx_curr_skb = NULL;
-- dev->net->stats.tx_packets += ctx->tx_curr_frame_num;
-
- /* keep private stats: framing overhead and number of NTBs */
- ctx->tx_overhead += skb_out->len - ctx->tx_curr_frame_payload;
-@@ -1184,6 +1183,8 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
- */
- dev->net->stats.tx_bytes -= skb_out->len - ctx->tx_curr_frame_payload;
-
-+ usbnet_set_skb_tx_stats(skb_out, n);
-+
- return skb_out;
-
- exit_no_skb:
---- a/drivers/net/usb/sr9800.c
-+++ b/drivers/net/usb/sr9800.c
-@@ -144,6 +144,7 @@ static struct sk_buff *sr_tx_fixup(struc
- skb_put(skb, sizeof(padbytes));
- }
-
-+ usbnet_set_skb_tx_stats(skb, 1);
- return skb;
- }
-
---- a/drivers/net/usb/usbnet.c
-+++ b/drivers/net/usb/usbnet.c
-@@ -1189,8 +1189,7 @@ static void tx_complete (struct urb *urb
- struct usbnet *dev = entry->dev;
-
- if (urb->status == 0) {
-- if (!(dev->driver_info->flags & FLAG_MULTI_PACKET))
-- dev->net->stats.tx_packets++;
-+ dev->net->stats.tx_packets += entry->packets;
- dev->net->stats.tx_bytes += entry->length;
- } else {
- dev->net->stats.tx_errors++;
-@@ -1349,6 +1348,8 @@ netdev_tx_t usbnet_start_xmit (struct sk
- urb->transfer_flags |= URB_ZERO_PACKET;
- }
- entry->length = urb->transfer_buffer_length = length;
-+ if (!(info->flags & FLAG_MULTI_PACKET))
-+ usbnet_set_skb_tx_stats(skb, 1);
-
- spin_lock_irqsave(&dev->txq.lock, flags);
- retval = usb_autopm_get_interface_async(dev->intf);
---- a/include/linux/usb/usbnet.h
-+++ b/include/linux/usb/usbnet.h
-@@ -228,8 +228,20 @@ struct skb_data { /* skb->cb is one of t
- struct usbnet *dev;
- enum skb_state state;
- size_t length;
-+ unsigned long packets;
- };
-
-+/* Drivers that set FLAG_MULTI_PACKET must call this in their
-+ * tx_fixup method before returning an skb.
-+ */
-+static inline void
-+usbnet_set_skb_tx_stats(struct sk_buff *skb, unsigned long packets)
-+{
-+ struct skb_data *entry = (struct skb_data *) skb->cb;
-+
-+ entry->packets = packets;
-+}
-+
- extern int usbnet_open(struct net_device *net);
- extern int usbnet_stop(struct net_device *net);
- extern netdev_tx_t usbnet_start_xmit(struct sk_buff *skb,
diff --git a/target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch b/target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch
index f498d4eac6..a5645596f9 100644
--- a/target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch
+++ b/target/linux/generic/patches-3.18/102-ehci_hcd_ignore_oc.patch
@@ -31,7 +31,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
&ehci->regs->intr_enable); /* Turn On Interrupts */
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
-@@ -632,7 +632,7 @@ ehci_hub_status_data (struct usb_hcd *hc
+@@ -635,7 +635,7 @@ ehci_hub_status_data (struct usb_hcd *hc
* always set, seem to clear PORT_OCC and PORT_CSC when writing to
* PORT_POWER; that's surprising, but maybe within-spec.
*/
@@ -40,7 +40,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
mask = PORT_CSC | PORT_PEC | PORT_OCC;
else
mask = PORT_CSC | PORT_PEC;
-@@ -992,7 +992,7 @@ int ehci_hub_control(
+@@ -995,7 +995,7 @@ int ehci_hub_control(
if (temp & PORT_PEC)
status |= USB_PORT_STAT_C_ENABLE << 16;
diff --git a/target/linux/generic/patches-3.18/259-regmap_dynamic.patch b/target/linux/generic/patches-3.18/259-regmap_dynamic.patch
index cf67a7df01..44548ca8cc 100644
--- a/target/linux/generic/patches-3.18/259-regmap_dynamic.patch
+++ b/target/linux/generic/patches-3.18/259-regmap_dynamic.patch
@@ -71,7 +71,7 @@
#include <linux/mutex.h>
#include <linux/err.h>
#include <linux/of.h>
-@@ -2635,3 +2636,5 @@ static int __init regmap_initcall(void)
+@@ -2631,3 +2632,5 @@ static int __init regmap_initcall(void)
return 0;
}
postcore_initcall(regmap_initcall);
diff --git a/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch b/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
index 24fd5c7bfa..37ec9934ff 100644
--- a/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
+++ b/target/linux/generic/patches-3.18/304-mips_disable_fpu.patch
@@ -60,7 +60,7 @@ v2: incorporated changes suggested by Jonas Gorski
core-y += arch/mips/
--- a/arch/mips/include/asm/fpu.h
+++ b/arch/mips/include/asm/fpu.h
-@@ -168,8 +168,10 @@ static inline int init_fpu(void)
+@@ -169,8 +169,10 @@ static inline int init_fpu(void)
ret = __own_fpu();
if (!ret)
_init_fpu();
diff --git a/target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch b/target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch
index 0c117c2703..7692d3dd42 100644
--- a/target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch
+++ b/target/linux/generic/patches-3.18/411-mtd-partial_eraseblock_write.patch
@@ -97,7 +97,7 @@
if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
instr->fail_addr -= part->offset;
instr->addr -= part->offset;
-@@ -514,18 +582,21 @@ static struct mtd_part *allocate_partiti
+@@ -514,17 +582,20 @@ static struct mtd_part *allocate_partiti
if ((slave->mtd.flags & MTD_WRITEABLE) &&
mtd_mod_by_eb(slave->offset, &slave->mtd)) {
/* Doesn't start on a boundary of major erase size */
@@ -127,7 +127,6 @@
}
slave->mtd.ecclayout = master->ecclayout;
- slave->mtd.ecc_step_size = master->ecc_step_size;
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -55,6 +55,10 @@ struct erase_info {
diff --git a/target/linux/generic/patches-3.18/650-pppoe_header_pad.patch b/target/linux/generic/patches-3.18/650-pppoe_header_pad.patch
index 60279c3c5b..3b4978be84 100644
--- a/target/linux/generic/patches-3.18/650-pppoe_header_pad.patch
+++ b/target/linux/generic/patches-3.18/650-pppoe_header_pad.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/ppp/pppoe.c
+++ b/drivers/net/ppp/pppoe.c
-@@ -865,7 +865,7 @@ static int pppoe_sendmsg(struct kiocb *i
+@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct kiocb *i
goto end;
@@ -9,7 +9,7 @@
0, GFP_KERNEL);
if (!skb) {
error = -ENOMEM;
-@@ -873,7 +873,7 @@ static int pppoe_sendmsg(struct kiocb *i
+@@ -877,7 +877,7 @@ static int pppoe_sendmsg(struct kiocb *i
}
/* Reserve space for headers. */
diff --git a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch b/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
index 5732596792..f8bc1f44ed 100644
--- a/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
+++ b/target/linux/generic/patches-3.18/653-disable_netlink_trim.patch
@@ -1,6 +1,6 @@
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
-@@ -1695,27 +1695,7 @@ void netlink_detachskb(struct sock *sk,
+@@ -1693,27 +1693,7 @@ void netlink_detachskb(struct sock *sk,
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
{
diff --git a/target/linux/generic/patches-3.18/655-increase_skb_pad.patch b/target/linux/generic/patches-3.18/655-increase_skb_pad.patch
index 96da16788a..19344cca3f 100644
--- a/target/linux/generic/patches-3.18/655-increase_skb_pad.patch
+++ b/target/linux/generic/patches-3.18/655-increase_skb_pad.patch
@@ -1,6 +1,6 @@
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2022,7 +2022,7 @@ static inline int pskb_network_may_pull(
+@@ -2023,7 +2023,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
diff --git a/target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch b/target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch
index 48277930d4..b326a8b727 100644
--- a/target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch
+++ b/target/linux/generic/patches-3.18/656-skb_reduce_truesize-helper.patch
@@ -14,7 +14,7 @@ when needed.
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2067,6 +2067,24 @@ static inline void pskb_trim_unique(stru
+@@ -2068,6 +2068,24 @@ static inline void pskb_trim_unique(stru
BUG_ON(err);
}
diff --git a/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch b/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch
index db93ee1614..f67ef47879 100644
--- a/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch
+++ b/target/linux/generic/patches-3.18/667-ipv6-Fixed-source-specific-default-route-handling.patch
@@ -24,11 +24,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/route.c | 5 +++--
2 files changed, 34 insertions(+), 10 deletions(-)
-diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
-index 7fde1f2..c217775 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
-@@ -897,21 +897,45 @@ static int ip6_dst_lookup_tail(struct so
+@@ -898,21 +898,45 @@ static int ip6_dst_lookup_tail(struct so
#endif
int err;
@@ -83,7 +81,7 @@ index 7fde1f2..c217775 100644
* Here if the dst entry we've looked up
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
-@@ -2215,9 +2215,10 @@ int ip6_route_get_saddr(struct net *net,
+@@ -2182,9 +2182,10 @@ int ip6_route_get_saddr(struct net *net,
unsigned int prefs,
struct in6_addr *saddr)
{
diff --git a/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index bc163cb251..1bf9dc99dc 100644
--- a/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/patches-3.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/*
* Allocate a dst for local (unicast / anycast) address.
*/
-@@ -2362,7 +2395,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -2363,7 +2396,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT ||
@@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -2564,6 +2598,9 @@ static int rt6_fill_node(struct net *net
+@@ -2565,6 +2599,9 @@ static int rt6_fill_node(struct net *net
case -EACCES:
rtm->rtm_type = RTN_PROHIBIT;
break;
@@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case -EAGAIN:
rtm->rtm_type = RTN_THROW;
break;
-@@ -2817,6 +2854,8 @@ static int ip6_route_dev_notify(struct n
+@@ -2818,6 +2855,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -3033,6 +3072,17 @@ static int __net_init ip6_route_net_init
+@@ -3034,6 +3073,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
@@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
net->ipv6.sysctl.flush_delay = 0;
-@@ -3051,6 +3101,8 @@ out:
+@@ -3052,6 +3102,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -3068,6 +3120,7 @@ static void __net_exit ip6_route_net_exi
+@@ -3069,6 +3121,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry);
@@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
}
-@@ -3164,6 +3217,9 @@ int __init ip6_route_init(void)
+@@ -3165,6 +3218,9 @@ int __init ip6_route_init(void)
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
diff --git a/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index ad5000e2b9..4a2f36bc0a 100644
--- a/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/patches-3.18/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4003,6 +4003,9 @@ static enum gro_result dev_gro_receive(s
+@@ -4001,6 +4001,9 @@ static enum gro_result dev_gro_receive(s
enum gro_result ret;
int grow;
@@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (!(skb->dev->features & NETIF_F_GRO))
goto normal;
-@@ -5066,6 +5069,48 @@ static void __netdev_adjacent_dev_unlink
+@@ -5064,6 +5067,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
@@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *private)
-@@ -5126,6 +5171,7 @@ static int __netdev_upper_dev_link(struc
+@@ -5124,6 +5169,7 @@ static int __netdev_upper_dev_link(struc
goto rollback_lower_mesh;
}
@@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
return 0;
-@@ -5243,6 +5289,7 @@ void netdev_upper_dev_unlink(struct net_
+@@ -5241,6 +5287,7 @@ void netdev_upper_dev_unlink(struct net_
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
__netdev_adjacent_dev_unlink(dev, i->dev);
@@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
}
EXPORT_SYMBOL(netdev_upper_dev_unlink);
-@@ -5762,6 +5809,7 @@ int dev_set_mac_address(struct net_devic
+@@ -5760,6 +5807,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;
diff --git a/target/linux/generic/patches-3.18/721-phy_packets.patch b/target/linux/generic/patches-3.18/721-phy_packets.patch
index aa1897cad9..7616817f9b 100644
--- a/target/linux/generic/patches-3.18/721-phy_packets.patch
+++ b/target/linux/generic/patches-3.18/721-phy_packets.patch
@@ -41,7 +41,7 @@
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -2053,6 +2053,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2054,6 +2054,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
@@ -52,7 +52,7 @@
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -2179,16 +2183,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2180,16 +2184,6 @@ static inline struct sk_buff *dev_alloc_
}
@@ -121,7 +121,7 @@
#include <net/protocol.h>
#include <net/dst.h>
-@@ -451,6 +452,22 @@ struct sk_buff *__netdev_alloc_skb(struc
+@@ -469,6 +470,22 @@ struct sk_buff *__netdev_alloc_skb(struc
}
EXPORT_SYMBOL(__netdev_alloc_skb);
diff --git a/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch b/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch
index a2f526282b..e381cc97be 100644
--- a/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch
+++ b/target/linux/generic/patches-3.18/820-usb_add_usb_find_device_by_name.patch
@@ -74,7 +74,7 @@
* @dev: device the buffer will be used with
--- a/include/linux/usb.h
+++ b/include/linux/usb.h
-@@ -695,6 +695,7 @@ static inline bool usb_device_no_sg_cons
+@@ -721,6 +721,7 @@ static inline bool usb_device_no_sg_cons
return udev && udev->bus && udev->bus->no_sg_constraint;
}
diff --git a/target/linux/generic/patches-3.18/902-debloat_proc.patch b/target/linux/generic/patches-3.18/902-debloat_proc.patch
index 8b3a5d43f0..52beed2128 100644
--- a/target/linux/generic/patches-3.18/902-debloat_proc.patch
+++ b/target/linux/generic/patches-3.18/902-debloat_proc.patch
@@ -173,7 +173,7 @@
goto err;
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -2915,6 +2915,8 @@ static __net_initdata struct pernet_oper
+@@ -2934,6 +2934,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{
diff --git a/target/linux/imx6/patches-3.18/200-pci_designware_add-ability-for-custom-swizzle.patch b/target/linux/imx6/patches-3.18/200-pci_designware_add-ability-for-custom-swizzle.patch
index 38e5123507..75218d2a4c 100644
--- a/target/linux/imx6/patches-3.18/200-pci_designware_add-ability-for-custom-swizzle.patch
+++ b/target/linux/imx6/patches-3.18/200-pci_designware_add-ability-for-custom-swizzle.patch
@@ -11,7 +11,7 @@ Date: Thu Feb 27 01:02:23 2014 -0800
--- a/drivers/pci/host/pcie-designware.c
+++ b/drivers/pci/host/pcie-designware.c
-@@ -492,6 +492,9 @@ int __init dw_pcie_host_init(struct pcie
+@@ -492,6 +492,9 @@ int dw_pcie_host_init(struct pcie_port *
if (pp->ops->host_init)
pp->ops->host_init(pp);
diff --git a/target/linux/ipq806x/patches-3.18/001-spi-qup-Add-DMA-capabilities.patch b/target/linux/ipq806x/patches-3.18/001-spi-qup-Add-DMA-capabilities.patch
index 62badd5387..e110bf726c 100644
--- a/target/linux/ipq806x/patches-3.18/001-spi-qup-Add-DMA-capabilities.patch
+++ b/target/linux/ipq806x/patches-3.18/001-spi-qup-Add-DMA-capabilities.patch
@@ -443,7 +443,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
exit:
spi_qup_set_state(controller, QUP_STATE_RESET);
spin_lock_irqsave(&controller->lock, flags);
-@@ -553,6 +816,7 @@ static int spi_qup_probe(struct platform
+@@ -554,6 +817,7 @@ static int spi_qup_probe(struct platform
master->transfer_one = spi_qup_transfer_one;
master->dev.of_node = pdev->dev.of_node;
master->auto_runtime_pm = true;
@@ -451,7 +451,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
platform_set_drvdata(pdev, master);
-@@ -618,6 +882,56 @@ static int spi_qup_probe(struct platform
+@@ -619,6 +883,56 @@ static int spi_qup_probe(struct platform
QUP_ERROR_INPUT_UNDER_RUN | QUP_ERROR_OUTPUT_UNDER_RUN,
base + QUP_ERROR_FLAGS_EN);
@@ -508,7 +508,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
writel_relaxed(0, base + SPI_CONFIG);
writel_relaxed(SPI_IO_C_NO_TRI_STATE, base + SPI_IO_CONTROL);
-@@ -730,6 +1044,11 @@ static int spi_qup_remove(struct platfor
+@@ -731,6 +1045,11 @@ static int spi_qup_remove(struct platfor
if (ret)
return ret;
diff --git a/target/linux/ipq806x/patches-3.18/011-watchdog-qcom-use-timer-devicetree-binding.patch b/target/linux/ipq806x/patches-3.18/011-watchdog-qcom-use-timer-devicetree-binding.patch
index 0cd7da1f6d..68489a83b5 100644
--- a/target/linux/ipq806x/patches-3.18/011-watchdog-qcom-use-timer-devicetree-binding.patch
+++ b/target/linux/ipq806x/patches-3.18/011-watchdog-qcom-use-timer-devicetree-binding.patch
@@ -14,8 +14,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
drivers/watchdog/qcom-wdt.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
-diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c
-index aa85618..aa03ca8 100644
--- a/drivers/watchdog/qcom-wdt.c
+++ b/drivers/watchdog/qcom-wdt.c
@@ -20,9 +20,9 @@
@@ -31,7 +29,7 @@ index aa85618..aa03ca8 100644
struct qcom_wdt {
struct watchdog_device wdd;
-@@ -117,6 +117,8 @@ static int qcom_wdt_probe(struct platform_device *pdev)
+@@ -117,6 +117,8 @@ static int qcom_wdt_probe(struct platfor
{
struct qcom_wdt *wdt;
struct resource *res;
@@ -40,7 +38,7 @@ index aa85618..aa03ca8 100644
int ret;
wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
-@@ -124,6 +126,14 @@ static int qcom_wdt_probe(struct platform_device *pdev)
+@@ -124,6 +126,14 @@ static int qcom_wdt_probe(struct platfor
return -ENOMEM;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -55,7 +53,7 @@ index aa85618..aa03ca8 100644
wdt->base = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(wdt->base))
return PTR_ERR(wdt->base);
-@@ -203,9 +213,8 @@ static int qcom_wdt_remove(struct platform_device *pdev)
+@@ -203,9 +213,8 @@ static int qcom_wdt_remove(struct platfo
}
static const struct of_device_id qcom_wdt_of_table[] = {
@@ -67,6 +65,3 @@ index aa85618..aa03ca8 100644
{ },
};
MODULE_DEVICE_TABLE(of, qcom_wdt_of_table);
---
-1.9.1
-
diff --git a/target/linux/ipq806x/patches-3.18/012-ARM-qcom-add-description-of-KPSS-WDT-for-IPQ8064.patch b/target/linux/ipq806x/patches-3.18/012-ARM-qcom-add-description-of-KPSS-WDT-for-IPQ8064.patch
index 24a093a812..ae9677656e 100644
--- a/target/linux/ipq806x/patches-3.18/012-ARM-qcom-add-description-of-KPSS-WDT-for-IPQ8064.patch
+++ b/target/linux/ipq806x/patches-3.18/012-ARM-qcom-add-description-of-KPSS-WDT-for-IPQ8064.patch
@@ -13,8 +13,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
arch/arm/boot/dts/qcom-ipq8064.dtsi | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index cb225da..d01f618 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -60,6 +60,14 @@
@@ -48,6 +46,3 @@ index cb225da..d01f618 100644
cpu-offset = <0x80000>;
};
---
-1.9.1
-
diff --git a/target/linux/ipq806x/patches-3.18/022-add-db149-dts.patch b/target/linux/ipq806x/patches-3.18/022-add-db149-dts.patch
index 9a036fb451..85a0f7246a 100644
--- a/target/linux/ipq806x/patches-3.18/022-add-db149-dts.patch
+++ b/target/linux/ipq806x/patches-3.18/022-add-db149-dts.patch
@@ -13,8 +13,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
2 files changed, 258 insertions(+)
create mode 100644 arch/arm/boot/dts/qcom-ipq8064-db149.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 38c89ca..745360a 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -360,6 +360,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
@@ -25,9 +23,6 @@ index 38c89ca..745360a 100644
qcom-msm8660-surf.dtb \
qcom-msm8960-cdp.dtb \
qcom-msm8974-sony-xperia-honami.dtb
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-db149.dts b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
-new file mode 100644
-index 0000000..224c54f
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
@@ -0,0 +1,257 @@
@@ -288,6 +283,3 @@ index 0000000..224c54f
+ };
+ };
+};
---
-1.9.1
-
diff --git a/target/linux/ipq806x/patches-3.18/102-soc-qcom-gsbi-Add-support-for-ADM-CRCI-muxing.patch b/target/linux/ipq806x/patches-3.18/102-soc-qcom-gsbi-Add-support-for-ADM-CRCI-muxing.patch
index f37ebeb486..752f3f74d5 100644
--- a/target/linux/ipq806x/patches-3.18/102-soc-qcom-gsbi-Add-support-for-ADM-CRCI-muxing.patch
+++ b/target/linux/ipq806x/patches-3.18/102-soc-qcom-gsbi-Add-support-for-ADM-CRCI-muxing.patch
@@ -1,8 +1,6 @@
-diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
-index 4ce24d4..186e5f4 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
-@@ -6,7 +6,8 @@ configuration settings. The mode setting will govern the input/output mode of
+@@ -6,7 +6,8 @@ configuration settings. The mode settin
the 4 GSBI IOs.
Required properties:
@@ -48,8 +46,6 @@ index 4ce24d4..186e5f4 100644
+ };
+
+
-diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
-index 7bd2c94..460b2db 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -4,6 +4,7 @@
@@ -60,8 +56,6 @@ index 7bd2c94..460b2db 100644
help
Say y here to enable GSBI support. The GSBI provides control
functions for connecting the underlying serial UART, SPI, and I2C
-diff --git a/drivers/soc/qcom/qcom_gsbi.c b/drivers/soc/qcom/qcom_gsbi.c
-index 729425d..09c669e 100644
--- a/drivers/soc/qcom/qcom_gsbi.c
+++ b/drivers/soc/qcom/qcom_gsbi.c
@@ -18,22 +18,129 @@
@@ -194,7 +188,7 @@ index 729425d..09c669e 100644
gsbi = devm_kzalloc(&pdev->dev, sizeof(*gsbi), GFP_KERNEL);
-@@ -45,6 +152,32 @@ static int gsbi_probe(struct platform_device *pdev)
+@@ -45,6 +152,32 @@ static int gsbi_probe(struct platform_de
if (IS_ERR(base))
return PTR_ERR(base);
@@ -227,7 +221,7 @@ index 729425d..09c669e 100644
if (of_property_read_u32(node, "qcom,mode", &gsbi->mode)) {
dev_err(&pdev->dev, "missing mode configuration\n");
return -EINVAL;
-@@ -64,6 +197,25 @@ static int gsbi_probe(struct platform_device *pdev)
+@@ -64,6 +197,25 @@ static int gsbi_probe(struct platform_de
writel_relaxed((gsbi->mode << GSBI_PROTOCOL_SHIFT) | gsbi->crci,
base + GSBI_CTRL_REG);
@@ -253,6 +247,3 @@ index 729425d..09c669e 100644
/* make sure the gsbi control write is not reordered */
wmb();
---
-1.9.1
-
diff --git a/target/linux/ipq806x/patches-3.18/110-DT-PCI-qcom-Document-PCIe-devicetree-bindings.patch b/target/linux/ipq806x/patches-3.18/110-DT-PCI-qcom-Document-PCIe-devicetree-bindings.patch
index 95398e0ce8..41f91fae7c 100644
--- a/target/linux/ipq806x/patches-3.18/110-DT-PCI-qcom-Document-PCIe-devicetree-bindings.patch
+++ b/target/linux/ipq806x/patches-3.18/110-DT-PCI-qcom-Document-PCIe-devicetree-bindings.patch
@@ -27,9 +27,6 @@ Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com>
1 files changed, 231 insertions(+), 0 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie.txt
-diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.txt b/Documentation/devicetree/bindings/pci/qcom,pcie.txt
-new file mode 100644
-index 0000000..dcf7348
--- /dev/null
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie.txt
@@ -0,0 +1,231 @@
diff --git a/target/linux/ipq806x/patches-3.18/300-arch-arm-force-ZRELADDR-on-arch-qcom.patch b/target/linux/ipq806x/patches-3.18/300-arch-arm-force-ZRELADDR-on-arch-qcom.patch
index 82170cde80..cb740dedcc 100644
--- a/target/linux/ipq806x/patches-3.18/300-arch-arm-force-ZRELADDR-on-arch-qcom.patch
+++ b/target/linux/ipq806x/patches-3.18/300-arch-arm-force-ZRELADDR-on-arch-qcom.patch
@@ -31,8 +31,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
3 files changed, 4 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/mach-qcom/Makefile.boot
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 89c4b5c..4583ea5 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -311,7 +311,7 @@ config ARCH_MULTIPLATFORM
@@ -44,11 +42,9 @@ index 89c4b5c..4583ea5 100644
select CLKSRC_OF
select COMMON_CLK
select GENERIC_CLOCKEVENTS
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index 7453352..5d6f8ac 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
-@@ -240,9 +240,11 @@ MACHINE := arch/arm/mach-$(word 1,$(machine-y))/
+@@ -240,9 +240,11 @@ MACHINE := arch/arm/mach-$(word 1,$(mac
else
MACHINE :=
endif
@@ -60,13 +56,7 @@ index 7453352..5d6f8ac 100644
machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
platdirs := $(patsubst %,arch/arm/plat-%/,$(sort $(plat-y)))
-diff --git a/arch/arm/mach-qcom/Makefile.boot b/arch/arm/mach-qcom/Makefile.boot
-new file mode 100644
-index 0000000..67a6d5a
--- /dev/null
+++ b/arch/arm/mach-qcom/Makefile.boot
@@ -0,0 +1 @@
+zreladdr-y+= 0x42208000
---
-1.9.1
-
diff --git a/target/linux/ixp4xx/patches-3.18/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch b/target/linux/ixp4xx/patches-3.18/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch
index 495df07f42..3ca3eb76a6 100644
--- a/target/linux/ixp4xx/patches-3.18/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch
+++ b/target/linux/ixp4xx/patches-3.18/001-arm-ixp4xx-set-cohorent_dma_mask-for-ethernet-platfo.patch
@@ -18,11 +18,9 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
arch/arm/mach-ixp4xx/vulcan-setup.c | 2 ++
7 files changed, 14 insertions(+)
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/fsg-setup.c 2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c 2015-02-09 13:54:43.025969682 +0100
-@@ -142,12 +142,14 @@
+--- a/arch/arm/mach-ixp4xx/fsg-setup.c
++++ b/arch/arm/mach-ixp4xx/fsg-setup.c
+@@ -142,12 +142,14 @@ static struct platform_device fsg_eth[]
.id = IXP4XX_ETH_NPEB,
.dev = {
.platform_data = fsg_plat_eth,
@@ -37,11 +35,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c
},
}
};
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/goramo_mlr.c 2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c 2015-02-09 13:54:43.025969682 +0100
-@@ -295,10 +295,12 @@
+--- a/arch/arm/mach-ixp4xx/goramo_mlr.c
++++ b/arch/arm/mach-ixp4xx/goramo_mlr.c
+@@ -295,10 +295,12 @@ static struct platform_device device_eth
.name = "ixp4xx_eth",
.id = IXP4XX_ETH_NPEB,
.dev.platform_data = eth_plat,
@@ -54,10 +50,8 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c
}
};
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/ixdp425-setup.c 2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c 2015-02-09 13:54:43.025969682 +0100
+--- a/arch/arm/mach-ixp4xx/ixdp425-setup.c
++++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c
@@ -20,6 +20,7 @@
#include <linux/mtd/nand.h>
#include <linux/mtd/partitions.h>
@@ -66,7 +60,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
#include <linux/gpio.h>
#include <asm/types.h>
#include <asm/setup.h>
-@@ -196,10 +197,12 @@
+@@ -196,10 +197,12 @@ static struct platform_device ixdp425_et
.name = "ixp4xx_eth",
.id = IXP4XX_ETH_NPEB,
.dev.platform_data = ixdp425_plat_eth,
@@ -79,11 +73,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
}
};
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c 2015-02-09 13:54:43.025969682 +0100
-@@ -170,6 +170,7 @@
+--- a/arch/arm/mach-ixp4xx/nas100d-setup.c
++++ b/arch/arm/mach-ixp4xx/nas100d-setup.c
+@@ -170,6 +170,7 @@ static struct platform_device nas100d_et
.name = "ixp4xx_eth",
.id = IXP4XX_ETH_NPEB,
.dev.platform_data = nas100d_plat_eth,
@@ -91,11 +83,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c
}
};
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/nslu2-setup.c 2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c 2015-02-09 13:54:43.025969682 +0100
-@@ -182,6 +182,7 @@
+--- a/arch/arm/mach-ixp4xx/nslu2-setup.c
++++ b/arch/arm/mach-ixp4xx/nslu2-setup.c
+@@ -182,6 +182,7 @@ static struct platform_device nslu2_eth[
.name = "ixp4xx_eth",
.id = IXP4XX_ETH_NPEB,
.dev.platform_data = nslu2_plat_eth,
@@ -103,10 +93,8 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c
}
};
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/omixp-setup.c 2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c 2015-02-09 13:55:01.150008153 +0100
+--- a/arch/arm/mach-ixp4xx/omixp-setup.c
++++ b/arch/arm/mach-ixp4xx/omixp-setup.c
@@ -17,6 +17,7 @@
#include <linux/serial_8250.h>
#include <linux/mtd/mtd.h>
@@ -115,7 +103,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
#include <linux/leds.h>
#include <asm/setup.h>
-@@ -188,10 +189,12 @@
+@@ -188,10 +189,12 @@ static struct platform_device ixdp425_et
.name = "ixp4xx_eth",
.id = IXP4XX_ETH_NPEB,
.dev.platform_data = ixdp425_plat_eth,
@@ -128,11 +116,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
},
};
-Index: linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c
-===================================================================
---- linux-3.18.5.orig/arch/arm/mach-ixp4xx/vulcan-setup.c 2015-02-09 13:54:27.000000000 +0100
-+++ linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c 2015-02-09 13:54:43.025969682 +0100
-@@ -139,6 +139,7 @@
+--- a/arch/arm/mach-ixp4xx/vulcan-setup.c
++++ b/arch/arm/mach-ixp4xx/vulcan-setup.c
+@@ -139,6 +139,7 @@ static struct platform_device vulcan_eth
.id = IXP4XX_ETH_NPEB,
.dev = {
.platform_data = &vulcan_plat_eth[0],
@@ -140,7 +126,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c
},
},
[1] = {
-@@ -146,6 +147,7 @@
+@@ -146,6 +147,7 @@ static struct platform_device vulcan_eth
.id = IXP4XX_ETH_NPEC,
.dev = {
.platform_data = &vulcan_plat_eth[1],
diff --git a/target/linux/ixp4xx/patches-3.18/002-ixp4xx_eth-use-parent-device-for-dma-allocations.patch b/target/linux/ixp4xx/patches-3.18/002-ixp4xx_eth-use-parent-device-for-dma-allocations.patch
index 702d1822f7..ceaf21b32c 100644
--- a/target/linux/ixp4xx/patches-3.18/002-ixp4xx_eth-use-parent-device-for-dma-allocations.patch
+++ b/target/linux/ixp4xx/patches-3.18/002-ixp4xx_eth-use-parent-device-for-dma-allocations.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
--- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
-@@ -661,10 +661,10 @@ static inline void queue_put_desc(unsign
+@@ -657,10 +657,10 @@ static inline void queue_put_desc(unsign
static inline void dma_unmap_tx(struct port *port, struct desc *desc)
{
#ifdef __ARMEB__
@@ -28,7 +28,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
ALIGN((desc->data & 3) + desc->buf_len, 4),
DMA_TO_DEVICE);
#endif
-@@ -731,9 +731,9 @@ static int eth_poll(struct napi_struct *
+@@ -727,9 +727,9 @@ static int eth_poll(struct napi_struct *
#ifdef __ARMEB__
if ((skb = netdev_alloc_skb(dev, RX_BUFF_SIZE))) {
@@ -40,7 +40,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
dev_kfree_skb(skb);
skb = NULL;
}
-@@ -756,10 +756,11 @@ static int eth_poll(struct napi_struct *
+@@ -752,10 +752,11 @@ static int eth_poll(struct napi_struct *
#ifdef __ARMEB__
temp = skb;
skb = port->rx_buff_tab[n];
@@ -54,7 +54,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
RX_BUFF_SIZE, DMA_FROM_DEVICE);
memcpy_swab32((u32 *)skb->data, (u32 *)port->rx_buff_tab[n],
ALIGN(NET_IP_ALIGN + desc->pkt_len, 4) / 4);
-@@ -878,7 +879,7 @@ static int eth_xmit(struct sk_buff *skb,
+@@ -874,7 +875,7 @@ static int eth_xmit(struct sk_buff *skb,
memcpy_swab32(mem, (u32 *)((int)skb->data & ~3), bytes / 4);
#endif
@@ -63,7 +63,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
if (dma_mapping_error(&dev->dev, phys)) {
dev_kfree_skb(skb);
#ifndef __ARMEB__
-@@ -1128,7 +1129,7 @@ static int init_queues(struct port *port
+@@ -1124,7 +1125,7 @@ static int init_queues(struct port *port
int i;
if (!ports_open) {
@@ -72,7 +72,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
POOL_ALLOC_SIZE, 32, 0);
if (!dma_pool)
return -ENOMEM;
-@@ -1156,9 +1157,9 @@ static int init_queues(struct port *port
+@@ -1152,9 +1153,9 @@ static int init_queues(struct port *port
data = buff;
#endif
desc->buf_len = MAX_MRU;
@@ -84,7 +84,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
free_buffer(buff);
return -EIO;
}
-@@ -1178,7 +1179,7 @@ static void destroy_queues(struct port *
+@@ -1174,7 +1175,7 @@ static void destroy_queues(struct port *
struct desc *desc = rx_desc_ptr(port, i);
buffer_t *buff = port->rx_buff_tab[i];
if (buff) {
diff --git a/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch b/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch
index 00b7b0cd90..4732d163a4 100644
--- a/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch
+++ b/target/linux/ixp4xx/patches-3.18/020-gateworks_i2c_pld.patch
@@ -1,8 +1,6 @@
-Index: linux-3.18.5/drivers/gpio/Kconfig
-===================================================================
---- linux-3.18.5.orig/drivers/gpio/Kconfig 2015-01-30 02:41:03.000000000 +0100
-+++ linux-3.18.5/drivers/gpio/Kconfig 2015-02-09 13:55:16.942041668 +0100
-@@ -794,6 +794,14 @@
+--- a/drivers/gpio/Kconfig
++++ b/drivers/gpio/Kconfig
+@@ -794,6 +794,14 @@ config GPIO_RDC321X
Support for the RDC R321x SoC GPIOs over southbridge
PCI configuration space.
@@ -17,19 +15,15 @@ Index: linux-3.18.5/drivers/gpio/Kconfig
comment "SPI GPIO expanders:"
config GPIO_MAX7301
-Index: linux-3.18.5/drivers/gpio/Makefile
-===================================================================
---- linux-3.18.5.orig/drivers/gpio/Makefile 2015-01-30 02:41:03.000000000 +0100
-+++ linux-3.18.5/drivers/gpio/Makefile 2015-02-09 13:56:05.990145732 +0100
-@@ -106,3 +106,4 @@
+--- a/drivers/gpio/Makefile
++++ b/drivers/gpio/Makefile
+@@ -106,3 +106,4 @@ obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx
obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o
obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o
+obj-$(CONFIG_GPIO_GW_I2C_PLD) += gw_i2c_pld.o
-Index: linux-3.18.5/drivers/gpio/gw_i2c_pld.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.18.5/drivers/gpio/gw_i2c_pld.c 2015-02-09 14:02:00.146895858 +0100
+--- /dev/null
++++ b/drivers/gpio/gw_i2c_pld.c
@@ -0,0 +1,371 @@
+/*
+ * Gateworks I2C PLD GPIO expander
@@ -402,10 +396,8 @@ Index: linux-3.18.5/drivers/gpio/gw_i2c_pld.c
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Chris Lang");
-Index: linux-3.18.5/include/linux/i2c/gw_i2c_pld.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.18.5/include/linux/i2c/gw_i2c_pld.h 2015-02-09 13:55:16.946041675 +0100
+--- /dev/null
++++ b/include/linux/i2c/gw_i2c_pld.h
@@ -0,0 +1,20 @@
+#ifndef __LINUX_GW_I2C_PLD_H
+#define __LINUX_GW_I2C_PLD_H
diff --git a/target/linux/ixp4xx/patches-3.18/030-gpio_line_config.patch b/target/linux/ixp4xx/patches-3.18/030-gpio_line_config.patch
index c71ffd6b76..0e51793273 100644
--- a/target/linux/ixp4xx/patches-3.18/030-gpio_line_config.patch
+++ b/target/linux/ixp4xx/patches-3.18/030-gpio_line_config.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/common.c
+++ b/arch/arm/mach-ixp4xx/common.c
-@@ -93,22 +93,7 @@
+@@ -93,22 +93,7 @@ void __init ixp4xx_map_io(void)
/*
* GPIO-functions
*/
@@ -24,7 +24,7 @@
{
if (direction == IXP4XX_GPIO_IN)
*IXP4XX_GPIO_GPOER |= (1 << line);
-@@ -116,17 +101,17 @@
+@@ -116,17 +101,17 @@ static void gpio_line_config(u8 line, u3
*IXP4XX_GPIO_GPOER &= ~(1 << line);
}
@@ -49,7 +49,7 @@
/*************************************************************************
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
-@@ -131,5 +131,21 @@
+@@ -131,5 +131,21 @@ struct pci_sys_data;
extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
extern struct pci_ops ixp4xx_ops;
diff --git a/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch b/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch
index 991b8d1e73..285505c7f8 100644
--- a/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch
+++ b/target/linux/ixp4xx/patches-3.18/090-increase_entropy_pools.patch
@@ -1,6 +1,6 @@
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -280,11 +280,11 @@
+@@ -285,11 +285,11 @@
/*
* Configuration information
*/
diff --git a/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch b/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch
index 1c80d16bf0..54dc905468 100644
--- a/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch
+++ b/target/linux/ixp4xx/patches-3.18/160-delayed_uart_io.patch
@@ -1,6 +1,6 @@
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
-@@ -410,6 +410,20 @@ static void mem_serial_out(struct uart_p
+@@ -416,6 +416,20 @@ static void mem_serial_out(struct uart_p
writeb(value, p->membase + offset);
}
@@ -21,7 +21,7 @@
static void mem32_serial_out(struct uart_port *p, int offset, int value)
{
offset = offset << p->regshift;
-@@ -461,6 +475,11 @@ static void set_io_from_upio(struct uart
+@@ -466,6 +480,11 @@ static void set_io_from_upio(struct uart
p->serial_out = mem32_serial_out;
break;
@@ -33,7 +33,7 @@
#if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X)
case UPIO_AU:
p->serial_in = au_serial_in;
-@@ -486,6 +505,7 @@ serial_port_out_sync(struct uart_port *p
+@@ -491,6 +510,7 @@ serial_port_out_sync(struct uart_port *p
switch (p->iotype) {
case UPIO_MEM:
case UPIO_MEM32:
@@ -41,7 +41,7 @@
case UPIO_AU:
p->serial_out(p, offset, value);
p->serial_in(p, UART_LCR); /* safe, no side-effects */
-@@ -2538,6 +2558,7 @@ static int serial8250_request_std_resour
+@@ -2655,6 +2675,7 @@ static int serial8250_request_std_resour
case UPIO_TSI:
case UPIO_MEM32:
case UPIO_MEM:
@@ -49,7 +49,7 @@
if (!port->mapbase)
break;
-@@ -2574,6 +2595,7 @@ static void serial8250_release_std_resou
+@@ -2691,6 +2712,7 @@ static void serial8250_release_std_resou
case UPIO_TSI:
case UPIO_MEM32:
case UPIO_MEM:
@@ -57,7 +57,7 @@
if (!port->mapbase)
break;
-@@ -3113,6 +3135,7 @@ static int serial8250_probe(struct platf
+@@ -3424,6 +3446,7 @@ static int serial8250_probe(struct platf
uart.port.set_termios = p->set_termios;
uart.port.pm = p->pm;
uart.port.dev = &dev->dev;
@@ -65,7 +65,7 @@
uart.port.irqflags |= irqflag;
ret = serial8250_register_8250_port(&uart);
if (ret < 0) {
-@@ -3264,6 +3287,7 @@ int serial8250_register_8250_port(struct
+@@ -3580,6 +3603,7 @@ int serial8250_register_8250_port(struct
uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF;
uart->bugs = up->bugs;
uart->port.mapbase = up->port.mapbase;
@@ -83,7 +83,7 @@
case UPIO_MEM:
case UPIO_MEM32:
case UPIO_AU:
-@@ -2711,6 +2712,7 @@ int uart_match_port(struct uart_port *po
+@@ -2736,6 +2737,7 @@ int uart_match_port(struct uart_port *po
case UPIO_HUB6:
return (port1->iobase == port2->iobase) &&
(port1->hub6 == port2->hub6);
@@ -103,7 +103,7 @@
unsigned int type; /* If UPF_FIXED_TYPE */
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
-@@ -141,6 +141,7 @@ struct uart_port {
+@@ -146,6 +146,7 @@ struct uart_port {
#define UPIO_MEM32 (3)
#define UPIO_AU (4) /* Au1x00 and RT288x type IO */
#define UPIO_TSI (5) /* Tsi108/109 type IO */
@@ -111,8 +111,8 @@
unsigned int read_status_mask; /* driver specific */
unsigned int ignore_status_mask; /* driver specific */
-@@ -189,6 +190,7 @@ struct uart_port {
-
+@@ -202,6 +203,7 @@ struct uart_port {
+ int hw_stopped; /* sw-assisted CTS flow state */
unsigned int mctrl; /* current modem ctrl settings */
unsigned int timeout; /* character-based timeout */
+ unsigned int rw_delay; /* udelay for slow busses, IXP4XX Expansion Bus */
diff --git a/target/linux/ixp4xx/patches-3.18/175-avila_hss_audio_support.patch b/target/linux/ixp4xx/patches-3.18/175-avila_hss_audio_support.patch
index ac198519cc..92342bf782 100644
--- a/target/linux/ixp4xx/patches-3.18/175-avila_hss_audio_support.patch
+++ b/target/linux/ixp4xx/patches-3.18/175-avila_hss_audio_support.patch
@@ -1,6 +1,6 @@
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
-@@ -54,6 +54,7 @@ source "sound/soc/spear/Kconfig"
+@@ -55,6 +55,7 @@ source "sound/soc/spear/Kconfig"
source "sound/soc/tegra/Kconfig"
source "sound/soc/txx9/Kconfig"
source "sound/soc/ux500/Kconfig"
@@ -10,7 +10,7 @@
source "sound/soc/codecs/Kconfig"
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
-@@ -31,3 +31,4 @@ obj-$(CONFIG_SND_SOC) += spear/
+@@ -32,3 +32,4 @@ obj-$(CONFIG_SND_SOC) += spear/
obj-$(CONFIG_SND_SOC) += tegra/
obj-$(CONFIG_SND_SOC) += txx9/
obj-$(CONFIG_SND_SOC) += ux500/
diff --git a/target/linux/ixp4xx/patches-3.18/203-npe_driver_mask_phy_features.patch b/target/linux/ixp4xx/patches-3.18/203-npe_driver_mask_phy_features.patch
index 7d35781403..359873d7d9 100644
--- a/target/linux/ixp4xx/patches-3.18/203-npe_driver_mask_phy_features.patch
+++ b/target/linux/ixp4xx/patches-3.18/203-npe_driver_mask_phy_features.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
-@@ -1483,6 +1483,10 @@ static int eth_init_one(struct platform_
+@@ -1474,6 +1474,10 @@ static int eth_init_one(struct platform_
goto err_free_mem;
}
diff --git a/target/linux/ixp4xx/patches-3.18/205-npe_driver_separate_phy_functions.patch b/target/linux/ixp4xx/patches-3.18/205-npe_driver_separate_phy_functions.patch
index fa577e2b9e..6d1eb7bfbb 100644
--- a/target/linux/ixp4xx/patches-3.18/205-npe_driver_separate_phy_functions.patch
+++ b/target/linux/ixp4xx/patches-3.18/205-npe_driver_separate_phy_functions.patch
@@ -9,7 +9,7 @@ Subject: [PATCH 23/36] 205-npe_driver_separate_phy_functions.patch
--- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
-@@ -593,6 +593,51 @@ static void ixp4xx_adjust_link(struct ne
+@@ -589,6 +589,51 @@ static void ixp4xx_adjust_link(struct ne
dev->name, port->speed, port->duplex ? "full" : "half");
}
@@ -61,7 +61,7 @@ Subject: [PATCH 23/36] 205-npe_driver_separate_phy_functions.patch
static inline void debug_pkt(struct net_device *dev, const char *func,
u8 *data, int len)
-@@ -1263,8 +1308,7 @@ static int eth_open(struct net_device *d
+@@ -1259,8 +1304,7 @@ static int eth_open(struct net_device *d
return err;
}
@@ -71,7 +71,7 @@ Subject: [PATCH 23/36] 205-npe_driver_separate_phy_functions.patch
for (i = 0; i < ETH_ALEN; i++)
__raw_writel(dev->dev_addr[i], &port->regs->hw_addr[i]);
-@@ -1385,7 +1429,7 @@ static int eth_close(struct net_device *
+@@ -1381,7 +1425,7 @@ static int eth_close(struct net_device *
printk(KERN_CRIT "%s: unable to disable loopback\n",
dev->name);
@@ -80,15 +80,15 @@ Subject: [PATCH 23/36] 205-npe_driver_separate_phy_functions.patch
if (!ports_open)
qmgr_disable_irq(TXDONE_QUEUE);
-@@ -1411,7 +1455,6 @@ static int eth_init_one(struct platform_
+@@ -1407,7 +1451,6 @@ static int eth_init_one(struct platform_
struct net_device *dev;
struct eth_plat_info *plat = dev_get_platdata(&pdev->dev);
u32 regs_phys;
- char phy_id[MII_BUS_ID_SIZE + 3];
int err;
- if (ptp_filter_init(ptp_filter, ARRAY_SIZE(ptp_filter))) {
-@@ -1474,20 +1517,9 @@ static int eth_init_one(struct platform_
+ if (!(dev = alloc_etherdev(sizeof(struct port))))
+@@ -1465,20 +1508,9 @@ static int eth_init_one(struct platform_
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
udelay(50);
@@ -111,7 +111,7 @@ Subject: [PATCH 23/36] 205-npe_driver_separate_phy_functions.patch
if ((err = register_netdev(dev)))
goto err_phy_dis;
-@@ -1498,7 +1530,7 @@ static int eth_init_one(struct platform_
+@@ -1489,7 +1521,7 @@ static int eth_init_one(struct platform_
return 0;
err_phy_dis:
@@ -120,7 +120,7 @@ Subject: [PATCH 23/36] 205-npe_driver_separate_phy_functions.patch
err_free_mem:
npe_port_tab[NPE_ID(port->id)] = NULL;
release_resource(port->mem_res);
-@@ -1515,7 +1547,7 @@ static int eth_remove_one(struct platfor
+@@ -1506,7 +1538,7 @@ static int eth_remove_one(struct platfor
struct port *port = netdev_priv(dev);
unregister_netdev(dev);
diff --git a/target/linux/ixp4xx/patches-3.18/206-npe_driver_add_update_link_function.patch b/target/linux/ixp4xx/patches-3.18/206-npe_driver_add_update_link_function.patch
index cb06069d85..f1a77078c4 100644
--- a/target/linux/ixp4xx/patches-3.18/206-npe_driver_add_update_link_function.patch
+++ b/target/linux/ixp4xx/patches-3.18/206-npe_driver_add_update_link_function.patch
@@ -9,7 +9,7 @@
u8 firmware[4];
int hwts_tx_en;
int hwts_rx_en;
-@@ -562,37 +562,52 @@ static void ixp4xx_mdio_remove(void)
+@@ -558,37 +558,52 @@ static void ixp4xx_mdio_remove(void)
mdiobus_free(mdio_bus);
}
@@ -77,7 +77,7 @@
static int ixp4xx_phy_connect(struct net_device *dev)
{
struct port *port = netdev_priv(dev);
-@@ -628,7 +643,6 @@ static void ixp4xx_phy_start(struct net_
+@@ -624,7 +639,6 @@ static void ixp4xx_phy_start(struct net_
{
struct port *port = netdev_priv(dev);
@@ -85,7 +85,7 @@
phy_start(port->phydev);
}
-@@ -1524,6 +1538,10 @@ static int eth_init_one(struct platform_
+@@ -1515,6 +1529,10 @@ static int eth_init_one(struct platform_
if ((err = register_netdev(dev)))
goto err_phy_dis;
diff --git a/target/linux/ixp4xx/patches-3.18/207-npe_driver_multiphy_support.patch b/target/linux/ixp4xx/patches-3.18/207-npe_driver_multiphy_support.patch
index c1dda695ce..32035ab56a 100644
--- a/target/linux/ixp4xx/patches-3.18/207-npe_driver_multiphy_support.patch
+++ b/target/linux/ixp4xx/patches-3.18/207-npe_driver_multiphy_support.patch
@@ -37,7 +37,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
/* Information about built-in HSS (synchronous serial) interfaces */
--- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
-@@ -614,6 +614,37 @@ static int ixp4xx_phy_connect(struct net
+@@ -610,6 +610,37 @@ static int ixp4xx_phy_connect(struct net
struct eth_plat_info *plat = port->plat;
char phy_id[MII_BUS_ID_SIZE + 3];
@@ -75,7 +75,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
snprintf(phy_id, MII_BUS_ID_SIZE + 3, PHY_ID_FMT,
mdio_bus->id, plat->phy);
port->phydev = phy_connect(dev, phy_id, &ixp4xx_adjust_link,
-@@ -636,21 +667,32 @@ static void ixp4xx_phy_disconnect(struct
+@@ -632,21 +663,32 @@ static void ixp4xx_phy_disconnect(struct
{
struct port *port = netdev_priv(dev);
@@ -111,7 +111,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
}
static inline void debug_pkt(struct net_device *dev, const char *func,
-@@ -1052,6 +1094,9 @@ static int eth_ioctl(struct net_device *
+@@ -1048,6 +1090,9 @@ static int eth_ioctl(struct net_device *
return hwtstamp_get(dev, req);
}
@@ -121,7 +121,7 @@ TODO: take care of additional PHYs through the PHY abstraction layer
return phy_mii_ioctl(port->phydev, req, cmd);
}
-@@ -1072,18 +1117,30 @@ static void ixp4xx_get_drvinfo(struct ne
+@@ -1068,18 +1113,30 @@ static void ixp4xx_get_drvinfo(struct ne
static int ixp4xx_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct port *port = netdev_priv(dev);
diff --git a/target/linux/ixp4xx/patches-3.18/295-latch_led_driver.patch b/target/linux/ixp4xx/patches-3.18/295-latch_led_driver.patch
index 0d5119d624..97d4445334 100644
--- a/target/linux/ixp4xx/patches-3.18/295-latch_led_driver.patch
+++ b/target/linux/ixp4xx/patches-3.18/295-latch_led_driver.patch
@@ -1,6 +1,6 @@
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -251,6 +251,12 @@ config LEDS_LP8788
+@@ -250,6 +250,12 @@ config LEDS_LP8788
help
This option enables support for the Keyboard LEDs on the LP8788 PMIC.
@@ -15,7 +15,7 @@
depends on LEDS_CLASS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -22,6 +22,7 @@ obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunf
+@@ -21,6 +21,7 @@ obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunf
obj-$(CONFIG_LEDS_PCA9532) += leds-pca9532.o
obj-$(CONFIG_LEDS_GPIO_REGISTER) += leds-gpio-register.o
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
@@ -180,7 +180,7 @@
+MODULE_DESCRIPTION("Latch LED driver");
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
-@@ -285,4 +285,18 @@ static inline void ledtrig_cpu(enum cpu_
+@@ -297,4 +297,18 @@ static inline void ledtrig_cpu(enum cpu_
}
#endif
diff --git a/target/linux/ixp4xx/patches-3.18/304-ixp4xx_eth_jumboframe.patch b/target/linux/ixp4xx/patches-3.18/304-ixp4xx_eth_jumboframe.patch
index 0ac595cfe4..b16086bbc4 100644
--- a/target/linux/ixp4xx/patches-3.18/304-ixp4xx_eth_jumboframe.patch
+++ b/target/linux/ixp4xx/patches-3.18/304-ixp4xx_eth_jumboframe.patch
@@ -9,7 +9,7 @@
#define RX_BUFF_SIZE ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
#define NAPI_WEIGHT 16
-@@ -1319,6 +1319,32 @@ static void destroy_queues(struct port *
+@@ -1315,6 +1315,32 @@ static void destroy_queues(struct port *
}
}
@@ -42,7 +42,7 @@
static int eth_open(struct net_device *dev)
{
struct port *port = netdev_priv(dev);
-@@ -1370,6 +1396,8 @@ static int eth_open(struct net_device *d
+@@ -1366,6 +1392,8 @@ static int eth_open(struct net_device *d
if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE"))
return -EIO;
@@ -51,7 +51,7 @@
if ((err = request_queues(port)) != 0)
return err;
-@@ -1509,7 +1537,26 @@ static int eth_close(struct net_device *
+@@ -1505,7 +1533,26 @@ static int eth_close(struct net_device *
return 0;
}
diff --git a/target/linux/ixp4xx/patches-3.18/600-skb_avoid_dmabounce.patch b/target/linux/ixp4xx/patches-3.18/600-skb_avoid_dmabounce.patch
index 2e4c75ec52..65b1c1f51e 100644
--- a/target/linux/ixp4xx/patches-3.18/600-skb_avoid_dmabounce.patch
+++ b/target/linux/ixp4xx/patches-3.18/600-skb_avoid_dmabounce.patch
@@ -10,7 +10,7 @@
/* Get the HEAD */
skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node);
-@@ -1057,6 +1060,10 @@ int pskb_expand_head(struct sk_buff *skb
+@@ -1096,6 +1099,10 @@ int pskb_expand_head(struct sk_buff *skb
if (skb_shared(skb))
BUG();
diff --git a/target/linux/ixp4xx/patches-3.18/910-ixp4xx-nr_irq_lines.patch b/target/linux/ixp4xx/patches-3.18/910-ixp4xx-nr_irq_lines.patch
index 970ee49fd4..06e09f469d 100644
--- a/target/linux/ixp4xx/patches-3.18/910-ixp4xx-nr_irq_lines.patch
+++ b/target/linux/ixp4xx/patches-3.18/910-ixp4xx-nr_irq_lines.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -53,7 +53,7 @@ static int __init ixdp425_map_irq(const
+@@ -53,7 +53,7 @@ static int __init ixdp425_map_irq(const
};
if (slot >= 1 && slot <= MAX_DEV && pin >= 1 && pin <= IRQ_LINES)
diff --git a/target/linux/lantiq/patches-3.18/0026-NET-multi-phy-support.patch b/target/linux/lantiq/patches-3.18/0026-NET-multi-phy-support.patch
index 3b8ff0c1c6..5943602adb 100644
--- a/target/linux/lantiq/patches-3.18/0026-NET-multi-phy-support.patch
+++ b/target/linux/lantiq/patches-3.18/0026-NET-multi-phy-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -819,7 +819,8 @@ void phy_state_machine(struct work_struc
+@@ -838,7 +838,8 @@ void phy_state_machine(struct work_struc
/* If the link is down, give up on negotiation for now */
if (!phydev->link) {
phydev->state = PHY_NOLINK;
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
phydev->adjust_link(phydev->attached_dev);
break;
}
-@@ -892,7 +893,8 @@ void phy_state_machine(struct work_struc
+@@ -911,7 +912,8 @@ void phy_state_machine(struct work_struc
netif_carrier_on(phydev->attached_dev);
} else {
phydev->state = PHY_NOLINK;
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
phydev->adjust_link(phydev->attached_dev);
-@@ -904,7 +906,8 @@ void phy_state_machine(struct work_struc
+@@ -923,7 +925,8 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;
diff --git a/target/linux/lantiq/patches-3.18/0030-GPIO-add-named-gpio-exports.patch b/target/linux/lantiq/patches-3.18/0030-GPIO-add-named-gpio-exports.patch
index 534d8c18fc..307a99ab60 100644
--- a/target/linux/lantiq/patches-3.18/0030-GPIO-add-named-gpio-exports.patch
+++ b/target/linux/lantiq/patches-3.18/0030-GPIO-add-named-gpio-exports.patch
@@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
-@@ -315,3 +317,69 @@ void of_gpiochip_remove(struct gpio_chip
+@@ -316,3 +318,69 @@ void of_gpiochip_remove(struct gpio_chip
gpiochip_remove_pin_ranges(chip);
of_node_put(chip->of_node);
}
diff --git a/target/linux/lantiq/patches-3.18/0101-mtd-split.patch b/target/linux/lantiq/patches-3.18/0101-mtd-split.patch
index 69c632314c..6753a2156c 100644
--- a/target/linux/lantiq/patches-3.18/0101-mtd-split.patch
+++ b/target/linux/lantiq/patches-3.18/0101-mtd-split.patch
@@ -164,7 +164,7 @@
enum mtd_parser_type type,
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -630,7 +630,7 @@ out_register:
+@@ -627,7 +627,7 @@ out_register:
}
@@ -173,7 +173,7 @@
__mtd_add_partition(struct mtd_info *master, const char *name,
long long offset, long long length, bool dup_check)
{
-@@ -751,7 +751,7 @@ run_parsers_by_type(struct mtd_part *sla
+@@ -748,7 +748,7 @@ run_parsers_by_type(struct mtd_part *sla
return nr_parts;
}
@@ -182,7 +182,7 @@
mtd_pad_erasesize(struct mtd_info *mtd, int offset, int len)
{
unsigned long mask = mtd->erasesize - 1;
-@@ -821,7 +821,6 @@ static void split_uimage(struct mtd_info
+@@ -818,7 +818,6 @@ static void split_uimage(struct mtd_info
return;
len = be32_to_cpu(hdr.size) + 0x40;
diff --git a/target/linux/malta/patches/330-MIPS-Malta-Mark-kernel-code-and-kernel-data-segments.patch b/target/linux/malta/patches/330-MIPS-Malta-Mark-kernel-code-and-kernel-data-segments.patch
index 4457d75e29..789be50313 100644
--- a/target/linux/malta/patches/330-MIPS-Malta-Mark-kernel-code-and-kernel-data-segments.patch
+++ b/target/linux/malta/patches/330-MIPS-Malta-Mark-kernel-code-and-kernel-data-segments.patch
@@ -13,11 +13,9 @@ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
arch/mips/mti-malta/malta-memory.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
-diff --git a/arch/mips/mti-malta/malta-memory.c b/arch/mips/mti-malta/malta-memory.c
-index 8fddd2cd..1d562f0 100644
--- a/arch/mips/mti-malta/malta-memory.c
+++ b/arch/mips/mti-malta/malta-memory.c
-@@ -106,14 +106,9 @@ fw_memblock_t * __init fw_getmdesc(int eva)
+@@ -112,14 +112,9 @@ fw_memblock_t * __init fw_getmdesc(int e
mdesc[2].base = mdesc[0].base + 0x000f0000UL;
mdesc[2].size = 0x00010000;
@@ -34,6 +32,3 @@ index 8fddd2cd..1d562f0 100644
return &mdesc[0];
}
---
-1.7.10.4
-
diff --git a/target/linux/mcs814x/patches-3.18/001-platform.patch b/target/linux/mcs814x/patches-3.18/001-platform.patch
index 25369b8b69..221209f286 100644
--- a/target/linux/mcs814x/patches-3.18/001-platform.patch
+++ b/target/linux/mcs814x/patches-3.18/001-platform.patch
@@ -32,7 +32,7 @@
endchoice
menu "Multiple platform selection"
-@@ -927,6 +944,8 @@ source "arch/arm/mach-picoxcell/Kconfig"
+@@ -927,6 +943,8 @@ source "arch/arm/mach-picoxcell/Kconfig"
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/plat-pxa/Kconfig"
diff --git a/target/linux/mpc85xx/patches-3.18/150-powerpc-85xx-fix-etsec-ranges.patch b/target/linux/mpc85xx/patches-3.18/150-powerpc-85xx-fix-etsec-ranges.patch
deleted file mode 100644
index 1b93356bc8..0000000000
--- a/target/linux/mpc85xx/patches-3.18/150-powerpc-85xx-fix-etsec-ranges.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
-+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi
-@@ -50,6 +50,7 @@ ethernet@b0000 {
- fsl,num_tx_queues = <0x8>;
- fsl,magic-packet;
- local-mac-address = [ 00 00 00 00 00 00 ];
-+ ranges;
-
- queue-group@b0000 {
- #address-cells = <1>;
---- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
-+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi
-@@ -50,6 +50,7 @@ ethernet@b1000 {
- fsl,num_tx_queues = <0x8>;
- fsl,magic-packet;
- local-mac-address = [ 00 00 00 00 00 00 ];
-+ ranges;
-
- queue-group@b1000 {
- #address-cells = <1>;
---- a/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
-+++ b/arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi
-@@ -49,6 +49,7 @@ ethernet@b2000 {
- fsl,num_tx_queues = <0x8>;
- fsl,magic-packet;
- local-mac-address = [ 00 00 00 00 00 00 ];
-+ ranges;
-
- queue-group@b2000 {
- #address-cells = <1>;
diff --git a/target/linux/mvebu/patches-3.18/031-disable_cpu_idle_on_armada_38x.patch b/target/linux/mvebu/patches-3.18/031-disable_cpu_idle_on_armada_38x.patch
deleted file mode 100644
index 31a73a504c..0000000000
--- a/target/linux/mvebu/patches-3.18/031-disable_cpu_idle_on_armada_38x.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-On Armada 38x SoCs, under heavy I/O load, the system hangs when CPU
-Idle is enabled. Waiting for a solution to this issue, this patch
-disables the CPU Idle support for this SoC.
-
-As CPU Hot plug support also uses some of the CPU Idle functions it is
-also affected by the same issue. This patch disables it also for the
-Armada 38x SoCs.
-
-Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
-Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Cc: <stable@vger.kernel.org> # v3.17 +
----
-Hi,
-
-In this version I removed the unneeded initialization of the ret
-variable, I also fixed the warning message, and finally I added the
-Tested-by from Thomas.
-
-Gregory
-
- arch/arm/mach-mvebu/pmsu.c | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
---- a/arch/arm/mach-mvebu/pmsu.c
-+++ b/arch/arm/mach-mvebu/pmsu.c
-@@ -415,6 +415,9 @@ static __init int armada_38x_cpuidle_ini
- void __iomem *mpsoc_base;
- u32 reg;
-
-+ pr_warn("CPU idle is currently broken on Armada 38x: disabling");
-+ return 0;
-+
- np = of_find_compatible_node(NULL, NULL,
- "marvell,armada-380-coherency-fabric");
- if (!np)
-@@ -476,6 +479,16 @@ static int __init mvebu_v7_cpu_pm_init(v
- return 0;
- of_node_put(np);
-
-+ /*
-+ * Currently the CPU idle support for Armada 38x is broken, as
-+ * the CPU hotplug uses some of the CPU idle functions it is
-+ * broken too, so let's disable it
-+ */
-+ if (of_machine_is_compatible("marvell,armada380")) {
-+ cpu_hotplug_disable();
-+ pr_warn("CPU hotplug support is currently broken on Armada 38x: disabling");
-+ }
-+
- if (of_machine_is_compatible("marvell,armadaxp"))
- ret = armada_xp_cpuidle_init();
- else if (of_machine_is_compatible("marvell,armada370"))
-@@ -489,7 +502,8 @@ static int __init mvebu_v7_cpu_pm_init(v
- return ret;
-
- mvebu_v7_pmsu_enable_l2_powerdown_onidle();
-- platform_device_register(&mvebu_v7_cpuidle_device);
-+ if (mvebu_v7_cpuidle_device.name)
-+ platform_device_register(&mvebu_v7_cpuidle_device);
- cpu_pm_register_notifier(&mvebu_v7_cpu_pm_notifier);
-
- return 0;
diff --git a/target/linux/mvebu/patches-3.18/060-cpuidle-mvebu-Fix-the-CPU-PM-notifier-usage.patch b/target/linux/mvebu/patches-3.18/060-cpuidle-mvebu-Fix-the-CPU-PM-notifier-usage.patch
deleted file mode 100644
index afd66179a4..0000000000
--- a/target/linux/mvebu/patches-3.18/060-cpuidle-mvebu-Fix-the-CPU-PM-notifier-usage.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 43b68879de27b1993518687fbc6013da80cdcbfe Mon Sep 17 00:00:00 2001
-From: Gregory CLEMENT <gregory.clement@free-electrons.com>
-Date: Thu, 26 Feb 2015 18:20:48 +0100
-Subject: [PATCH] cpuidle: mvebu: Fix the CPU PM notifier usage
-
-As stated in kernel/cpu_pm.c, "Platform is responsible for ensuring
-that cpu_pm_enter is not called twice on the same CPU before
-cpu_pm_exit is called.". In the current code in case of failure when
-calling mvebu_v7_cpu_suspend, the function cpu_pm_exit() is never
-called whereas cpu_pm_enter() was called just before.
-
-This patch moves the cpu_pm_exit() in order to balance the
-cpu_pm_enter() calls.
-
-Cc: stable@vger.kernel.org
-Reported-by: Fulvio Benini <fbf@libero.it>
-Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
-Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
----
- drivers/cpuidle/cpuidle-mvebu-v7.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/cpuidle/cpuidle-mvebu-v7.c
-+++ b/drivers/cpuidle/cpuidle-mvebu-v7.c
-@@ -37,11 +37,11 @@ static int mvebu_v7_enter_idle(struct cp
- deepidle = true;
-
- ret = mvebu_v7_cpu_suspend(deepidle);
-+ cpu_pm_exit();
-+
- if (ret)
- return ret;
-
-- cpu_pm_exit();
--
- return index;
- }
-
diff --git a/target/linux/mvebu/patches-3.18/198-gpio_mvebu_suspend.patch b/target/linux/mvebu/patches-3.18/198-gpio_mvebu_suspend.patch
index 7a5c0b6ba6..9ef1815035 100644
--- a/target/linux/mvebu/patches-3.18/198-gpio_mvebu_suspend.patch
+++ b/target/linux/mvebu/patches-3.18/198-gpio_mvebu_suspend.patch
@@ -24,7 +24,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
};
/*
-@@ -554,6 +562,93 @@ static const struct of_device_id mvebu_g
+@@ -562,6 +570,93 @@ static const struct of_device_id mvebu_g
};
MODULE_DEVICE_TABLE(of, mvebu_gpio_of_match);
@@ -118,7 +118,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
static int mvebu_gpio_probe(struct platform_device *pdev)
{
struct mvebu_gpio_chip *mvchip;
-@@ -577,6 +672,8 @@ static int mvebu_gpio_probe(struct platf
+@@ -585,6 +680,8 @@ static int mvebu_gpio_probe(struct platf
if (!mvchip)
return -ENOMEM;
@@ -127,7 +127,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
if (of_property_read_u32(pdev->dev.of_node, "ngpios", &ngpios)) {
dev_err(&pdev->dev, "Missing ngpios OF property\n");
return -ENODEV;
-@@ -735,5 +832,7 @@ static struct platform_driver mvebu_gpio
+@@ -743,5 +840,7 @@ static struct platform_driver mvebu_gpio
.of_match_table = mvebu_gpio_of_match,
},
.probe = mvebu_gpio_probe,
diff --git a/target/linux/mvebu/patches-3.18/199-gpio_mvebu_drop_owner.patch b/target/linux/mvebu/patches-3.18/199-gpio_mvebu_drop_owner.patch
index c52e85e762..fe74199dcc 100644
--- a/target/linux/mvebu/patches-3.18/199-gpio_mvebu_drop_owner.patch
+++ b/target/linux/mvebu/patches-3.18/199-gpio_mvebu_drop_owner.patch
@@ -5,7 +5,7 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
-@@ -828,7 +828,6 @@ static int mvebu_gpio_probe(struct platf
+@@ -836,7 +836,6 @@ static int mvebu_gpio_probe(struct platf
static struct platform_driver mvebu_gpio_driver = {
.driver = {
.name = "mvebu-gpio",
diff --git a/target/linux/mvebu/patches-3.18/200-gpio_mvebu_checkpatch_fixes.patch b/target/linux/mvebu/patches-3.18/200-gpio_mvebu_checkpatch_fixes.patch
index 844df4f6f5..48ab67df3f 100644
--- a/target/linux/mvebu/patches-3.18/200-gpio_mvebu_checkpatch_fixes.patch
+++ b/target/linux/mvebu/patches-3.18/200-gpio_mvebu_checkpatch_fixes.patch
@@ -111,7 +111,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
default:
BUG();
}
-@@ -364,22 +371,22 @@ static void mvebu_gpio_level_irq_unmask(
+@@ -372,22 +379,22 @@ static void mvebu_gpio_level_irq_unmask(
* value of the line or the opposite value.
*
* Level IRQ handlers: DATA_IN is used directly as cause register.
@@ -144,7 +144,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
*
****************************************************************************/
-@@ -394,9 +401,8 @@ static int mvebu_gpio_irq_set_type(struc
+@@ -402,9 +409,8 @@ static int mvebu_gpio_irq_set_type(struc
pin = d->hwirq;
u = readl_relaxed(mvebu_gpioreg_io_conf(mvchip)) & (1 << pin);
@@ -155,7 +155,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
type &= IRQ_TYPE_SENSE_MASK;
if (type == IRQ_TYPE_NONE)
-@@ -529,13 +535,13 @@ static void mvebu_gpio_dbg_show(struct s
+@@ -537,13 +543,13 @@ static void mvebu_gpio_dbg_show(struct s
(data_in ^ in_pol) & msk ? "hi" : "lo",
in_pol & msk ? "lo" : "hi");
if (!((edg_msk | lvl_msk) & msk)) {
@@ -172,7 +172,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
seq_printf(s, " (%s)\n", cause & msk ? "pending" : "clear ");
}
}
-@@ -546,15 +552,15 @@ static void mvebu_gpio_dbg_show(struct s
+@@ -554,15 +560,15 @@ static void mvebu_gpio_dbg_show(struct s
static const struct of_device_id mvebu_gpio_of_match[] = {
{
.compatible = "marvell,orion-gpio",
@@ -191,7 +191,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
},
{
/* sentinel */
-@@ -668,7 +674,8 @@ static int mvebu_gpio_probe(struct platf
+@@ -676,7 +682,8 @@ static int mvebu_gpio_probe(struct platf
else
soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION;
@@ -201,7 +201,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
if (!mvchip)
return -ENOMEM;
-@@ -767,8 +774,8 @@ static int mvebu_gpio_probe(struct platf
+@@ -775,8 +782,8 @@ static int mvebu_gpio_probe(struct platf
* interrupt handlers, with each handler dealing with 8 GPIO
* pins. */
for (i = 0; i < 4; i++) {
@@ -212,7 +212,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
if (irq < 0)
continue;
irq_set_handler_data(irq, mvchip);
-@@ -827,7 +834,7 @@ static int mvebu_gpio_probe(struct platf
+@@ -835,7 +842,7 @@ static int mvebu_gpio_probe(struct platf
static struct platform_driver mvebu_gpio_driver = {
.driver = {
diff --git a/target/linux/mvebu/patches-3.18/201-gpio_mvebu_fix_probe_cleanup_on_error.patch b/target/linux/mvebu/patches-3.18/201-gpio_mvebu_fix_probe_cleanup_on_error.patch
index aecf8e3c12..aeb884a381 100644
--- a/target/linux/mvebu/patches-3.18/201-gpio_mvebu_fix_probe_cleanup_on_error.patch
+++ b/target/linux/mvebu/patches-3.18/201-gpio_mvebu_fix_probe_cleanup_on_error.patch
@@ -8,7 +8,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
-@@ -667,6 +667,7 @@ static int mvebu_gpio_probe(struct platf
+@@ -675,6 +675,7 @@ static int mvebu_gpio_probe(struct platf
unsigned int ngpios;
int soc_variant;
int i, cpu, id;
@@ -16,7 +16,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
match = of_match_device(mvebu_gpio_of_match, &pdev->dev);
if (match)
-@@ -785,14 +786,16 @@ static int mvebu_gpio_probe(struct platf
+@@ -793,14 +794,16 @@ static int mvebu_gpio_probe(struct platf
mvchip->irqbase = irq_alloc_descs(-1, 0, ngpios, -1);
if (mvchip->irqbase < 0) {
dev_err(&pdev->dev, "no irqs\n");
@@ -35,7 +35,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
}
gc->private = mvchip;
-@@ -823,13 +826,21 @@ static int mvebu_gpio_probe(struct platf
+@@ -831,13 +834,21 @@ static int mvebu_gpio_probe(struct platf
if (!mvchip->domain) {
dev_err(&pdev->dev, "couldn't allocate irq domain %s (DT).\n",
mvchip->chip.label);
diff --git a/target/linux/mvebu/patches-3.18/202-gpio_mvebu_add_limited_pwm_support.patch b/target/linux/mvebu/patches-3.18/202-gpio_mvebu_add_limited_pwm_support.patch
index 52ae90bb2d..49a8c0aec1 100644
--- a/target/linux/mvebu/patches-3.18/202-gpio_mvebu_add_limited_pwm_support.patch
+++ b/target/linux/mvebu/patches-3.18/202-gpio_mvebu_add_limited_pwm_support.patch
@@ -299,7 +299,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
{
struct mvebu_gpio_chip *mvchip =
container_of(chip, struct mvebu_gpio_chip, chip);
-@@ -609,6 +592,8 @@ static int mvebu_gpio_suspend(struct pla
+@@ -617,6 +600,8 @@ static int mvebu_gpio_suspend(struct pla
BUG();
}
@@ -308,7 +308,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
return 0;
}
-@@ -652,6 +637,8 @@ static int mvebu_gpio_resume(struct plat
+@@ -660,6 +645,8 @@ static int mvebu_gpio_resume(struct plat
BUG();
}
@@ -317,7 +317,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
return 0;
}
-@@ -663,7 +650,6 @@ static int mvebu_gpio_probe(struct platf
+@@ -671,7 +658,6 @@ static int mvebu_gpio_probe(struct platf
struct resource *res;
struct irq_chip_generic *gc;
struct irq_chip_type *ct;
@@ -325,7 +325,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
unsigned int ngpios;
int soc_variant;
int i, cpu, id;
-@@ -693,10 +679,10 @@ static int mvebu_gpio_probe(struct platf
+@@ -701,10 +687,10 @@ static int mvebu_gpio_probe(struct platf
return id;
}
@@ -339,7 +339,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
mvchip->soc_variant = soc_variant;
mvchip->chip.label = dev_name(&pdev->dev);
-@@ -830,7 +816,8 @@ static int mvebu_gpio_probe(struct platf
+@@ -838,7 +824,8 @@ static int mvebu_gpio_probe(struct platf
goto err_generic_chip;
}
diff --git a/target/linux/mvebu/patches-3.18/206-mvebu_wrt1900ac_use_pwm-fan_rather_than_gpio-fan.patch b/target/linux/mvebu/patches-3.18/206-mvebu_wrt1900ac_use_pwm-fan_rather_than_gpio-fan.patch
index dddd67a95a..58d8280c3e 100644
--- a/target/linux/mvebu/patches-3.18/206-mvebu_wrt1900ac_use_pwm-fan_rather_than_gpio-fan.patch
+++ b/target/linux/mvebu/patches-3.18/206-mvebu_wrt1900ac_use_pwm-fan_rather_than_gpio-fan.patch
@@ -9,7 +9,7 @@ Signed-off-by: Andrew Lunn <andrew@lunn.ch>
--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
+++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts
-@@ -407,13 +407,11 @@
+@@ -412,13 +412,11 @@
};
};
diff --git a/target/linux/mxs/patches-3.18/001-soc-audio-support.patch b/target/linux/mxs/patches-3.18/001-soc-audio-support.patch
index 8928fd8ed7..65c3438fc3 100644
--- a/target/linux/mxs/patches-3.18/001-soc-audio-support.patch
+++ b/target/linux/mxs/patches-3.18/001-soc-audio-support.patch
@@ -22,11 +22,9 @@ Subject: [PATCH 1/2] Added ASoC driver for i.MX233's builtin ADC/DAC codec.
create mode 100644 sound/soc/mxs/mxs-builtin-pcm.c
create mode 100644 sound/soc/mxs/mxs-builtin-pcm.h
-diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
-index badb6fb..dc1f4ac 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
-@@ -127,6 +127,7 @@ config SND_SOC_ALL_CODECS
+@@ -164,6 +164,7 @@ config SND_SOC_ALL_CODECS
select SND_SOC_WM9705 if SND_SOC_AC97_BUS
select SND_SOC_WM9712 if SND_SOC_AC97_BUS
select SND_SOC_WM9713 if SND_SOC_AC97_BUS
@@ -34,7 +32,7 @@ index badb6fb..dc1f4ac 100644
help
Normally ASoC codec drivers are only built if a machine driver which
uses them is also built since they are only usable with a machine
-@@ -515,6 +516,9 @@ config SND_SOC_WM9712
+@@ -789,6 +790,9 @@ config SND_SOC_WM9712
config SND_SOC_WM9713
tristate
@@ -44,11 +42,9 @@ index badb6fb..dc1f4ac 100644
# Amp
config SND_SOC_LM4857
tristate
-diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
-index 70fd806..9c3b73a 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
-@@ -120,6 +120,7 @@ snd-soc-wm9705-objs := wm9705.o
+@@ -166,6 +166,7 @@ snd-soc-wm9705-objs := wm9705.o
snd-soc-wm9712-objs := wm9712.o
snd-soc-wm9713-objs := wm9713.o
snd-soc-wm-hubs-objs := wm_hubs.o
@@ -56,7 +52,7 @@ index 70fd806..9c3b73a 100644
# Amp
snd-soc-max9877-objs := max9877.o
-@@ -246,6 +247,7 @@ obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-wm9712.o
+@@ -339,6 +340,7 @@ obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-
obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o
obj-$(CONFIG_SND_SOC_WM_ADSP) += snd-soc-wm-adsp.o
obj-$(CONFIG_SND_SOC_WM_HUBS) += snd-soc-wm-hubs.o
@@ -64,9 +60,6 @@ index 70fd806..9c3b73a 100644
# Amp
obj-$(CONFIG_SND_SOC_MAX9877) += snd-soc-max9877.o
-diff --git a/sound/soc/codecs/mxs-builtin-codec.c b/sound/soc/codecs/mxs-builtin-codec.c
-new file mode 100644
-index 0000000..e5dcb4e
--- /dev/null
+++ b/sound/soc/codecs/mxs-builtin-codec.c
@@ -0,0 +1,1128 @@
@@ -1198,9 +1191,6 @@ index 0000000..e5dcb4e
+MODULE_DESCRIPTION("Freescale MXS ADC/DAC SoC Codec Driver");
+MODULE_AUTHOR("Michal Ulianko <michal.ulianko@gmail.com>");
+MODULE_LICENSE("GPL");
-diff --git a/sound/soc/codecs/mxs-builtin-codec.h b/sound/soc/codecs/mxs-builtin-codec.h
-new file mode 100644
-index 0000000..75dee0b
--- /dev/null
+++ b/sound/soc/codecs/mxs-builtin-codec.h
@@ -0,0 +1,825 @@
@@ -2029,11 +2019,9 @@ index 0000000..75dee0b
+#define BV_AUDIOIN_ADCVOL_SELECT__MIC 0x00
+
+#endif /* __MXS_ADC_CODEC_H */
-diff --git a/sound/soc/mxs/Kconfig b/sound/soc/mxs/Kconfig
-index 78d321c..9b8dd7d 100644
--- a/sound/soc/mxs/Kconfig
+++ b/sound/soc/mxs/Kconfig
-@@ -18,3 +18,13 @@ config SND_SOC_MXS_SGTL5000
+@@ -19,3 +19,13 @@ config SND_SOC_MXS_SGTL5000
a sgtl5000 codec.
endif # SND_MXS_SOC
@@ -2047,11 +2035,9 @@ index 78d321c..9b8dd7d 100644
+ help
+ Say Y or M if you want to add support for codecs attached to
+ the MXS SAIF interface.
-diff --git a/sound/soc/mxs/Makefile b/sound/soc/mxs/Makefile
-index 565b5b5..cd0cf16 100644
--- a/sound/soc/mxs/Makefile
+++ b/sound/soc/mxs/Makefile
-@@ -8,3 +8,12 @@ obj-$(CONFIG_SND_MXS_SOC) += snd-soc-mxs.o snd-soc-mxs-pcm.o
+@@ -8,3 +8,12 @@ obj-$(CONFIG_SND_MXS_SOC) += snd-soc-mxs
snd-soc-mxs-sgtl5000-objs := mxs-sgtl5000.o
obj-$(CONFIG_SND_SOC_MXS_SGTL5000) += snd-soc-mxs-sgtl5000.o
@@ -2064,9 +2050,6 @@ index 565b5b5..cd0cf16 100644
+obj-$(CONFIG_SND_MXS_SOC_BUILTIN) += snd-soc-mxs-builtin-pcm.o
+obj-$(CONFIG_SND_MXS_SOC_BUILTIN) += snd-soc-mxs-builtin-dai.o
+obj-$(CONFIG_SND_MXS_SOC_BUILTIN) += snd-soc-mxs-builtin-audio.o
-diff --git a/sound/soc/mxs/mxs-builtin-audio.c b/sound/soc/mxs/mxs-builtin-audio.c
-new file mode 100644
-index 0000000..7a27c63
--- /dev/null
+++ b/sound/soc/mxs/mxs-builtin-audio.c
@@ -0,0 +1,120 @@
@@ -2190,9 +2173,6 @@ index 0000000..7a27c63
+MODULE_DESCRIPTION("Freescale MXS ADC/DAC SoC Machine Driver");
+MODULE_AUTHOR("Michal Ulianko <michal.ulianko@gmail.com>");
+MODULE_LICENSE("GPL");
-diff --git a/sound/soc/mxs/mxs-builtin-dai.c b/sound/soc/mxs/mxs-builtin-dai.c
-new file mode 100644
-index 0000000..cc81f9a
--- /dev/null
+++ b/sound/soc/mxs/mxs-builtin-dai.c
@@ -0,0 +1,588 @@
@@ -2784,9 +2764,6 @@ index 0000000..cc81f9a
+MODULE_DESCRIPTION("Freescale MXS ADC/DAC SoC Codec DAI Driver");
+MODULE_AUTHOR("Michal Ulianko <michal.ulianko@gmail.com>");
+MODULE_LICENSE("GPL");
-diff --git a/sound/soc/mxs/mxs-builtin-pcm.c b/sound/soc/mxs/mxs-builtin-pcm.c
-new file mode 100644
-index 0000000..9f155df
--- /dev/null
+++ b/sound/soc/mxs/mxs-builtin-pcm.c
@@ -0,0 +1,69 @@
@@ -2859,9 +2836,6 @@ index 0000000..9f155df
+EXPORT_SYMBOL_GPL(mxs_adc_pcm_platform_unregister);
+
+MODULE_LICENSE("GPL");
-diff --git a/sound/soc/mxs/mxs-builtin-pcm.h b/sound/soc/mxs/mxs-builtin-pcm.h
-new file mode 100644
-index 0000000..2fba109
--- /dev/null
+++ b/sound/soc/mxs/mxs-builtin-pcm.h
@@ -0,0 +1,25 @@
@@ -2890,6 +2864,3 @@ index 0000000..2fba109
+void mxs_adc_pcm_platform_unregister(struct device *dev);
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/mxs/patches-3.18/101-soc-audio-dts.patch b/target/linux/mxs/patches-3.18/101-soc-audio-dts.patch
index 99bdf5f6fc..36ae89ceca 100644
--- a/target/linux/mxs/patches-3.18/101-soc-audio-dts.patch
+++ b/target/linux/mxs/patches-3.18/101-soc-audio-dts.patch
@@ -26,7 +26,7 @@
};
};
-@@ -122,4 +141,10 @@
+@@ -125,4 +144,10 @@
gpios = <&gpio2 1 1>;
};
};
diff --git a/target/linux/mxs/patches-3.18/120-dt-add-i2c.patch b/target/linux/mxs/patches-3.18/120-dt-add-i2c.patch
index 50bd8666b4..43a07e8f16 100644
--- a/target/linux/mxs/patches-3.18/120-dt-add-i2c.patch
+++ b/target/linux/mxs/patches-3.18/120-dt-add-i2c.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
-@@ -146,6 +146,39 @@
+@@ -147,6 +147,39 @@
fsl,pull-up = <MXS_PULL_DISABLE>;
};
@@ -40,7 +40,7 @@
auart0_pins_a: auart0@0 {
reg = <0>;
fsl,pinmux-ids = <
-@@ -444,7 +477,12 @@
+@@ -445,7 +478,12 @@
};
i2c@80058000 {
diff --git a/target/linux/octeon/patches-3.18/130-MIPS-octeon-add-semaphore-to-serialize-bootbus-access.patch b/target/linux/octeon/patches-3.18/130-MIPS-octeon-add-semaphore-to-serialize-bootbus-access.patch
index 6650c5b75d..bfbb4a5fd1 100644
--- a/target/linux/octeon/patches-3.18/130-MIPS-octeon-add-semaphore-to-serialize-bootbus-access.patch
+++ b/target/linux/octeon/patches-3.18/130-MIPS-octeon-add-semaphore-to-serialize-bootbus-access.patch
@@ -1,25 +1,21 @@
-diff --git a/arch/mips/cavium-octeon/setup.c b/arch/mips/cavium-octeon/setup.c
-index a42110e..01130e9 100644
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
-@@ -51,6 +51,9 @@ extern void pci_console_init(const char *arg);
-
+@@ -50,6 +50,9 @@ extern void pci_console_init(const char
+
static unsigned long long MAX_MEMORY = 512ull << 20;
-
+
+DEFINE_SEMAPHORE(octeon_bootbus_sem);
+EXPORT_SYMBOL(octeon_bootbus_sem);
+
struct octeon_boot_descriptor *octeon_boot_desc_ptr;
-
+
struct cvmx_bootinfo *octeon_bootinfo;
-diff --git a/arch/mips/include/asm/octeon/octeon.h b/arch/mips/include/asm/octeon/octeon.h
-index 0415965..de9f74e 100644
--- a/arch/mips/include/asm/octeon/octeon.h
+++ b/arch/mips/include/asm/octeon/octeon.h
-@@ -335,4 +335,6 @@ void octeon_irq_set_ip4_handler(octeon_irq_ip4_handler_t);
-
+@@ -252,4 +252,6 @@ void octeon_irq_set_ip4_handler(octeon_i
+
extern void octeon_fixup_irqs(void);
-
+
+extern struct semaphore octeon_bootbus_sem;
+
#endif /* __ASM_OCTEON_OCTEON_H */
diff --git a/target/linux/octeon/patches-3.18/140-MIPS-OCTEON-Update-octeon-model.h-code-for-new-SoCs.patch b/target/linux/octeon/patches-3.18/140-MIPS-OCTEON-Update-octeon-model.h-code-for-new-SoCs.patch
index c4d7347e56..d3986c7aa1 100644
--- a/target/linux/octeon/patches-3.18/140-MIPS-OCTEON-Update-octeon-model.h-code-for-new-SoCs.patch
+++ b/target/linux/octeon/patches-3.18/140-MIPS-OCTEON-Update-octeon-model.h-code-for-new-SoCs.patch
@@ -1,5 +1,3 @@
-diff --git a/arch/mips/include/asm/octeon/octeon-model.h b/arch/mips/include/asm/octeon/octeon-model.h
-index e2c122c..35d7cbd 100644
--- a/arch/mips/include/asm/octeon/octeon-model.h
+++ b/arch/mips/include/asm/octeon/octeon-model.h
@@ -45,6 +45,7 @@
@@ -68,7 +66,7 @@ index e2c122c..35d7cbd 100644
/* These are used to cover entire families of OCTEON processors */
#define OCTEON_FAM_1 (OCTEON_CN3XXX)
-@@ -288,9 +333,16 @@ static inline uint64_t cvmx_read_csr(uint64_t csr_addr);
+@@ -288,9 +333,16 @@ static inline uint64_t cvmx_read_csr(uin
((((arg_model) & (OM_FLAG_MASK)) == OM_CHECK_SUBMODEL) \
&& __OCTEON_MATCH_MASK__((chip_model), (arg_model), OCTEON_58XX_MODEL_REV_MASK)) || \
((((arg_model) & (OM_MATCH_5XXX_FAMILY_MODELS)) == OM_MATCH_5XXX_FAMILY_MODELS) \
@@ -87,7 +85,7 @@ index e2c122c..35d7cbd 100644
((((arg_model) & (OM_MATCH_PREVIOUS_MODELS)) == OM_MATCH_PREVIOUS_MODELS) \
&& (((chip_model) & OCTEON_58XX_MODEL_MASK) < ((arg_model) & OCTEON_58XX_MODEL_MASK))) \
)))
-@@ -326,6 +378,15 @@ static inline int __octeon_is_model_runtime__(uint32_t model)
+@@ -326,6 +378,15 @@ static inline int __octeon_is_model_runt
#define OCTEON_IS_COMMON_BINARY() 1
#undef OCTEON_MODEL
diff --git a/target/linux/octeon/patches-3.18/150-mmc-octeon-add-host-driver-for-octeon-mmc-controller.patch b/target/linux/octeon/patches-3.18/150-mmc-octeon-add-host-driver-for-octeon-mmc-controller.patch
index f2e3b5841c..599d4e2364 100644
--- a/target/linux/octeon/patches-3.18/150-mmc-octeon-add-host-driver-for-octeon-mmc-controller.patch
+++ b/target/linux/octeon/patches-3.18/150-mmc-octeon-add-host-driver-for-octeon-mmc-controller.patch
@@ -1,6 +1,3 @@
-diff --git a/Documentation/devicetree/bindings/mmc/octeon-mmc.txt b/Documentation/devicetree/bindings/mmc/octeon-mmc.txt
-new file mode 100644
-index 0000000..40dd7f1
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/octeon-mmc.txt
@@ -0,0 +1,69 @@
@@ -73,11 +70,9 @@ index 0000000..40dd7f1
+ power-gpios = <&gpio 8 0>;
+ };
+ };
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 2d6fbdd..5077dfa 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -338,6 +338,16 @@
+@@ -405,6 +405,16 @@ config MMC_MXS
If unsure, say N.
@@ -94,11 +89,9 @@ index 2d6fbdd..5077dfa 100644
config MMC_TIFM_SD
tristate "TI Flash Media MMC/SD Interface support"
depends on PCI
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index f7b0a77..448bbc9 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -19,6 +19,7 @@ obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o
+@@ -19,6 +19,7 @@ obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci
obj-$(CONFIG_MMC_SDHCI_SPEAR) += sdhci-spear.o
obj-$(CONFIG_MMC_WBSD) += wbsd.o
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
@@ -106,9 +99,6 @@ index f7b0a77..448bbc9 100644
obj-$(CONFIG_MMC_OMAP) += omap.o
obj-$(CONFIG_MMC_OMAP_HS) += omap_hsmmc.o
obj-$(CONFIG_MMC_ATMELMCI) += atmel-mci.o
-diff --git a/drivers/mmc/host/octeon_mmc.c b/drivers/mmc/host/octeon_mmc.c
-new file mode 100644
-index 0000000..baba5a0
--- /dev/null
+++ b/drivers/mmc/host/octeon_mmc.c
@@ -0,0 +1,1518 @@
diff --git a/target/linux/octeon/patches-3.18/160-cmdline-hack.patch b/target/linux/octeon/patches-3.18/160-cmdline-hack.patch
index 39b8a99ae5..8ef73a12b2 100644
--- a/target/linux/octeon/patches-3.18/160-cmdline-hack.patch
+++ b/target/linux/octeon/patches-3.18/160-cmdline-hack.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/cavium-octeon/setup.c
+++ b/arch/mips/cavium-octeon/setup.c
-@@ -609,6 +609,35 @@
+@@ -609,6 +609,35 @@ void octeon_user_io_init(void)
write_c0_derraddr1(0);
}
@@ -36,7 +36,7 @@
/**
* Early entry point for arch setup
*/
-@@ -798,6 +827,8 @@
+@@ -798,6 +827,8 @@ void __init prom_init(void)
}
}
diff --git a/target/linux/oxnas/patches-3.18/010-arm_introduce-dma-fiq-irq-broadcast.patch b/target/linux/oxnas/patches-3.18/010-arm_introduce-dma-fiq-irq-broadcast.patch
index fb7547f96b..1ce68e8276 100644
--- a/target/linux/oxnas/patches-3.18/010-arm_introduce-dma-fiq-irq-broadcast.patch
+++ b/target/linux/oxnas/patches-3.18/010-arm_introduce-dma-fiq-irq-broadcast.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/arch/arm/include/asm/glue-cache.h
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/include/asm/glue-cache.h
-+++ linux-3.18-rc4/arch/arm/include/asm/glue-cache.h
+--- a/arch/arm/include/asm/glue-cache.h
++++ b/arch/arm/include/asm/glue-cache.h
@@ -156,11 +156,19 @@ static inline void nop_dma_unmap_area(co
#define __cpuc_flush_user_range __glue(_CACHE,_flush_user_cache_range)
#define __cpuc_coherent_kern_range __glue(_CACHE,_coherent_kern_range)
@@ -22,11 +20,9 @@ Index: linux-3.18-rc4/arch/arm/include/asm/glue-cache.h
#endif
#endif
-Index: linux-3.18-rc4/arch/arm/mm/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/mm/Kconfig
-+++ linux-3.18-rc4/arch/arm/mm/Kconfig
-@@ -843,6 +843,17 @@ config DMA_CACHE_RWFO
+--- a/arch/arm/mm/Kconfig
++++ b/arch/arm/mm/Kconfig
+@@ -844,6 +844,17 @@ config DMA_CACHE_RWFO
in hardware, other workarounds are needed (e.g. cache
maintenance broadcasting in software via FIQ).
@@ -44,10 +40,8 @@ Index: linux-3.18-rc4/arch/arm/mm/Kconfig
config OUTER_CACHE
bool
-Index: linux-3.18-rc4/arch/arm/mm/flush.c
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/mm/flush.c
-+++ linux-3.18-rc4/arch/arm/mm/flush.c
+--- a/arch/arm/mm/flush.c
++++ b/arch/arm/mm/flush.c
@@ -314,7 +314,11 @@ void flush_dcache_page(struct page *page
mapping = page_mapping(page);
diff --git a/target/linux/oxnas/patches-3.18/250-add-plxtech-vendor-prefix.patch b/target/linux/oxnas/patches-3.18/250-add-plxtech-vendor-prefix.patch
index c495258d30..1645c883d3 100644
--- a/target/linux/oxnas/patches-3.18/250-add-plxtech-vendor-prefix.patch
+++ b/target/linux/oxnas/patches-3.18/250-add-plxtech-vendor-prefix.patch
@@ -1,8 +1,6 @@
-Index: linux-3.18-rc4/Documentation/devicetree/bindings/vendor-prefixes.txt
-===================================================================
---- linux-3.18-rc4.orig/Documentation/devicetree/bindings/vendor-prefixes.txt
-+++ linux-3.18-rc4/Documentation/devicetree/bindings/vendor-prefixes.txt
-@@ -113,6 +113,7 @@ panasonic Panasonic Corporation
+--- a/Documentation/devicetree/bindings/vendor-prefixes.txt
++++ b/Documentation/devicetree/bindings/vendor-prefixes.txt
+@@ -115,6 +115,7 @@ panasonic Panasonic Corporation
phytec PHYTEC Messtechnik GmbH
picochip Picochip Ltd
plathome Plat'Home Co., Ltd.
diff --git a/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch b/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch
index 17ec83b63f..5724263d3f 100644
--- a/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch
+++ b/target/linux/oxnas/patches-3.18/300-introduce-oxnas-platform.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/arch/arm/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/Kconfig
-+++ linux-3.18-rc4/arch/arm/Kconfig
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
@@ -369,6 +369,17 @@ config ARCH_VERSATILE
help
This enables support for ARM Ltd Versatile board.
@@ -29,10 +27,8 @@ Index: linux-3.18-rc4/arch/arm/Kconfig
source "arch/arm/mach-picoxcell/Kconfig"
source "arch/arm/mach-pxa/Kconfig"
-Index: linux-3.18-rc4/arch/arm/Makefile
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/Makefile
-+++ linux-3.18-rc4/arch/arm/Makefile
+--- a/arch/arm/Makefile
++++ b/arch/arm/Makefile
@@ -187,6 +187,7 @@ machine-$(CONFIG_ARCH_NSPIRE) += nspire
machine-$(CONFIG_ARCH_OMAP1) += omap1
machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2
@@ -41,10 +37,8 @@ Index: linux-3.18-rc4/arch/arm/Makefile
machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell
machine-$(CONFIG_ARCH_PXA) += pxa
machine-$(CONFIG_ARCH_QCOM) += qcom
-Index: linux-3.18-rc4/arch/arm/boot/dts/Makefile
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/boot/dts/Makefile
-+++ linux-3.18-rc4/arch/arm/boot/dts/Makefile
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
@@ -352,6 +352,7 @@ dtb-$(CONFIG_ARCH_ORION5X) += orion5x-la
orion5x-lacie-ethernet-disk-mini-v2.dtb \
orion5x-maxtor-shared-storage-2.dtb \
@@ -53,10 +47,8 @@ Index: linux-3.18-rc4/arch/arm/boot/dts/Makefile
dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
dtb-$(CONFIG_ARCH_QCOM) += \
qcom-apq8064-cm-qs600.dtb \
-Index: linux-3.18-rc4/arch/arm/tools/mach-types
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/tools/mach-types
-+++ linux-3.18-rc4/arch/arm/tools/mach-types
+--- a/arch/arm/tools/mach-types
++++ b/arch/arm/tools/mach-types
@@ -228,6 +228,7 @@ edb9302a MACH_EDB9302A EDB9302A 1127
edb9307a MACH_EDB9307A EDB9307A 1128
omap_3430sdp MACH_OMAP_3430SDP OMAP_3430SDP 1138
@@ -65,10 +57,8 @@ Index: linux-3.18-rc4/arch/arm/tools/mach-types
micro9m MACH_MICRO9M MICRO9M 1169
bug MACH_BUG BUG 1179
at91sam9263ek MACH_AT91SAM9263EK AT91SAM9263EK 1202
-Index: linux-3.18-rc4/drivers/clk/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/clk/Makefile
-+++ linux-3.18-rc4/drivers/clk/Makefile
+--- a/drivers/clk/Makefile
++++ b/drivers/clk/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_COMMON_CLK_MAX77802) += clk
obj-$(CONFIG_ARCH_MOXART) += clk-moxart.o
obj-$(CONFIG_ARCH_NOMADIK) += clk-nomadik.o
diff --git a/target/linux/oxnas/patches-3.18/310-oxnas-clocksource.patch b/target/linux/oxnas/patches-3.18/310-oxnas-clocksource.patch
index 0959e53648..e10b38c192 100644
--- a/target/linux/oxnas/patches-3.18/310-oxnas-clocksource.patch
+++ b/target/linux/oxnas/patches-3.18/310-oxnas-clocksource.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/drivers/clocksource/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/clocksource/Kconfig
-+++ linux-3.18-rc4/drivers/clocksource/Kconfig
+--- a/drivers/clocksource/Kconfig
++++ b/drivers/clocksource/Kconfig
@@ -156,6 +156,12 @@ config VF_PIT_TIMER
help
Support for Period Interrupt Timer on Freescale Vybrid Family SoCs.
@@ -15,10 +13,8 @@ Index: linux-3.18-rc4/drivers/clocksource/Kconfig
config SYS_SUPPORTS_SH_CMT
bool
-Index: linux-3.18-rc4/drivers/clocksource/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/clocksource/Makefile
-+++ linux-3.18-rc4/drivers/clocksource/Makefile
+--- a/drivers/clocksource/Makefile
++++ b/drivers/clocksource/Makefile
@@ -36,6 +36,7 @@ obj-$(CONFIG_CLKSRC_EFM32) += time-efm32
obj-$(CONFIG_CLKSRC_EXYNOS_MCT) += exynos_mct.o
obj-$(CONFIG_CLKSRC_SAMSUNG_PWM) += samsung_pwm_timer.o
diff --git a/target/linux/oxnas/patches-3.18/320-oxnas-irqchip.patch b/target/linux/oxnas/patches-3.18/320-oxnas-irqchip.patch
index e6262da78d..5e130bea81 100644
--- a/target/linux/oxnas/patches-3.18/320-oxnas-irqchip.patch
+++ b/target/linux/oxnas/patches-3.18/320-oxnas-irqchip.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/drivers/irqchip/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/irqchip/Kconfig
-+++ linux-3.18-rc4/drivers/irqchip/Kconfig
+--- a/drivers/irqchip/Kconfig
++++ b/drivers/irqchip/Kconfig
@@ -15,6 +15,11 @@ config ARM_GIC_V3
select IRQ_DOMAIN
select MULTI_IRQ_HANDLER
@@ -14,10 +12,8 @@ Index: linux-3.18-rc4/drivers/irqchip/Kconfig
config ARM_NVIC
bool
select IRQ_DOMAIN
-Index: linux-3.18-rc4/drivers/irqchip/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/irqchip/Makefile
-+++ linux-3.18-rc4/drivers/irqchip/Makefile
+--- a/drivers/irqchip/Makefile
++++ b/drivers/irqchip/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_IMGPDC_IRQ) += irq-imgpdc.
obj-$(CONFIG_SIRF_IRQ) += irq-sirfsoc.o
obj-$(CONFIG_RENESAS_INTC_IRQPIN) += irq-renesas-intc-irqpin.o
@@ -26,10 +22,8 @@ Index: linux-3.18-rc4/drivers/irqchip/Makefile
obj-$(CONFIG_VERSATILE_FPGA_IRQ) += irq-versatile-fpga.o
obj-$(CONFIG_ARCH_NSPIRE) += irq-zevio.o
obj-$(CONFIG_ARCH_VT8500) += irq-vt8500.o
-Index: linux-3.18-rc4/drivers/irqchip/irq-gic.c
-===================================================================
---- linux-3.18-rc4.orig/drivers/irqchip/irq-gic.c
-+++ linux-3.18-rc4/drivers/irqchip/irq-gic.c
+--- a/drivers/irqchip/irq-gic.c
++++ b/drivers/irqchip/irq-gic.c
@@ -1044,6 +1044,7 @@ IRQCHIP_DECLARE(gic_400, "arm,gic-400",
IRQCHIP_DECLARE(cortex_a15_gic, "arm,cortex-a15-gic", gic_of_init);
IRQCHIP_DECLARE(cortex_a9_gic, "arm,cortex-a9-gic", gic_of_init);
diff --git a/target/linux/oxnas/patches-3.18/330-oxnas-pinctrl.patch b/target/linux/oxnas/patches-3.18/330-oxnas-pinctrl.patch
index 3ecc6ebe77..1bca799b8a 100644
--- a/target/linux/oxnas/patches-3.18/330-oxnas-pinctrl.patch
+++ b/target/linux/oxnas/patches-3.18/330-oxnas-pinctrl.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/drivers/pinctrl/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/pinctrl/Kconfig
-+++ linux-3.18-rc4/drivers/pinctrl/Kconfig
+--- a/drivers/pinctrl/Kconfig
++++ b/drivers/pinctrl/Kconfig
@@ -67,6 +67,15 @@ config PINCTRL_AT91
help
Say Y here to enable the at91 pinctrl driver
@@ -18,10 +16,8 @@ Index: linux-3.18-rc4/drivers/pinctrl/Kconfig
config PINCTRL_BAYTRAIL
bool "Intel Baytrail GPIO pin control"
depends on GPIOLIB && ACPI && X86
-Index: linux-3.18-rc4/drivers/pinctrl/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/pinctrl/Makefile
-+++ linux-3.18-rc4/drivers/pinctrl/Makefile
+--- a/drivers/pinctrl/Makefile
++++ b/drivers/pinctrl/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_PINCTRL_BCM2835) += pinctrl
obj-$(CONFIG_PINCTRL_BAYTRAIL) += pinctrl-baytrail.o
obj-$(CONFIG_PINCTRL_BCM281XX) += pinctrl-bcm281xx.o
diff --git a/target/linux/oxnas/patches-3.18/340-oxnas-pcie.patch b/target/linux/oxnas/patches-3.18/340-oxnas-pcie.patch
index 6549db01a9..b54f00e38a 100644
--- a/target/linux/oxnas/patches-3.18/340-oxnas-pcie.patch
+++ b/target/linux/oxnas/patches-3.18/340-oxnas-pcie.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/drivers/pci/host/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/pci/host/Kconfig
-+++ linux-3.18-rc4/drivers/pci/host/Kconfig
+--- a/drivers/pci/host/Kconfig
++++ b/drivers/pci/host/Kconfig
@@ -91,4 +91,9 @@ config PCI_XGENE
There are 5 internal PCIe ports available. Each port is GEN3 capable
and have varied lanes from x1 to x8.
@@ -12,10 +10,8 @@ Index: linux-3.18-rc4/drivers/pci/host/Kconfig
+ select PCIEPORTBUS
+
endmenu
-Index: linux-3.18-rc4/drivers/pci/host/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/pci/host/Makefile
-+++ linux-3.18-rc4/drivers/pci/host/Makefile
+--- a/drivers/pci/host/Makefile
++++ b/drivers/pci/host/Makefile
@@ -3,6 +3,7 @@ obj-$(CONFIG_PCI_DRA7XX) += pci-dra7xx.o
obj-$(CONFIG_PCI_EXYNOS) += pci-exynos.o
obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
diff --git a/target/linux/oxnas/patches-3.18/350-oxnas-reset.patch b/target/linux/oxnas/patches-3.18/350-oxnas-reset.patch
index 5540920414..c29423756f 100644
--- a/target/linux/oxnas/patches-3.18/350-oxnas-reset.patch
+++ b/target/linux/oxnas/patches-3.18/350-oxnas-reset.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/drivers/reset/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/reset/Kconfig
-+++ linux-3.18-rc4/drivers/reset/Kconfig
+--- a/drivers/reset/Kconfig
++++ b/drivers/reset/Kconfig
@@ -12,4 +12,9 @@ menuconfig RESET_CONTROLLER
If unsure, say no.
@@ -12,10 +10,8 @@ Index: linux-3.18-rc4/drivers/reset/Kconfig
+
source "drivers/reset/sti/Kconfig"
+
-Index: linux-3.18-rc4/drivers/reset/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/reset/Makefile
-+++ linux-3.18-rc4/drivers/reset/Makefile
+--- a/drivers/reset/Makefile
++++ b/drivers/reset/Makefile
@@ -1,4 +1,5 @@
obj-$(CONFIG_RESET_CONTROLLER) += core.o
+obj-$(CONFIG_RESET_CONTROLLER_OXNAS) += reset-ox820.o
diff --git a/target/linux/oxnas/patches-3.18/400-oxnas-nand.patch b/target/linux/oxnas/patches-3.18/400-oxnas-nand.patch
index 90827e5b8a..779e74b87e 100644
--- a/target/linux/oxnas/patches-3.18/400-oxnas-nand.patch
+++ b/target/linux/oxnas/patches-3.18/400-oxnas-nand.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/drivers/mtd/nand/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/mtd/nand/Kconfig
-+++ linux-3.18-rc4/drivers/mtd/nand/Kconfig
+--- a/drivers/mtd/nand/Kconfig
++++ b/drivers/mtd/nand/Kconfig
@@ -516,4 +516,12 @@ config MTD_NAND_XWAY
Enables support for NAND Flash chips on Lantiq XWAY SoCs. NAND is attached
to the External Bus Unit (EBU).
@@ -15,10 +13,8 @@ Index: linux-3.18-rc4/drivers/mtd/nand/Kconfig
+ to the STATIC Unit.
+
endif # MTD_NAND
-Index: linux-3.18-rc4/drivers/mtd/nand/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/mtd/nand/Makefile
-+++ linux-3.18-rc4/drivers/mtd/nand/Makefile
+--- a/drivers/mtd/nand/Makefile
++++ b/drivers/mtd/nand/Makefile
@@ -50,5 +50,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740
obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/
obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o
diff --git a/target/linux/oxnas/patches-3.18/500-oxnas-sata.patch b/target/linux/oxnas/patches-3.18/500-oxnas-sata.patch
index 94b792b136..af5e66ff03 100644
--- a/target/linux/oxnas/patches-3.18/500-oxnas-sata.patch
+++ b/target/linux/oxnas/patches-3.18/500-oxnas-sata.patch
@@ -1,8 +1,6 @@
-Index: linux-3.18-rc4/drivers/ata/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/ata/Kconfig
-+++ linux-3.18-rc4/drivers/ata/Kconfig
-@@ -385,6 +385,13 @@ config SATA_VITESSE
+--- a/drivers/ata/Kconfig
++++ b/drivers/ata/Kconfig
+@@ -401,6 +401,13 @@ config SATA_VITESSE
If unsure, say N.
@@ -16,10 +14,8 @@ Index: linux-3.18-rc4/drivers/ata/Kconfig
comment "PATA SFF controllers with BMDMA"
config PATA_ALI
-Index: linux-3.18-rc4/drivers/ata/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/ata/Makefile
-+++ linux-3.18-rc4/drivers/ata/Makefile
+--- a/drivers/ata/Makefile
++++ b/drivers/ata/Makefile
@@ -37,6 +37,7 @@ obj-$(CONFIG_SATA_SVW) += sata_svw.o
obj-$(CONFIG_SATA_ULI) += sata_uli.o
obj-$(CONFIG_SATA_VIA) += sata_via.o
diff --git a/target/linux/oxnas/patches-3.18/800-oxnas-ehci.patch b/target/linux/oxnas/patches-3.18/800-oxnas-ehci.patch
index f2221dda88..b9be0c6127 100644
--- a/target/linux/oxnas/patches-3.18/800-oxnas-ehci.patch
+++ b/target/linux/oxnas/patches-3.18/800-oxnas-ehci.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/drivers/usb/host/Kconfig
-===================================================================
---- linux-3.18-rc4.orig/drivers/usb/host/Kconfig
-+++ linux-3.18-rc4/drivers/usb/host/Kconfig
+--- a/drivers/usb/host/Kconfig
++++ b/drivers/usb/host/Kconfig
@@ -302,6 +302,13 @@ config USB_OCTEON_EHCI
USB 2.0 device support. All CN6XXX based chips with USB are
supported.
@@ -16,10 +14,8 @@ Index: linux-3.18-rc4/drivers/usb/host/Kconfig
endif # USB_EHCI_HCD
config USB_OXU210HP_HCD
-Index: linux-3.18-rc4/drivers/usb/host/Makefile
-===================================================================
---- linux-3.18-rc4.orig/drivers/usb/host/Makefile
-+++ linux-3.18-rc4/drivers/usb/host/Makefile
+--- a/drivers/usb/host/Makefile
++++ b/drivers/usb/host/Makefile
@@ -44,6 +44,7 @@ obj-$(CONFIG_USB_EHCI_HCD_AT91) += ehci-
obj-$(CONFIG_USB_EHCI_MSM) += ehci-msm.o
obj-$(CONFIG_USB_EHCI_TEGRA) += ehci-tegra.o
diff --git a/target/linux/oxnas/patches-3.18/900-more-boards.patch b/target/linux/oxnas/patches-3.18/900-more-boards.patch
index b31967ad81..fab6936576 100644
--- a/target/linux/oxnas/patches-3.18/900-more-boards.patch
+++ b/target/linux/oxnas/patches-3.18/900-more-boards.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18-rc4/arch/arm/boot/dts/Makefile
-===================================================================
---- linux-3.18-rc4.orig/arch/arm/boot/dts/Makefile
-+++ linux-3.18-rc4/arch/arm/boot/dts/Makefile
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
@@ -352,7 +352,10 @@ dtb-$(CONFIG_ARCH_ORION5X) += orion5x-la
orion5x-lacie-ethernet-disk-mini-v2.dtb \
orion5x-maxtor-shared-storage-2.dtb \
diff --git a/target/linux/oxnas/patches-3.18/999-libata-hacks.patch b/target/linux/oxnas/patches-3.18/999-libata-hacks.patch
index a1c80d89eb..741dddff40 100644
--- a/target/linux/oxnas/patches-3.18/999-libata-hacks.patch
+++ b/target/linux/oxnas/patches-3.18/999-libata-hacks.patch
@@ -1,8 +1,6 @@
-Index: linux-3.18-rc7/drivers/ata/libata-core.c
-===================================================================
---- linux-3.18-rc7.orig/drivers/ata/libata-core.c
-+++ linux-3.18-rc7/drivers/ata/libata-core.c
-@@ -1568,6 +1568,14 @@ unsigned ata_exec_internal_sg(struct ata
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -1581,6 +1581,14 @@ unsigned ata_exec_internal_sg(struct ata
return AC_ERR_SYSTEM;
}
@@ -17,7 +15,7 @@ Index: linux-3.18-rc7/drivers/ata/libata-core.c
/* initialize internal qc */
/* XXX: Tag 0 is used for drivers with legacy EH as some
-@@ -4739,6 +4747,9 @@ static struct ata_queued_cmd *ata_qc_new
+@@ -4752,6 +4760,9 @@ static struct ata_queued_cmd *ata_qc_new
if (unlikely(ap->pflags & ATA_PFLAG_FROZEN))
return NULL;
@@ -25,9 +23,9 @@ Index: linux-3.18-rc7/drivers/ata/libata-core.c
+ return NULL;
+
for (i = 0, tag = ap->last_tag + 1; i < max_queue; i++, tag++) {
- tag = tag < max_queue ? tag : 0;
-
-@@ -4805,6 +4816,8 @@ void ata_qc_free(struct ata_queued_cmd *
+ if (ap->flags & ATA_FLAG_LOWTAG)
+ tag = i;
+@@ -4824,6 +4835,8 @@ void ata_qc_free(struct ata_queued_cmd *
if (likely(ata_tag_valid(tag))) {
qc->tag = ATA_TAG_POISON;
clear_bit(tag, &ap->qc_allocated);
@@ -36,11 +34,9 @@ Index: linux-3.18-rc7/drivers/ata/libata-core.c
}
}
-Index: linux-3.18-rc7/include/linux/libata.h
-===================================================================
---- linux-3.18-rc7.orig/include/linux/libata.h
-+++ linux-3.18-rc7/include/linux/libata.h
-@@ -884,6 +884,8 @@ struct ata_port_operations {
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -891,6 +891,8 @@ struct ata_port_operations {
void (*qc_prep)(struct ata_queued_cmd *qc);
unsigned int (*qc_issue)(struct ata_queued_cmd *qc);
bool (*qc_fill_rtf)(struct ata_queued_cmd *qc);
@@ -49,7 +45,7 @@ Index: linux-3.18-rc7/include/linux/libata.h
/*
* Configuration and exception handling
-@@ -974,6 +976,9 @@ struct ata_port_operations {
+@@ -981,6 +983,9 @@ struct ata_port_operations {
void (*phy_reset)(struct ata_port *ap);
void (*eng_timeout)(struct ata_port *ap);
diff --git a/target/linux/ramips/patches-3.18/0012-MIPS-ralink-add-MT7621-support.patch b/target/linux/ramips/patches-3.18/0012-MIPS-ralink-add-MT7621-support.patch
index 0eebadb849..771de12f17 100644
--- a/target/linux/ramips/patches-3.18/0012-MIPS-ralink-add-MT7621-support.patch
+++ b/target/linux/ramips/patches-3.18/0012-MIPS-ralink-add-MT7621-support.patch
@@ -78,7 +78,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+#endif
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
-@@ -51,6 +51,7 @@
+@@ -51,6 +51,7 @@ SECTIONS
/* read-only */
_text = .; /* Text and read-only data */
.text : {
@@ -88,9 +88,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
LOCK_TEXT
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
-@@ -7,6 +7,11 @@
- select CLKSRC_OF
- select CLKSRC_MMIO
+@@ -12,6 +12,11 @@ config RALINK_ILL_ACC
+ depends on SOC_RT305X
+ default y
+config IRQ_INTC
+ bool
@@ -100,7 +100,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
choice
prompt "Ralink SoC selection"
default SOC_RT305X
-@@ -28,6 +33,15 @@
+@@ -33,6 +38,15 @@ choice
config SOC_MT7620
bool "MT7620"
@@ -116,7 +116,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
endchoice
choice
-@@ -59,6 +73,10 @@
+@@ -64,6 +78,10 @@ choice
depends on SOC_MT7620
select BUILTIN_DTB
@@ -154,7 +154,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/arch/mips/ralink/Platform
+++ b/arch/mips/ralink/Platform
-@@ -27,3 +27,8 @@
+@@ -27,3 +27,8 @@ cflags-$(CONFIG_SOC_RT3883) += -I$(srctr
#
load-$(CONFIG_SOC_MT7620) += 0xffffffff80000000
cflags-$(CONFIG_SOC_MT7620) += -I$(srctree)/arch/mips/include/asm/mach-ralink/mt7620
@@ -715,7 +715,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+}
--- a/arch/mips/kernel/mips-cm.c
+++ b/arch/mips/kernel/mips-cm.c
-@@ -105,7 +105,7 @@
+@@ -105,7 +105,7 @@ int mips_cm_probe(void)
write_gcr_base(base_reg);
/* disable CM regions */
@@ -724,7 +724,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
write_gcr_reg0_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
write_gcr_reg1_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
write_gcr_reg1_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
-@@ -113,7 +113,7 @@
+@@ -113,7 +113,7 @@ int mips_cm_probe(void)
write_gcr_reg2_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
write_gcr_reg3_base(CM_GCR_REGn_BASE_BASEADDR_MSK);
write_gcr_reg3_mask(CM_GCR_REGn_MASK_ADDRMASK_MSK);
diff --git a/target/linux/ramips/patches-3.18/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch b/target/linux/ramips/patches-3.18/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
index 955550a422..310d362016 100644
--- a/target/linux/ramips/patches-3.18/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
+++ b/target/linux/ramips/patches-3.18/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
-@@ -29,12 +29,6 @@
+@@ -29,12 +29,6 @@ static int mips_next_event(unsigned long
return res;
}
@@ -24,7 +24,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
DEFINE_PER_CPU(struct clock_event_device, mips_clockevent_device);
int cp0_timer_irq_installed;
-@@ -75,9 +69,38 @@
+@@ -75,9 +69,38 @@ struct irqaction c0_compare_irqaction =
.name = "timer",
};
@@ -63,7 +63,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
/*
-@@ -198,12 +221,14 @@
+@@ -198,12 +221,14 @@ int r4k_clockevent_init(void)
clockevents_register_device(cd);
@@ -95,5 +95,5 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
select CLKSRC_MMIO
+ select CEVT_SYSTICK_QUIRK
- config IRQ_INTC
+ config RALINK_ILL_ACC
bool
diff --git a/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch b/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch
index 043e4a39e2..cdfb4c0f62 100644
--- a/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch
+++ b/target/linux/ramips/patches-3.18/0026-MIPS-ralink-add-mt7628an-support.patch
@@ -46,7 +46,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#define MT7620_SDRAM_SIZE_MAX 64
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
-@@ -31,7 +31,7 @@ choice
+@@ -41,7 +41,7 @@ choice
select HW_HAS_PCI
config SOC_MT7620
diff --git a/target/linux/ramips/patches-3.18/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch b/target/linux/ramips/patches-3.18/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
index 82473d2f53..ab60f2d549 100644
--- a/target/linux/ramips/patches-3.18/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
+++ b/target/linux/ramips/patches-3.18/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
-@@ -2635,7 +2635,7 @@ serial8250_pm(struct uart_port *port, un
+@@ -2634,7 +2634,7 @@ serial8250_pm(struct uart_port *port, un
static unsigned int serial8250_port_size(struct uart_8250_port *pt)
{
if (pt->port.iotype == UPIO_AU)
diff --git a/target/linux/ramips/patches-3.18/0030-GPIO-add-named-gpio-exports.patch b/target/linux/ramips/patches-3.18/0030-GPIO-add-named-gpio-exports.patch
index 534d8c18fc..307a99ab60 100644
--- a/target/linux/ramips/patches-3.18/0030-GPIO-add-named-gpio-exports.patch
+++ b/target/linux/ramips/patches-3.18/0030-GPIO-add-named-gpio-exports.patch
@@ -22,7 +22,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "gpiolib.h"
-@@ -315,3 +317,69 @@ void of_gpiochip_remove(struct gpio_chip
+@@ -316,3 +318,69 @@ void of_gpiochip_remove(struct gpio_chip
gpiochip_remove_pin_ranges(chip);
of_node_put(chip->of_node);
}
diff --git a/target/linux/ramips/patches-3.18/0031-PCI-MIPS-adds-rt2880-pci-support.patch b/target/linux/ramips/patches-3.18/0031-PCI-MIPS-adds-rt2880-pci-support.patch
index d3f16f4fac..193f1c28b4 100644
--- a/target/linux/ramips/patches-3.18/0031-PCI-MIPS-adds-rt2880-pci-support.patch
+++ b/target/linux/ramips/patches-3.18/0031-PCI-MIPS-adds-rt2880-pci-support.patch
@@ -309,7 +309,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+arch_initcall(pcibios_init);
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
-@@ -21,6 +21,7 @@ choice
+@@ -31,6 +31,7 @@ choice
config SOC_RT288X
bool "RT288x"
select MIPS_L1_CACHE_SHIFT_4
diff --git a/target/linux/ramips/patches-3.18/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch b/target/linux/ramips/patches-3.18/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
index 03f8a92c8d..c20a5df55e 100644
--- a/target/linux/ramips/patches-3.18/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
+++ b/target/linux/ramips/patches-3.18/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
@@ -422,7 +422,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+arch_initcall(mt7620_pci_init);
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
-@@ -33,6 +33,7 @@ choice
+@@ -43,6 +43,7 @@ choice
config SOC_MT7620
bool "MT7620/8"
diff --git a/target/linux/ramips/patches-3.18/0033-NET-multi-phy-support.patch b/target/linux/ramips/patches-3.18/0033-NET-multi-phy-support.patch
index 2cd8633288..f6d2456bad 100644
--- a/target/linux/ramips/patches-3.18/0033-NET-multi-phy-support.patch
+++ b/target/linux/ramips/patches-3.18/0033-NET-multi-phy-support.patch
@@ -11,7 +11,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -819,7 +819,8 @@ void phy_state_machine(struct work_struc
+@@ -838,7 +838,8 @@ void phy_state_machine(struct work_struc
/* If the link is down, give up on negotiation for now */
if (!phydev->link) {
phydev->state = PHY_NOLINK;
@@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
phydev->adjust_link(phydev->attached_dev);
break;
}
-@@ -892,7 +893,8 @@ void phy_state_machine(struct work_struc
+@@ -911,7 +912,8 @@ void phy_state_machine(struct work_struc
netif_carrier_on(phydev->attached_dev);
} else {
phydev->state = PHY_NOLINK;
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
phydev->adjust_link(phydev->attached_dev);
-@@ -904,7 +906,8 @@ void phy_state_machine(struct work_struc
+@@ -923,7 +925,8 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;
diff --git a/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch b/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch
index a27002a769..1dd866103a 100644
--- a/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch
+++ b/target/linux/ramips/patches-3.18/0037-USB-phy-add-ralink-SoC-driver.patch
@@ -1,6 +1,6 @@
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
-@@ -239,6 +239,11 @@
+@@ -239,6 +239,11 @@ config PHY_XGENE
help
This option enables support for APM X-Gene SoC multi-purpose PHY.
@@ -14,7 +14,7 @@
depends on RESET_CONTROLLER
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
-@@ -31,3 +31,4 @@
+@@ -31,3 +31,4 @@ obj-$(CONFIG_PHY_ST_SPEAR1340_MIPHY) +=
obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
obj-$(CONFIG_PHY_STIH407_USB) += phy-stih407-usb.o
obj-$(CONFIG_PHY_STIH41X_USB) += phy-stih41x-usb.o
diff --git a/target/linux/ramips/patches-3.18/0038-USB-add-OHCI-EHCI-OF-binding.patch b/target/linux/ramips/patches-3.18/0038-USB-add-OHCI-EHCI-OF-binding.patch
index 3012c1c9b5..a5fb5aba44 100644
--- a/target/linux/ramips/patches-3.18/0038-USB-add-OHCI-EHCI-OF-binding.patch
+++ b/target/linux/ramips/patches-3.18/0038-USB-add-OHCI-EHCI-OF-binding.patch
@@ -14,7 +14,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
-@@ -359,6 +373,7 @@ static int ehci_platform_resume(struct d
+@@ -359,6 +359,7 @@ static int ehci_platform_resume(struct d
static const struct of_device_id vt8500_ehci_ids[] = {
{ .compatible = "via,vt8500-ehci", },
{ .compatible = "wm,prizm-ehci", },
@@ -24,7 +24,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
};
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
-@@ -342,6 +358,7 @@ static int ohci_platform_resume(struct d
+@@ -342,6 +342,7 @@ static int ohci_platform_resume(struct d
#endif /* CONFIG_PM */
static const struct of_device_id ohci_platform_ids[] = {
diff --git a/target/linux/ramips/patches-3.18/0044-mtd-add-chunked-read-io-to-m25p80.patch b/target/linux/ramips/patches-3.18/0044-mtd-add-chunked-read-io-to-m25p80.patch
index b014c3e847..2bffa1f696 100644
--- a/target/linux/ramips/patches-3.18/0044-mtd-add-chunked-read-io-to-m25p80.patch
+++ b/target/linux/ramips/patches-3.18/0044-mtd-add-chunked-read-io-to-m25p80.patch
@@ -8,7 +8,7 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
-@@ -32,6 +33,7 @@
+@@ -32,6 +33,7 @@ struct m25p {
struct spi_device *spi;
struct spi_nor spi_nor;
struct mtd_info mtd;
@@ -16,7 +16,7 @@
u8 command[MAX_CMD_SIZE];
};
-@@ -157,6 +159,58 @@
+@@ -157,6 +159,58 @@ static int m25p80_read(struct spi_nor *n
return 0;
}
@@ -75,7 +75,7 @@
static int m25p80_erase(struct spi_nor *nor, loff_t offset)
{
struct m25p *flash = nor->priv;
-@@ -197,6 +251,7 @@
+@@ -197,6 +251,7 @@ static int m25p_probe(struct spi_device
struct spi_nor *nor;
enum read_mode mode = SPI_NOR_NORMAL;
char *flash_name = NULL;
@@ -83,7 +83,7 @@
int ret;
data = dev_get_platdata(&spi->dev);
-@@ -244,6 +299,14 @@
+@@ -244,6 +299,14 @@ static int m25p_probe(struct spi_device
if (ret)
return ret;
diff --git a/target/linux/ramips/patches-3.18/0060-soc_type.patch b/target/linux/ramips/patches-3.18/0060-soc_type.patch
index 23ce6cf121..60d301405b 100644
--- a/target/linux/ramips/patches-3.18/0060-soc_type.patch
+++ b/target/linux/ramips/patches-3.18/0060-soc_type.patch
@@ -219,7 +219,7 @@
{
--- a/arch/mips/ralink/mt7621.c
+++ b/arch/mips/ralink/mt7621.c
-@@ -175,6 +175,7 @@ void prom_soc_init(struct ralink_soc_inf
+@@ -176,6 +176,7 @@ void prom_soc_init(struct ralink_soc_inf
soc_info->mem_size_min = MT7621_DDR2_SIZE_MIN;
soc_info->mem_size_max = MT7621_DDR2_SIZE_MAX;
soc_info->mem_base = MT7621_DRAM_BASE;
diff --git a/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch b/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch
index f13691ad1b..fb9b9f3e88 100644
--- a/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch
+++ b/target/linux/ramips/patches-3.18/0062-mt7621-add-ECHI-OCHI-XCHI-support.patch
@@ -1,6 +1,6 @@
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
-@@ -214,8 +214,13 @@
+@@ -214,8 +214,13 @@ int usb_hcd_pci_probe(struct pci_dev *de
goto disable_pci;
}
@@ -16,7 +16,7 @@
/* EHCI, OHCI */
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -1286,7 +1286,7 @@
+@@ -1286,7 +1286,7 @@ static void hub_quiesce(struct usb_hub *
if (type != HUB_SUSPEND) {
/* Disconnect all the children */
for (i = 0; i < hdev->maxchild; ++i) {
@@ -27,7 +27,7 @@
}
--- a/drivers/usb/core/port.c
+++ b/drivers/usb/core/port.c
-@@ -480,8 +480,10 @@
+@@ -480,8 +480,10 @@ void usb_hub_remove_port_device(struct u
struct usb_port *port_dev = hub->ports[port1 - 1];
struct usb_port *peer;
@@ -44,7 +44,7 @@
}
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
-@@ -32,7 +32,13 @@
+@@ -32,7 +32,13 @@ config USB_XHCI_PCI
default y
config USB_XHCI_PLATFORM
@@ -59,7 +59,7 @@
config USB_XHCI_MVEBU
tristate "xHCI support for Marvell Armada 375/38x"
-@@ -589,7 +595,7 @@
+@@ -589,7 +595,7 @@ endif # USB_OHCI_HCD
config USB_UHCI_HCD
tristate "UHCI HCD (most Intel and VIA) support"
@@ -70,7 +70,7 @@
accessing the USB hardware in the PC (which is also called the USB
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
-@@ -16,7 +16,12 @@
+@@ -16,7 +16,12 @@ xhci-hcd-y := xhci.o xhci-mem.o
xhci-hcd-y += xhci-ring.o xhci-hub.o xhci-dbg.o
xhci-hcd-y += xhci-trace.o
@@ -83,7 +83,7 @@
ifneq ($(CONFIG_USB_XHCI_MVEBU), )
xhci-plat-hcd-y += xhci-mvebu.o
endif
-@@ -26,9 +31,14 @@
+@@ -26,9 +31,14 @@ endif
obj-$(CONFIG_USB_WHCI_HCD) += whci/
@@ -3793,7 +3793,7 @@
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -67,6 +67,9 @@
+@@ -67,6 +67,9 @@ static struct xhci_segment *xhci_segment
static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg)
{
@@ -3803,7 +3803,7 @@
if (seg->trbs) {
dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma);
seg->trbs = NULL;
-@@ -1475,9 +1478,17 @@
+@@ -1475,9 +1478,17 @@ int xhci_endpoint_init(struct xhci_hcd *
max_burst = (usb_endpoint_maxp(&ep->desc)
& 0x1800) >> 11;
}
@@ -5039,7 +5039,7 @@
+#endif
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -33,6 +33,13 @@
+@@ -33,6 +33,13 @@ static void xhci_plat_quirks(struct devi
* dev struct in order to setup MSI
*/
xhci->quirks |= XHCI_PLAT;
@@ -5053,7 +5053,7 @@
}
/* called during probe() after chip reset completes */
-@@ -79,7 +86,11 @@
+@@ -79,7 +86,11 @@ static int xhci_plat_probe(struct platfo
driver = &xhci_plat_hc_driver;
@@ -5067,7 +5067,7 @@
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -254,16 +254,20 @@
+@@ -254,16 +254,20 @@ static void inc_enq(struct xhci_hcd *xhc
static inline int room_on_ring(struct xhci_hcd *xhci, struct xhci_ring *ring,
unsigned int num_trbs)
{
@@ -5088,7 +5088,7 @@
return 1;
}
-@@ -2799,6 +2803,7 @@
+@@ -2805,6 +2809,7 @@ static int prepare_ring(struct xhci_hcd
next = ring->enqueue;
while (last_trb(xhci, ring, ring->enq_seg, next)) {
@@ -5096,7 +5096,7 @@
/* If we're not dealing with 0.95 hardware or isoc rings
* on AMD 0.96 host, clear the chain bit.
*/
-@@ -2808,6 +2813,9 @@
+@@ -2814,6 +2819,9 @@ static int prepare_ring(struct xhci_hcd
next->link.control &= cpu_to_le32(~TRB_CHAIN);
else
next->link.control |= cpu_to_le32(TRB_CHAIN);
@@ -5106,7 +5106,7 @@
wmb();
next->link.control ^= cpu_to_le32(TRB_CYCLE);
-@@ -2938,6 +2946,9 @@
+@@ -2944,6 +2952,9 @@ static void giveback_first_trb(struct xh
start_trb->field[3] |= cpu_to_le32(start_cycle);
else
start_trb->field[3] &= cpu_to_le32(~TRB_CYCLE);
@@ -5116,7 +5116,7 @@
xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id);
}
-@@ -2993,6 +3004,29 @@
+@@ -2999,6 +3010,29 @@ static u32 xhci_td_remainder(unsigned in
return (remainder >> 10) << 17;
}
@@ -5146,7 +5146,7 @@
/*
* For xHCI 1.0 host controllers, TD size is the number of max packet sized
* packets remaining in the TD (*not* including this TRB).
-@@ -3130,6 +3164,7 @@
+@@ -3136,6 +3170,7 @@ static int queue_bulk_sg_tx(struct xhci_
}
/* Set the TRB length, TD size, and interrupter fields. */
@@ -5154,7 +5154,7 @@
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
-@@ -3139,6 +3174,12 @@
+@@ -3145,6 +3180,12 @@ static int queue_bulk_sg_tx(struct xhci_
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@@ -5167,7 +5167,7 @@
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-@@ -3201,6 +3242,9 @@
+@@ -3207,6 +3248,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
int running_total, trb_buff_len, ret;
unsigned int total_packet_count;
u64 addr;
@@ -5177,7 +5177,7 @@
if (urb->num_sgs)
return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index);
-@@ -3226,6 +3270,25 @@
+@@ -3232,6 +3276,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
running_total += TRB_MAX_BUFF_SIZE;
}
/* FIXME: this doesn't deal with URB_ZERO_PACKET - need one more */
@@ -5203,7 +5203,7 @@
ret = prepare_transfer(xhci, xhci->devs[slot_id],
ep_index, urb->stream_id,
-@@ -3285,6 +3348,7 @@
+@@ -3291,6 +3354,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
field |= TRB_ISP;
/* Set the TRB length, TD size, and interrupter fields. */
@@ -5211,7 +5211,7 @@
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
-@@ -3294,6 +3358,10 @@
+@@ -3300,6 +3364,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@@ -5222,7 +5222,7 @@
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-@@ -3383,7 +3451,11 @@
+@@ -3389,7 +3457,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field |= 0x1;
/* xHCI 1.0 6.4.1.2.1: Transfer Type field */
@@ -5234,7 +5234,7 @@
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
field |= TRB_TX_TYPE(TRB_DATA_IN);
-@@ -3407,7 +3479,12 @@
+@@ -3413,7 +3485,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field = TRB_TYPE(TRB_DATA);
length_field = TRB_LEN(urb->transfer_buffer_length) |
@@ -5247,7 +5247,7 @@
TRB_INTR_TARGET(0);
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
-@@ -3530,6 +3607,9 @@
+@@ -3536,6 +3613,9 @@ static int xhci_queue_isoc_tx(struct xhc
u64 start_addr, addr;
int i, j;
bool more_trbs_coming;
@@ -5257,7 +5257,7 @@
ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
-@@ -3543,6 +3623,21 @@
+@@ -3549,6 +3629,21 @@ static int xhci_queue_isoc_tx(struct xhc
start_trb = &ep_ring->enqueue->generic;
start_cycle = ep_ring->cycle_state;
@@ -5279,7 +5279,7 @@
urb_priv = urb->hcpriv;
/* Queue the first TRB, even if it's zero-length */
for (i = 0; i < num_tds; i++) {
-@@ -3614,9 +3709,13 @@
+@@ -3620,9 +3715,13 @@ static int xhci_queue_isoc_tx(struct xhc
} else {
td->last_trb = ep_ring->enqueue;
field |= TRB_IOC;
@@ -5293,7 +5293,7 @@
/* Set BEI bit except for the last td */
if (i < num_tds - 1)
field |= TRB_BEI;
-@@ -3631,6 +3730,7 @@
+@@ -3637,6 +3736,7 @@ static int xhci_queue_isoc_tx(struct xhc
trb_buff_len = td_remain_len;
/* Set the TRB length, TD size, & interrupter fields. */
@@ -5301,7 +5301,7 @@
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
td_len - running_total);
-@@ -3640,6 +3740,10 @@
+@@ -3646,6 +3746,10 @@ static int xhci_queue_isoc_tx(struct xhc
total_packet_count, urb,
(trbs_per_td - j - 1));
}
@@ -5331,7 +5331,7 @@
#define DRIVER_AUTHOR "Sarah Sharp"
#define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"
-@@ -46,6 +56,18 @@
+@@ -46,6 +56,18 @@ static unsigned int quirks;
module_param(quirks, uint, S_IRUGO);
MODULE_PARM_DESC(quirks, "Bit flags for quirks to be enabled as default");
@@ -5350,7 +5350,7 @@
/* TODO: copied from ehci-hcd.c - can this be refactored? */
/*
* xhci_handshake - spin reading hc until handshake completes or fails
-@@ -198,7 +220,7 @@
+@@ -198,7 +220,7 @@ int xhci_reset(struct xhci_hcd *xhci)
return ret;
}
@@ -5359,7 +5359,7 @@
static int xhci_free_msi(struct xhci_hcd *xhci)
{
int i;
-@@ -448,6 +470,11 @@
+@@ -448,6 +470,11 @@ static void compliance_mode_recovery(uns
"Attempting compliance mode recovery");
hcd = xhci->shared_hcd;
@@ -5371,7 +5371,7 @@
if (hcd->state == HC_STATE_SUSPENDED)
usb_hcd_resume_root_hub(hcd);
-@@ -497,6 +524,9 @@
+@@ -497,6 +524,9 @@ static bool xhci_compliance_mode_recover
{
const char *dmi_product_name, *dmi_sys_vendor;
@@ -5381,7 +5381,7 @@
dmi_product_name = dmi_get_system_info(DMI_PRODUCT_NAME);
dmi_sys_vendor = dmi_get_system_info(DMI_SYS_VENDOR);
if (!dmi_product_name || !dmi_sys_vendor)
-@@ -542,6 +572,10 @@
+@@ -542,6 +572,10 @@ int xhci_init(struct usb_hcd *hcd)
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"xHCI doesn't need link TRB QUIRK");
}
@@ -5392,7 +5392,7 @@
retval = xhci_mem_init(xhci, GFP_KERNEL);
xhci_dbg_trace(xhci, trace_xhci_dbg_init, "Finished xhci_init");
-@@ -626,7 +660,11 @@
+@@ -626,7 +660,11 @@ int xhci_run(struct usb_hcd *hcd)
"// Set the interrupt modulation register");
temp = readl(&xhci->ir_set->irq_control);
temp &= ~ER_IRQ_INTERVAL_MASK;
@@ -5404,7 +5404,7 @@
writel(temp, &xhci->ir_set->irq_control);
/* Set the HCD state before we enable the irqs */
-@@ -651,6 +689,9 @@
+@@ -651,6 +689,9 @@ int xhci_run(struct usb_hcd *hcd)
xhci_queue_vendor_command(xhci, command, 0, 0, 0,
TRB_TYPE(TRB_NEC_GET_FW));
}
@@ -5414,7 +5414,7 @@
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB2 roothub");
return 0;
-@@ -1642,6 +1683,14 @@
+@@ -1642,6 +1683,14 @@ int xhci_drop_endpoint(struct usb_hcd *h
u32 drop_flag;
u32 new_add_flags, new_drop_flags;
int ret;
@@ -5429,7 +5429,7 @@
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0)
-@@ -1689,6 +1738,40 @@
+@@ -1689,6 +1738,40 @@ int xhci_drop_endpoint(struct usb_hcd *h
xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
@@ -5470,7 +5470,7 @@
xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n",
(unsigned int) ep->desc.bEndpointAddress,
udev->slot_id,
-@@ -1721,6 +1804,19 @@
+@@ -1721,6 +1804,19 @@ int xhci_add_endpoint(struct usb_hcd *hc
u32 new_add_flags, new_drop_flags;
struct xhci_virt_device *virt_dev;
int ret = 0;
@@ -5490,7 +5490,7 @@
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0) {
-@@ -1787,6 +1883,56 @@
+@@ -1787,6 +1883,56 @@ int xhci_add_endpoint(struct usb_hcd *hc
return -ENOMEM;
}
@@ -5547,7 +5547,7 @@
ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
-@@ -4451,8 +4597,14 @@
+@@ -4451,8 +4597,14 @@ static u16 xhci_call_host_update_timeout
u16 *timeout)
{
if (state == USB3_LPM_U1)
@@ -5562,7 +5562,7 @@
return xhci_calculate_u2_timeout(xhci, udev, desc);
return USB3_LPM_DISABLED;
-@@ -4837,7 +4989,9 @@
+@@ -4837,7 +4989,9 @@ int xhci_gen_setup(struct usb_hcd *hcd,
hcd->self.no_sg_constraint = 1;
/* XHCI controllers don't stop the ep queue on short packets :| */
@@ -5572,7 +5572,7 @@
if (usb_hcd_is_primary_hcd(hcd)) {
xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
-@@ -4900,6 +5054,10 @@
+@@ -4900,6 +5054,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
goto error;
xhci_dbg(xhci, "Reset complete\n");
@@ -5583,7 +5583,7 @@
/* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */
if (HCC_64BIT_ADDR(xhci->hcc_params) &&
-@@ -4994,8 +5152,57 @@
+@@ -4994,8 +5152,57 @@ MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_LICENSE("GPL");
@@ -5643,7 +5643,7 @@
* out in specific ways for hardware access.
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -32,6 +32,21 @@
+@@ -33,6 +33,21 @@
#include "xhci-ext-caps.h"
#include "pci-quirks.h"
@@ -5665,7 +5665,7 @@
/* xHCI PCI Configuration Registers */
#define XHCI_SBRN_OFFSET (0x60)
-@@ -1582,8 +1597,12 @@
+@@ -1587,8 +1602,12 @@ struct xhci_hcd {
/* Compliance Mode Recovery Data */
struct timer_list comp_mode_recovery_timer;
u32 port_status_u0;
@@ -5678,7 +5678,7 @@
};
/* convert between an HCD pointer and the corresponding EHCI_HCD */
-@@ -1731,6 +1750,26 @@
+@@ -1736,6 +1755,26 @@ void xhci_urb_free_priv(struct xhci_hcd
void xhci_free_command(struct xhci_hcd *xhci,
struct xhci_command *command);
diff --git a/target/linux/ramips/patches-3.18/0063-cevt-rt3352.patch b/target/linux/ramips/patches-3.18/0063-cevt-rt3352.patch
index daf8be1360..749701f2e5 100644
--- a/target/linux/ramips/patches-3.18/0063-cevt-rt3352.patch
+++ b/target/linux/ramips/patches-3.18/0063-cevt-rt3352.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/ralink/cevt-rt3352.c
+++ b/arch/mips/ralink/cevt-rt3352.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ static int systick_next_event(unsigned l
sdev = container_of(evt, struct systick_device, dev);
count = ioread32(sdev->membase + SYSTICK_COUNT);
count = (count + delta) % SYSTICK_FREQ;
diff --git a/target/linux/ramips/patches-3.18/0100-mtd-split-remove-padding.patch b/target/linux/ramips/patches-3.18/0100-mtd-split-remove-padding.patch
index 9ee55d5d4d..32cea7ded9 100644
--- a/target/linux/ramips/patches-3.18/0100-mtd-split-remove-padding.patch
+++ b/target/linux/ramips/patches-3.18/0100-mtd-split-remove-padding.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -821,9 +821,6 @@ static void split_uimage(struct mtd_info
+@@ -818,9 +818,6 @@ static void split_uimage(struct mtd_info
return;
len = be32_to_cpu(hdr.size) + 0x40;
diff --git a/target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch b/target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch
index c3012fb933..6f6458fc1c 100644
--- a/target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch
+++ b/target/linux/ramips/patches-3.18/0101-mtd-add-rtn56u-support.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -809,8 +809,11 @@ static void split_uimage(struct mtd_info
+@@ -806,8 +806,11 @@ static void split_uimage(struct mtd_info
{
struct {
__be32 magic;
@@ -13,7 +13,7 @@
} hdr;
size_t len;
-@@ -820,7 +823,10 @@ static void split_uimage(struct mtd_info
+@@ -817,7 +820,10 @@ static void split_uimage(struct mtd_info
if (len != sizeof(hdr) || hdr.magic != cpu_to_be32(UBOOT_MAGIC))
return;
diff --git a/target/linux/ramips/patches-3.18/0111-i2c-MIPS-add-mt7621-I2C-driver.patch b/target/linux/ramips/patches-3.18/0111-i2c-MIPS-add-mt7621-I2C-driver.patch
index 5df95f40bb..b34581ed63 100755..100644
--- a/target/linux/ramips/patches-3.18/0111-i2c-MIPS-add-mt7621-I2C-driver.patch
+++ b/target/linux/ramips/patches-3.18/0111-i2c-MIPS-add-mt7621-I2C-driver.patch
@@ -1,8 +1,6 @@
-Index: linux-3.18.9/drivers/i2c/busses/Kconfig
-===================================================================
---- linux-3.18.9.orig/drivers/i2c/busses/Kconfig 2015-03-23 15:00:11.730403938 +0800
-+++ linux-3.18.9/drivers/i2c/busses/Kconfig 2015-03-23 15:00:11.982403926 +0800
-@@ -714,6 +714,10 @@
+--- a/drivers/i2c/busses/Kconfig
++++ b/drivers/i2c/busses/Kconfig
+@@ -714,6 +714,10 @@ config I2C_RALINK
tristate "Ralink I2C Controller"
select OF_I2C
@@ -13,11 +11,9 @@ Index: linux-3.18.9/drivers/i2c/busses/Kconfig
config HAVE_S3C2410_I2C
bool
help
-Index: linux-3.18.9/drivers/i2c/busses/Makefile
-===================================================================
---- linux-3.18.9.orig/drivers/i2c/busses/Makefile 2015-03-23 15:00:11.730403938 +0800
-+++ linux-3.18.9/drivers/i2c/busses/Makefile 2015-03-23 15:00:11.982403926 +0800
-@@ -67,6 +67,7 @@
+--- a/drivers/i2c/busses/Makefile
++++ b/drivers/i2c/busses/Makefile
+@@ -67,6 +67,7 @@ obj-$(CONFIG_I2C_PUV3) += i2c-puv3.o
obj-$(CONFIG_I2C_PXA) += i2c-pxa.o
obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o
obj-$(CONFIG_I2C_RALINK) += i2c-ralink.o
@@ -25,10 +21,8 @@ Index: linux-3.18.9/drivers/i2c/busses/Makefile
obj-$(CONFIG_I2C_QUP) += i2c-qup.o
obj-$(CONFIG_I2C_RIIC) += i2c-riic.o
obj-$(CONFIG_I2C_RK3X) += i2c-rk3x.o
-Index: linux-3.18.9/drivers/i2c/busses/i2c-mt7621.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.18.9/drivers/i2c/busses/i2c-mt7621.c 2015-03-23 16:31:42.684747034 +0800
+--- /dev/null
++++ b/drivers/i2c/busses/i2c-mt7621.c
@@ -0,0 +1,303 @@
+/*
+ * drivers/i2c/busses/i2c-mt7621.c
diff --git a/target/linux/rb532/patches-3.18/001-cmdline_hack.patch b/target/linux/rb532/patches-3.18/001-cmdline_hack.patch
index eacb8e0a40..a39da9c14a 100644
--- a/target/linux/rb532/patches-3.18/001-cmdline_hack.patch
+++ b/target/linux/rb532/patches-3.18/001-cmdline_hack.patch
@@ -1,6 +1,6 @@
--- a/arch/mips/rb532/prom.c
+++ b/arch/mips/rb532/prom.c
-@@ -67,6 +67,7 @@ static inline unsigned long tag2ul(char
+@@ -67,6 +67,7 @@ static inline unsigned long tag2ul(char
return simple_strtoul(num, 0, 10);
}
diff --git a/target/linux/rb532/patches-3.18/002-rb532_nand_fixup.patch b/target/linux/rb532/patches-3.18/002-rb532_nand_fixup.patch
index 2202b02c6d..6f885997fc 100644
--- a/target/linux/rb532/patches-3.18/002-rb532_nand_fixup.patch
+++ b/target/linux/rb532/patches-3.18/002-rb532_nand_fixup.patch
@@ -20,7 +20,7 @@
static int rb532_dev_ready(struct mtd_info *mtd)
{
return gpio_get_value(GPIO_RDY);
-@@ -254,6 +267,16 @@ static void __init parse_mac_addr(char *
+@@ -254,6 +267,16 @@ static struct platform_device *rb532_dev
/* NAND definitions */
#define NAND_CHIP_DELAY 25
diff --git a/target/linux/sunxi/patches-3.18/100-dt-sun7i-add_spi0_pins_a.patch b/target/linux/sunxi/patches-3.18/100-dt-sun7i-add_spi0_pins_a.patch
index f0e3eea186..b81ed449fb 100644
--- a/target/linux/sunxi/patches-3.18/100-dt-sun7i-add_spi0_pins_a.patch
+++ b/target/linux/sunxi/patches-3.18/100-dt-sun7i-add_spi0_pins_a.patch
@@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 82097c9..4fb8930 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -784,6 +784,13 @@
diff --git a/target/linux/sunxi/patches-3.18/101-dt-sun7i-add-uart3_pins.patch b/target/linux/sunxi/patches-3.18/101-dt-sun7i-add-uart3_pins.patch
index 8f9c0e88bd..284537af92 100644
--- a/target/linux/sunxi/patches-3.18/101-dt-sun7i-add-uart3_pins.patch
+++ b/target/linux/sunxi/patches-3.18/101-dt-sun7i-add-uart3_pins.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 4fb8930..cecf32c 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -677,6 +677,13 @@
diff --git a/target/linux/sunxi/patches-3.18/102-dt-sun7i-add_mmc2_pins.patch b/target/linux/sunxi/patches-3.18/102-dt-sun7i-add_mmc2_pins.patch
index 6a5878e5ac..28128db5e1 100644
--- a/target/linux/sunxi/patches-3.18/102-dt-sun7i-add_mmc2_pins.patch
+++ b/target/linux/sunxi/patches-3.18/102-dt-sun7i-add_mmc2_pins.patch
@@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index cecf32c..f0a75c6 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -833,6 +833,13 @@
diff --git a/target/linux/sunxi/patches-3.18/110-input-add-sun4i-lradc.patch b/target/linux/sunxi/patches-3.18/110-input-add-sun4i-lradc.patch
index 0772f1572d..12b4628f04 100644
--- a/target/linux/sunxi/patches-3.18/110-input-add-sun4i-lradc.patch
+++ b/target/linux/sunxi/patches-3.18/110-input-add-sun4i-lradc.patch
@@ -27,9 +27,6 @@ Changes in v2:
create mode 100644 Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
create mode 100644 drivers/input/keyboard/sun4i-lradc-keys.c
-diff --git a/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt b/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
-new file mode 100644
-index 0000000..b9c32f6
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
@@ -0,0 +1,62 @@
@@ -95,11 +92,9 @@ index 0000000..b9c32f6
+ voltage = <987387>;
+ };
+ };
-diff --git a/MAINTAINERS b/MAINTAINERS
-index a20df9b..73d1aef 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -8932,6 +8932,13 @@ F: arch/m68k/sun3*/
+@@ -9002,6 +9002,13 @@ F: arch/m68k/sun3*/
F: arch/m68k/include/asm/sun3*
F: drivers/net/ethernet/i825xx/sun3*
@@ -113,8 +108,6 @@ index a20df9b..73d1aef 100644
SUNDANCE NETWORK DRIVER
M: Denis Kirjanov <kda@linux-powerpc.org>
L: netdev@vger.kernel.org
-diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
-index a3958c6..2d11b44 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -567,6 +567,16 @@ config KEYBOARD_STMPE
@@ -134,11 +127,9 @@ index a3958c6..2d11b44 100644
config KEYBOARD_DAVINCI
tristate "TI DaVinci Key Scan"
depends on ARCH_DAVINCI_DM365
-diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile
-index 0a33456..a35269a 100644
--- a/drivers/input/keyboard/Makefile
+++ b/drivers/input/keyboard/Makefile
-@@ -53,6 +53,7 @@ obj-$(CONFIG_KEYBOARD_SPEAR) += spear-keyboard.o
+@@ -53,6 +53,7 @@ obj-$(CONFIG_KEYBOARD_SPEAR) += spear-k
obj-$(CONFIG_KEYBOARD_STMPE) += stmpe-keypad.o
obj-$(CONFIG_KEYBOARD_STOWAWAY) += stowaway.o
obj-$(CONFIG_KEYBOARD_ST_KEYSCAN) += st-keyscan.o
@@ -146,9 +137,6 @@ index 0a33456..a35269a 100644
obj-$(CONFIG_KEYBOARD_SUNKBD) += sunkbd.o
obj-$(CONFIG_KEYBOARD_TC3589X) += tc3589x-keypad.o
obj-$(CONFIG_KEYBOARD_TEGRA) += tegra-kbc.o
-diff --git a/drivers/input/keyboard/sun4i-lradc-keys.c b/drivers/input/keyboard/sun4i-lradc-keys.c
-new file mode 100644
-index 0000000..f11f002
--- /dev/null
+++ b/drivers/input/keyboard/sun4i-lradc-keys.c
@@ -0,0 +1,258 @@
diff --git a/target/linux/sunxi/patches-3.18/111-dt-sun4i-add-lradc.patch b/target/linux/sunxi/patches-3.18/111-dt-sun4i-add-lradc.patch
index 0ffe4e8020..d2298a4826 100644
--- a/target/linux/sunxi/patches-3.18/111-dt-sun4i-add-lradc.patch
+++ b/target/linux/sunxi/patches-3.18/111-dt-sun4i-add-lradc.patch
@@ -8,8 +8,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 380f914..1ef7d57 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -669,6 +669,13 @@
diff --git a/target/linux/sunxi/patches-3.18/112-dt-sun5i-add-lradc.patch b/target/linux/sunxi/patches-3.18/112-dt-sun5i-add-lradc.patch
index 22dfe51be7..edc9016aa9 100644
--- a/target/linux/sunxi/patches-3.18/112-dt-sun5i-add-lradc.patch
+++ b/target/linux/sunxi/patches-3.18/112-dt-sun5i-add-lradc.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 7 ++++
4 files changed, 100 insertions(+), 4 deletions(-)
-diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
-index ea9519d..0b82d20 100644
--- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
@@ -12,8 +12,9 @@
@@ -74,8 +72,6 @@ index ea9519d..0b82d20 100644
uart0: serial@01c28000 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index 531272c..7c6c883 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -520,6 +520,13 @@
@@ -92,8 +88,6 @@ index 531272c..7c6c883 100644
sid: eeprom@01c23800 {
compatible = "allwinner,sun4i-a10-sid";
reg = <0x01c23800 0x10>;
-diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
-index 429994e..b4ec8eb 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -12,8 +12,9 @@
@@ -155,8 +149,6 @@ index 429994e..b4ec8eb 100644
uart1: serial@01c28400 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins_b>;
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index b131068..aa0482c 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -468,6 +468,13 @@
diff --git a/target/linux/sunxi/patches-3.18/113-dt-sun7i-add-lradc.patch b/target/linux/sunxi/patches-3.18/113-dt-sun7i-add-lradc.patch
index 50a66b6a81..ae2c383069 100644
--- a/target/linux/sunxi/patches-3.18/113-dt-sun7i-add-lradc.patch
+++ b/target/linux/sunxi/patches-3.18/113-dt-sun7i-add-lradc.patch
@@ -9,8 +9,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 7 +++
2 files changed, 64 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index 9d669cdf..c00badd 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -12,8 +12,9 @@
@@ -86,8 +84,6 @@ index 9d669cdf..c00badd 100644
uart0: serial@01c28000 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins_a>;
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index f0a75c6..9174423 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -911,6 +911,13 @@
diff --git a/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch b/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch
index bff74e468f..331c93b5a8 100644
--- a/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch
+++ b/target/linux/sunxi/patches-3.18/115-input-sun4i-ts-update-temp-curve.patch
@@ -23,8 +23,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/input/touchscreen/sun4i-ts.c | 13 ++++++++++++-
2 files changed, 13 insertions(+), 2 deletions(-)
-diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
-index aef5779..5106709 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
@@ -2,7 +2,7 @@ sun4i resistive touchscreen controller
@@ -36,8 +34,6 @@ index aef5779..5106709 100644
- reg: mmio address range of the chip
- interrupts: interrupt to which the chip is connected
-diff --git a/drivers/input/touchscreen/sun4i-ts.c b/drivers/input/touchscreen/sun4i-ts.c
-index 2ba8260..52b7114 100644
--- a/drivers/input/touchscreen/sun4i-ts.c
+++ b/drivers/input/touchscreen/sun4i-ts.c
@@ -111,6 +111,8 @@ struct sun4i_ts_data {
@@ -49,7 +45,7 @@ index 2ba8260..52b7114 100644
};
static void sun4i_ts_irq_handle_input(struct sun4i_ts_data *ts, u32 reg_val)
-@@ -189,7 +191,8 @@ static ssize_t show_temp(struct device *dev, struct device_attribute *devattr,
+@@ -189,7 +191,8 @@ static ssize_t show_temp(struct device *
if (ts->temp_data == -1)
return -EAGAIN;
@@ -59,7 +55,7 @@ index 2ba8260..52b7114 100644
}
static ssize_t show_temp_label(struct device *dev,
-@@ -224,6 +227,13 @@ static int sun4i_ts_probe(struct platform_device *pdev)
+@@ -224,6 +227,13 @@ static int sun4i_ts_probe(struct platfor
ts->dev = dev;
ts->ignore_fifo_data = true;
ts->temp_data = -1;
@@ -73,7 +69,7 @@ index 2ba8260..52b7114 100644
ts_attached = of_property_read_bool(np, "allwinner,ts-attached");
if (ts_attached) {
-@@ -318,6 +328,7 @@ static int sun4i_ts_remove(struct platform_device *pdev)
+@@ -318,6 +328,7 @@ static int sun4i_ts_remove(struct platfo
static const struct of_device_id sun4i_ts_of_match[] = {
{ .compatible = "allwinner,sun4i-a10-ts", },
diff --git a/target/linux/sunxi/patches-3.18/116-dt-sunxi-update-compats-for-tempcurves.patch b/target/linux/sunxi/patches-3.18/116-dt-sunxi-update-compats-for-tempcurves.patch
index 861538fed2..fe8dcdbc0a 100644
--- a/target/linux/sunxi/patches-3.18/116-dt-sunxi-update-compats-for-tempcurves.patch
+++ b/target/linux/sunxi/patches-3.18/116-dt-sunxi-update-compats-for-tempcurves.patch
@@ -16,8 +16,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index 7c6c883..7089284 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
@@ -533,7 +533,7 @@
@@ -29,8 +27,6 @@ index 7c6c883..7089284 100644
reg = <0x01c25000 0x100>;
interrupts = <29>;
};
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index aa0482c..b05ab04 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -481,7 +481,7 @@
@@ -42,8 +38,6 @@ index aa0482c..b05ab04 100644
reg = <0x01c25000 0x100>;
interrupts = <29>;
};
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 9174423..81d4e55 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -924,7 +924,7 @@
diff --git a/target/linux/sunxi/patches-3.18/130-input-add-axp20x-pek.patch b/target/linux/sunxi/patches-3.18/130-input-add-axp20x-pek.patch
index 537ba365f1..28ed6a3b2d 100644
--- a/target/linux/sunxi/patches-3.18/130-input-add-axp20x-pek.patch
+++ b/target/linux/sunxi/patches-3.18/130-input-add-axp20x-pek.patch
@@ -16,8 +16,6 @@ Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
3 files changed, 293 insertions(+)
create mode 100644 drivers/input/misc/axp20x-pek.c
-diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
-index 23297ab..a49bcd3 100644
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
@@ -404,6 +404,17 @@ config INPUT_RETU_PWRBUTTON
@@ -38,11 +36,9 @@ index 23297ab..a49bcd3 100644
config INPUT_TWL4030_PWRBUTTON
tristate "TWL4030 Power button Driver"
depends on TWL4030_CORE
-diff --git a/drivers/input/misc/Makefile b/drivers/input/misc/Makefile
-index 19c7603..04ea87f 100644
--- a/drivers/input/misc/Makefile
+++ b/drivers/input/misc/Makefile
-@@ -54,6 +54,7 @@ obj-$(CONFIG_INPUT_POWERMATE) += powermate.o
+@@ -54,6 +54,7 @@ obj-$(CONFIG_INPUT_POWERMATE) += powerm
obj-$(CONFIG_INPUT_PWM_BEEPER) += pwm-beeper.o
obj-$(CONFIG_INPUT_RB532_BUTTON) += rb532_button.o
obj-$(CONFIG_INPUT_RETU_PWRBUTTON) += retu-pwrbutton.o
@@ -50,9 +46,6 @@ index 19c7603..04ea87f 100644
obj-$(CONFIG_INPUT_GPIO_ROTARY_ENCODER) += rotary_encoder.o
obj-$(CONFIG_INPUT_SGI_BTNS) += sgi_btns.o
obj-$(CONFIG_INPUT_SIRFSOC_ONKEY) += sirfsoc-onkey.o
-diff --git a/drivers/input/misc/axp20x-pek.c b/drivers/input/misc/axp20x-pek.c
-new file mode 100644
-index 0000000..0fba252
--- /dev/null
+++ b/drivers/input/misc/axp20x-pek.c
@@ -0,0 +1,281 @@
diff --git a/target/linux/sunxi/patches-3.18/150-pwm-add-sunxi-driver.patch b/target/linux/sunxi/patches-3.18/150-pwm-add-sunxi-driver.patch
index 2d467c08de..49560c39a4 100644
--- a/target/linux/sunxi/patches-3.18/150-pwm-add-sunxi-driver.patch
+++ b/target/linux/sunxi/patches-3.18/150-pwm-add-sunxi-driver.patch
@@ -1,8 +1,6 @@
-diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
-index 3865dfb9ed08..424359d3cbb1 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
-@@ -262,6 +262,15 @@ config PWM_STI
+@@ -263,6 +263,15 @@ config PWM_STI
To compile this driver as a module, choose M here: the module
will be called pwm-sti.
@@ -18,11 +16,9 @@ index 3865dfb9ed08..424359d3cbb1 100644
config PWM_TEGRA
tristate "NVIDIA Tegra PWM support"
depends on ARCH_TEGRA
-diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile
-index c458606c3755..d607804deea1 100644
--- a/drivers/pwm/Makefile
+++ b/drivers/pwm/Makefile
-@@ -24,6 +24,7 @@ obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockchip.o
+@@ -24,6 +24,7 @@ obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockch
obj-$(CONFIG_PWM_SAMSUNG) += pwm-samsung.o
obj-$(CONFIG_PWM_SPEAR) += pwm-spear.o
obj-$(CONFIG_PWM_STI) += pwm-sti.o
@@ -30,9 +26,6 @@ index c458606c3755..d607804deea1 100644
obj-$(CONFIG_PWM_TEGRA) += pwm-tegra.o
obj-$(CONFIG_PWM_TIECAP) += pwm-tiecap.o
obj-$(CONFIG_PWM_TIEHRPWM) += pwm-tiehrpwm.o
-diff --git a/drivers/pwm/pwm-sun4i.c b/drivers/pwm/pwm-sun4i.c
-new file mode 100644
-index 000000000000..918f8ee79b51
--- /dev/null
+++ b/drivers/pwm/pwm-sun4i.c
@@ -0,0 +1,371 @@
diff --git a/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch b/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch
index 6427df5cc1..d2a1504728 100644
--- a/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch
+++ b/target/linux/sunxi/patches-3.18/200-mmc-add-sdio-function-subnode.patch
@@ -20,8 +20,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/mmc/core/sdio_bus.c | 11 +++++++++++
4 files changed, 46 insertions(+)
-diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c
-index 8a1f124..7868565 100644
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -16,6 +16,7 @@
@@ -41,7 +39,7 @@ index 8a1f124..7868565 100644
ret = device_add(&card->dev);
if (ret)
return ret;
-@@ -380,6 +383,7 @@ void mmc_remove_card(struct mmc_card *card)
+@@ -380,6 +383,7 @@ void mmc_remove_card(struct mmc_card *ca
mmc_hostname(card->host), card->rca);
}
device_del(&card->dev);
@@ -49,8 +47,6 @@ index 8a1f124..7868565 100644
}
put_device(&card->dev);
-diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
-index f26a5f1..7f7f66c 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -1205,6 +1205,34 @@ EXPORT_SYMBOL(mmc_of_parse_voltage);
@@ -88,8 +84,6 @@ index f26a5f1..7f7f66c 100644
#ifdef CONFIG_REGULATOR
/**
-diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
-index 443a5846..f712f6e 100644
--- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h
@@ -32,6 +32,9 @@ struct mmc_bus_ops {
@@ -102,8 +96,6 @@ index 443a5846..f712f6e 100644
void mmc_init_erase(struct mmc_card *card);
void mmc_set_chip_select(struct mmc_host *host, int mode);
-diff --git a/drivers/mmc/core/sdio_bus.c b/drivers/mmc/core/sdio_bus.c
-index 6da97b1..f63223a 100644
--- a/drivers/mmc/core/sdio_bus.c
+++ b/drivers/mmc/core/sdio_bus.c
@@ -22,7 +22,9 @@
@@ -116,7 +108,7 @@ index 6da97b1..f63223a 100644
#include "sdio_cis.h"
#include "sdio_bus.h"
-@@ -303,6 +305,13 @@ static void sdio_acpi_set_handle(struct sdio_func *func)
+@@ -303,6 +305,13 @@ static void sdio_acpi_set_handle(struct
static inline void sdio_acpi_set_handle(struct sdio_func *func) {}
#endif
@@ -130,7 +122,7 @@ index 6da97b1..f63223a 100644
/*
* Register a new SDIO function with the driver model.
*/
-@@ -312,6 +321,7 @@ int sdio_add_func(struct sdio_func *func)
+@@ -312,6 +321,7 @@ int sdio_add_func(struct sdio_func *func
dev_set_name(&func->dev, "%s:%d", mmc_card_id(func->card), func->num);
@@ -138,7 +130,7 @@ index 6da97b1..f63223a 100644
sdio_acpi_set_handle(func);
ret = device_add(&func->dev);
if (ret == 0) {
-@@ -335,6 +345,7 @@ void sdio_remove_func(struct sdio_func *func)
+@@ -335,6 +345,7 @@ void sdio_remove_func(struct sdio_func *
dev_pm_domain_detach(&func->dev, false);
device_del(&func->dev);
diff --git a/target/linux/sunxi/patches-3.18/201-dt-sun7i-add-oob-irq-to-bcm-sdio-wifi.patch b/target/linux/sunxi/patches-3.18/201-dt-sun7i-add-oob-irq-to-bcm-sdio-wifi.patch
index c6790b7432..e2cfeb711c 100644
--- a/target/linux/sunxi/patches-3.18/201-dt-sun7i-add-oob-irq-to-bcm-sdio-wifi.patch
+++ b/target/linux/sunxi/patches-3.18/201-dt-sun7i-add-oob-irq-to-bcm-sdio-wifi.patch
@@ -10,8 +10,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts | 11 +++++++++++
2 files changed, 22 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index a6c1a3c..f9ab5d4 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -31,12 +31,23 @@
@@ -38,8 +36,6 @@ index a6c1a3c..f9ab5d4 100644
};
usbphy: phy@01c13400 {
-diff --git a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
-index 6a67712d..f620aea 100644
--- a/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
+++ b/arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts
@@ -29,12 +29,23 @@
diff --git a/target/linux/sunxi/patches-3.18/202-dt-sun7i-add-bluetooth-to-cubietruck.patch b/target/linux/sunxi/patches-3.18/202-dt-sun7i-add-bluetooth-to-cubietruck.patch
index f819849448..9c0d969232 100644
--- a/target/linux/sunxi/patches-3.18/202-dt-sun7i-add-bluetooth-to-cubietruck.patch
+++ b/target/linux/sunxi/patches-3.18/202-dt-sun7i-add-bluetooth-to-cubietruck.patch
@@ -14,8 +14,6 @@ GPIO, but this is not supported in this patch.
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 36 ++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index f9ab5d4..69d8c4c 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -103,6 +103,20 @@
diff --git a/target/linux/sunxi/patches-3.18/270-dt-sun7i-add-ss-to-a20.patch b/target/linux/sunxi/patches-3.18/270-dt-sun7i-add-ss-to-a20.patch
index 11a6ed03f5..f03e2d9df3 100644
--- a/target/linux/sunxi/patches-3.18/270-dt-sun7i-add-ss-to-a20.patch
+++ b/target/linux/sunxi/patches-3.18/270-dt-sun7i-add-ss-to-a20.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -529,6 +529,14 @@
+@@ -577,6 +577,14 @@
status = "disabled";
};
diff --git a/target/linux/sunxi/patches-3.18/271-crypto-add-ss.patch b/target/linux/sunxi/patches-3.18/271-crypto-add-ss.patch
index 090624de96..0788c6f84c 100644
--- a/target/linux/sunxi/patches-3.18/271-crypto-add-ss.patch
+++ b/target/linux/sunxi/patches-3.18/271-crypto-add-ss.patch
@@ -1,8 +1,6 @@
-diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
-index 2fb0fdf..9ba9759 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
-@@ -436,4 +436,21 @@ config CRYPTO_DEV_QCE
+@@ -437,4 +437,21 @@ config CRYPTO_DEV_QCE
hardware. To compile this driver as a module, choose M here. The
module will be called qcrypto.
@@ -24,26 +22,18 @@ index 2fb0fdf..9ba9759 100644
+ will be called sunxi-ss.
+
endif # CRYPTO_HW
-diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
-index 3924f93..856545c 100644
--- a/drivers/crypto/Makefile
+++ b/drivers/crypto/Makefile
-@@ -25,3 +25,4 @@ obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o
+@@ -25,3 +25,4 @@ obj-$(CONFIG_CRYPTO_DEV_TALITOS) += tali
obj-$(CONFIG_CRYPTO_DEV_UX500) += ux500/
obj-$(CONFIG_CRYPTO_DEV_QAT) += qat/
obj-$(CONFIG_CRYPTO_DEV_QCE) += qce/
+obj-$(CONFIG_CRYPTO_DEV_SUNXI_SS) += sunxi-ss/
-diff --git a/drivers/crypto/sunxi-ss/Makefile b/drivers/crypto/sunxi-ss/Makefile
-new file mode 100644
-index 0000000..8bb287d
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_CRYPTO_DEV_SUNXI_SS) += sunxi-ss.o
+sunxi-ss-y += sunxi-ss-core.o sunxi-ss-hash.o sunxi-ss-cipher.o
-diff --git a/drivers/crypto/sunxi-ss/sunxi-ss-cipher.c b/drivers/crypto/sunxi-ss/sunxi-ss-cipher.c
-new file mode 100644
-index 0000000..8d0416e
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss-cipher.c
@@ -0,0 +1,489 @@
@@ -536,9 +526,6 @@ index 0000000..8d0416e
+ memcpy(op->key, key, keylen);
+ return 0;
+}
-diff --git a/drivers/crypto/sunxi-ss/sunxi-ss-core.c b/drivers/crypto/sunxi-ss/sunxi-ss-core.c
-new file mode 100644
-index 0000000..e66d7e2
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss-core.c
@@ -0,0 +1,318 @@
@@ -860,9 +847,6 @@ index 0000000..e66d7e2
+MODULE_DESCRIPTION("Allwinner Security System cryptographic accelerator");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Corentin LABBE <clabbe.montjoie@gmail.com>");
-diff --git a/drivers/crypto/sunxi-ss/sunxi-ss-hash.c b/drivers/crypto/sunxi-ss/sunxi-ss-hash.c
-new file mode 100644
-index 0000000..ec8758f
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss-hash.c
@@ -0,0 +1,445 @@
@@ -1311,9 +1295,6 @@ index 0000000..ec8758f
+
+ return sunxi_hash_final(areq);
+}
-diff --git a/drivers/crypto/sunxi-ss/sunxi-ss.h b/drivers/crypto/sunxi-ss/sunxi-ss.h
-new file mode 100644
-index 0000000..331e75b
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss.h
@@ -0,0 +1,193 @@
diff --git a/target/linux/sunxi/patches-3.18/300-dt-sun7i-add-bananapi.patch b/target/linux/sunxi/patches-3.18/300-dt-sun7i-add-bananapi.patch
index 0ee3195d06..c60b1fe013 100644
--- a/target/linux/sunxi/patches-3.18/300-dt-sun7i-add-bananapi.patch
+++ b/target/linux/sunxi/patches-3.18/300-dt-sun7i-add-bananapi.patch
@@ -16,8 +16,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2 files changed, 215 insertions(+)
create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapi.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 38c89ca..63422bd 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -435,6 +435,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
@@ -28,9 +26,6 @@ index 38c89ca..63422bd 100644
sun7i-a20-cubieboard2.dtb \
sun7i-a20-cubietruck.dtb \
sun7i-a20-hummingbird.dtb \
-diff --git a/arch/arm/boot/dts/sun7i-a20-bananapi.dts b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
-new file mode 100644
-index 0000000..0e7c9f5
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
@@ -0,0 +1,214 @@
diff --git a/target/linux/sunxi/patches-3.18/301-dt-sun7i-add-bananapro.patch b/target/linux/sunxi/patches-3.18/301-dt-sun7i-add-bananapro.patch
index 70283a5f7b..c8cdb1d191 100644
--- a/target/linux/sunxi/patches-3.18/301-dt-sun7i-add-bananapro.patch
+++ b/target/linux/sunxi/patches-3.18/301-dt-sun7i-add-bananapro.patch
@@ -15,21 +15,16 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2 files changed, 262 insertions(+)
create mode 100644 arch/arm/boot/dts/sun7i-a20-bananapro.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 40d2901..b3dcf3f 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -466,6 +466,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
- sun6i-a31s-cs908.dtb
+@@ -436,6 +436,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \
+ sun6i-a31-m9.dtb
dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-bananapi.dtb \
+ sun7i-a20-bananapro.dtb \
sun7i-a20-cubieboard2.dtb \
sun7i-a20-cubietruck.dtb \
sun7i-a20-hummingbird.dtb \
-diff --git a/arch/arm/boot/dts/sun7i-a20-bananapro.dts b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
-new file mode 100644
-index 0000000..3b4764d
--- /dev/null
+++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
@@ -0,0 +1,261 @@
diff --git a/target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch b/target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch
index 82c8bd5a47..5d5ba11e63 100644
--- a/target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch
+++ b/target/linux/sunxi/patches-3.18/302-dt-sun7i-add-lamobo-r1.patch
@@ -1,7 +1,5 @@
-Index: linux-3.18.2/arch/arm/boot/dts/Makefile
-===================================================================
---- linux-3.18.2.orig/arch/arm/boot/dts/Makefile
-+++ linux-3.18.2/arch/arm/boot/dts/Makefile
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
@@ -441,6 +441,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-cubietruck.dtb \
sun7i-a20-hummingbird.dtb \
@@ -10,10 +8,8 @@ Index: linux-3.18.2/arch/arm/boot/dts/Makefile
sun7i-a20-olinuxino-lime.dtb \
sun7i-a20-olinuxino-micro.dtb \
sun7i-a20-pcduino3.dtb
-Index: linux-3.18.2/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
-===================================================================
--- /dev/null
-+++ linux-3.18.2/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
++++ b/arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2015 Daniel Golle <daniel@makrotopia.org>
diff --git a/target/linux/x86/patches-3.18/011-tune_lzma_options.patch b/target/linux/x86/patches-3.18/011-tune_lzma_options.patch
index 4bb7b7bf45..cea644da10 100644
--- a/target/linux/x86/patches-3.18/011-tune_lzma_options.patch
+++ b/target/linux/x86/patches-3.18/011-tune_lzma_options.patch
@@ -1,6 +1,6 @@
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
-@@ -325,7 +325,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
+@@ -325,7 +325,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
quiet_cmd_lzma = LZMA $@
cmd_lzma = (cat $(filter-out FORCE,$^) | \
diff --git a/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch b/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch
index 180fa1dd9e..19eaf3af3e 100644
--- a/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch
+++ b/target/linux/xburst/patches-3.18/001-ubi-Read-only-the-vid-header-instead-of-the-whole-pa.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 1/7] ubi: Read only the vid header instead of the whole page
drivers/mtd/ubi/io.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c
-index d361349..596b568 100644
--- a/drivers/mtd/ubi/io.c
+++ b/drivers/mtd/ubi/io.c
-@@ -1009,7 +1009,7 @@ int ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum,
+@@ -1009,7 +1009,7 @@ int ubi_io_read_vid_hdr(struct ubi_devic
p = (char *)vid_hdr - ubi->vid_hdr_shift;
read_err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset,
@@ -20,6 +18,3 @@ index d361349..596b568 100644
if (read_err && read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err))
return read_err;
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.18/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch b/target/linux/xburst/patches-3.18/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch
index bba9f0bb50..046da51912 100644
--- a/target/linux/xburst/patches-3.18/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch
+++ b/target/linux/xburst/patches-3.18/002-NAND-Optimize-NAND_ECC_HW_OOB_FIRST-read.patch
@@ -8,11 +8,9 @@ Avoid sending unnecessary READ commands to the chip.
drivers/mtd/nand/nand_base.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 5b5c627..4c8d646 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
-@@ -1360,9 +1360,16 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
+@@ -1360,9 +1360,16 @@ static int nand_read_page_hwecc_oob_firs
unsigned int max_bitflips = 0;
/* Read the OOB area first */
@@ -32,7 +30,7 @@ index 5b5c627..4c8d646 100644
for (i = 0; i < chip->ecc.total; i++)
ecc_code[i] = chip->oob_poi[eccpos[i]];
-@@ -1575,7 +1582,9 @@ static int nand_do_read_ops(struct mtd_info *mtd, loff_t from,
+@@ -1575,7 +1582,9 @@ static int nand_do_read_ops(struct mtd_i
__func__, buf);
read_retry:
@@ -43,6 +41,3 @@ index 5b5c627..4c8d646 100644
/*
* Now read the page into the buffer. Absent an error,
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.18/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch b/target/linux/xburst/patches-3.18/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch
index f3f6ca968e..974eb7a5db 100644
--- a/target/linux/xburst/patches-3.18/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch
+++ b/target/linux/xburst/patches-3.18/003-NAND-Add-support-for-subpage-reads-for-NAND_ECC_HW_O.patch
@@ -8,11 +8,9 @@ Subject: [PATCH 3/7] NAND: Add support for subpage reads for
drivers/mtd/nand/nand_base.c | 77 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 76 insertions(+), 1 deletion(-)
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 4c8d646..9809059 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
-@@ -1393,6 +1393,75 @@ static int nand_read_page_hwecc_oob_first(struct mtd_info *mtd,
+@@ -1393,6 +1393,75 @@ static int nand_read_page_hwecc_oob_firs
}
/**
@@ -104,6 +102,3 @@ index 4c8d646..9809059 100644
case NAND_ECC_HW:
/* Use standard hwecc read page function? */
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.18/004-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch b/target/linux/xburst/patches-3.18/004-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch
index 3de6ee0952..f2c26ade09 100644
--- a/target/linux/xburst/patches-3.18/004-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch
+++ b/target/linux/xburst/patches-3.18/004-ASoC-JZ4740-delay-activation-of-the-DAC-to-work-arou.patch
@@ -10,11 +10,9 @@ which (I hope) will be done eventually.
sound/soc/codecs/jz4740.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
-diff --git a/sound/soc/codecs/jz4740.c b/sound/soc/codecs/jz4740.c
-index df7c01c..6939444 100644
--- a/sound/soc/codecs/jz4740.c
+++ b/sound/soc/codecs/jz4740.c
-@@ -249,12 +249,15 @@ static int jz4740_codec_set_bias_level(struct snd_soc_codec *codec,
+@@ -249,12 +249,15 @@ static int jz4740_codec_set_bias_level(s
case SND_SOC_BIAS_ON:
break;
case SND_SOC_BIAS_PREPARE:
@@ -33,6 +31,3 @@ index df7c01c..6939444 100644
break;
case SND_SOC_BIAS_STANDBY:
/* The only way to clear the suspend flag is to reset the codec */
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.18/005-RTC-JZ4740-Init-the-regulator-register-on-startup.patch b/target/linux/xburst/patches-3.18/005-RTC-JZ4740-Init-the-regulator-register-on-startup.patch
index 2dd8858d4b..f38483ab5c 100644
--- a/target/linux/xburst/patches-3.18/005-RTC-JZ4740-Init-the-regulator-register-on-startup.patch
+++ b/target/linux/xburst/patches-3.18/005-RTC-JZ4740-Init-the-regulator-register-on-startup.patch
@@ -13,8 +13,6 @@ Signed-off-by: Paul Cercueil <paul@crapouillou.net>
drivers/rtc/rtc-jz4740.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
-diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
-index 08f5160..5f027dc 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -15,6 +15,7 @@
@@ -25,7 +23,7 @@ index 08f5160..5f027dc 100644
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
-@@ -216,6 +217,7 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
+@@ -216,6 +217,7 @@ static int jz4740_rtc_probe(struct platf
struct jz4740_rtc *rtc;
uint32_t scratchpad;
struct resource *mem;
@@ -33,7 +31,7 @@ index 08f5160..5f027dc 100644
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
if (!rtc)
-@@ -263,6 +265,21 @@ static int jz4740_rtc_probe(struct platform_device *pdev)
+@@ -263,6 +265,21 @@ static int jz4740_rtc_probe(struct platf
}
}
@@ -55,6 +53,3 @@ index 08f5160..5f027dc 100644
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.18/006-Add-ili8960-lcd-driver.patch b/target/linux/xburst/patches-3.18/006-Add-ili8960-lcd-driver.patch
index 906b9968e7..dc12d93409 100644
--- a/target/linux/xburst/patches-3.18/006-Add-ili8960-lcd-driver.patch
+++ b/target/linux/xburst/patches-3.18/006-Add-ili8960-lcd-driver.patch
@@ -16,8 +16,6 @@ Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
3 files changed, 270 insertions(+)
create mode 100644 drivers/video/backlight/ili8960.c
-diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
-index 8d03924..14adcc6 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -59,6 +59,13 @@ config LCD_LTV350QV
@@ -34,8 +32,6 @@ index 8d03924..14adcc6 100644
config LCD_ILI922X
tristate "ILI Technology ILI9221/ILI9222 support"
depends on SPI
-diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
-index fcd50b73..1f89974 100644
--- a/drivers/video/backlight/Makefile
+++ b/drivers/video/backlight/Makefile
@@ -5,6 +5,7 @@ obj-$(CONFIG_LCD_CLASS_DEVICE) += lcd.o
@@ -46,9 +42,6 @@ index fcd50b73..1f89974 100644
obj-$(CONFIG_LCD_ILI922X) += ili922x.o
obj-$(CONFIG_LCD_ILI9320) += ili9320.o
obj-$(CONFIG_LCD_L4F00242T03) += l4f00242t03.o
-diff --git a/drivers/video/backlight/ili8960.c b/drivers/video/backlight/ili8960.c
-new file mode 100644
-index 0000000..61eb815
--- /dev/null
+++ b/drivers/video/backlight/ili8960.c
@@ -0,0 +1,262 @@
@@ -314,6 +307,3 @@ index 0000000..61eb815
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("LCD driver for Ilitek ili8960");
+MODULE_ALIAS("spi:ili8960");
---
-1.7.10.4
-
diff --git a/target/linux/xburst/patches-3.18/007-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch b/target/linux/xburst/patches-3.18/007-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch
index aa8a4769d5..b8aac66b3e 100644
--- a/target/linux/xburst/patches-3.18/007-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch
+++ b/target/linux/xburst/patches-3.18/007-qi_lb60-Don-t-use-3-wire-spi-mode-for-the-display-fo.patch
@@ -9,11 +9,9 @@ The spi_gpio driver does not support 3-wire mode.
arch/mips/jz4740/board-qi_lb60.c | 1 -
1 file changed, 1 deletion(-)
-diff --git a/arch/mips/jz4740/board-qi_lb60.c b/arch/mips/jz4740/board-qi_lb60.c
-index c454525..04cf890 100644
--- a/arch/mips/jz4740/board-qi_lb60.c
+++ b/arch/mips/jz4740/board-qi_lb60.c
-@@ -312,7 +312,6 @@ static struct spi_board_info qi_lb60_spi_board_info[] = {
+@@ -312,7 +312,6 @@ static struct spi_board_info qi_lb60_spi
.chip_select = 0,
.bus_num = 1,
.max_speed_hz = 30 * 1000,
@@ -21,6 +19,3 @@ index c454525..04cf890 100644
},
};
---
-1.7.10.4
-