aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/kernel-version.mk4
-rw-r--r--target/linux/at91/Makefile2
-rw-r--r--target/linux/at91/patches-3.14/100-ARM-at91-build-dtb-for-LMU5000.patch4
-rw-r--r--target/linux/at91/patches-3.14/700-tqma9263-support.patch16
-rw-r--r--target/linux/atheros/Makefile2
-rw-r--r--target/linux/bcm53xx/Makefile2
-rw-r--r--target/linux/bcm53xx/patches-3.14/001-mtd-spi-nor.patch2
-rw-r--r--target/linux/brcm47xx/Makefile2
-rw-r--r--target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch2
-rw-r--r--target/linux/brcm47xx/patches-3.14/153-MIPS-BCM47XX-Detect-more-then-128-MiB-of-RAM-HIGHMEM.patch2
-rw-r--r--target/linux/brcm47xx/patches-3.14/830-huawei_e970_support.patch4
-rw-r--r--target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch22
-rw-r--r--target/linux/brcm63xx/Makefile2
-rw-r--r--target/linux/generic/patches-3.14/902-debloat_proc.patch2
-rw-r--r--target/linux/imx6/Makefile2
-rw-r--r--target/linux/ipq806x/Makefile2
-rw-r--r--target/linux/ipq806x/patches/0001-ARM-dts-msm-split-out-msm8660-and-msm8960-soc-into-d.patch13
-rw-r--r--target/linux/ipq806x/patches/0002-ARM-msm-Remove-pen_release-usage.patch22
-rw-r--r--target/linux/ipq806x/patches/0003-ARM-msm-kill-off-hotplug.c.patch16
-rw-r--r--target/linux/ipq806x/patches/0004-clocksource-qcom-Move-clocksource-code-out-of-mach-m.patch19
-rw-r--r--target/linux/ipq806x/patches/0005-ARM-qcom-Split-Qualcomm-support-into-legacy-and-mult.patch71
-rw-r--r--target/linux/ipq806x/patches/0006-clocksource-qcom-split-building-of-legacy-vs-multipl.patch11
-rw-r--r--target/linux/ipq806x/patches/0007-ARM-qcom-Rename-various-msm-prefixed-functions-to-qc.patch15
-rw-r--r--target/linux/ipq806x/patches/0008-ARM-Introduce-CPU_METHOD_OF_DECLARE-for-cpu-hotplug-.patch15
-rw-r--r--target/linux/ipq806x/patches/0009-ARM-qcom-Re-organize-platsmp-to-make-it-extensible.patch20
-rw-r--r--target/linux/ipq806x/patches/0010-devicetree-bindings-Document-Krait-Scorpion-cpus-and.patch9
-rw-r--r--target/linux/ipq806x/patches/0011-devicetree-bindings-Document-qcom-kpss-acc.patch6
-rw-r--r--target/linux/ipq806x/patches/0012-devicetree-bindings-Document-qcom-saw2-node.patch6
-rw-r--r--target/linux/ipq806x/patches/0013-ARM-qcom-Add-SMP-support-for-KPSSv1.patch15
-rw-r--r--target/linux/ipq806x/patches/0014-ARM-qcom-Add-SMP-support-for-KPSSv2.patch9
-rw-r--r--target/linux/ipq806x/patches/0015-tty-serial-msm-Enable-building-msm_serial-for-ARCH_Q.patch5
-rw-r--r--target/linux/ipq806x/patches/0016-drm-msm-drop-ARCH_MSM-Kconfig-depend.patch5
-rw-r--r--target/linux/ipq806x/patches/0017-power-reset-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch5
-rw-r--r--target/linux/ipq806x/patches/0018-hwrng-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch5
-rw-r--r--target/linux/ipq806x/patches/0019-gpio-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch5
-rw-r--r--target/linux/ipq806x/patches/0020-ARM-qcom-Enable-basic-support-for-Qualcomm-platforms.patch5
-rw-r--r--target/linux/ipq806x/patches/0021-ARM-dts-qcom-Add-nodes-necessary-for-SMP-boot.patch9
-rw-r--r--target/linux/ipq806x/patches/0022-ARM-dts-qcom-Add-RNG-device-tree-node.patch5
-rw-r--r--target/linux/ipq806x/patches/0023-ARM-dts-qcom-msm8960-cdp-Add-RNG-device-tree-node.patch5
-rw-r--r--target/linux/ipq806x/patches/0024-ARM-dts-msm-Add-krait-pmu-to-platforms-with-Krait-CP.patch7
-rw-r--r--target/linux/ipq806x/patches/0025-pinctrl-msm-drop-wake_irqs-bitmap.patch7
-rw-r--r--target/linux/ipq806x/patches/0026-pinctrl-msm-Silence-recursive-lockdep-warning.patch9
-rw-r--r--target/linux/ipq806x/patches/0027-pinctrl-msm-Check-for-ngpios-MAX_NR_GPIO.patch7
-rw-r--r--target/linux/ipq806x/patches/0028-pinctrl-msm-Drop-unused-includes.patch9
-rw-r--r--target/linux/ipq806x/patches/0029-pinctrl-msm-Drop-OF_IRQ-dependency.patch5
-rw-r--r--target/linux/ipq806x/patches/0030-pinctrl-msm-Replace-lookup-tables-with-math.patch13
-rw-r--r--target/linux/ipq806x/patches/0031-pinctrl-msm-Remove-impossible-WARN_ON-s.patch21
-rw-r--r--target/linux/ipq806x/patches/0032-pinctrl-msm-Simplify-msm_config_reg-and-callers.patch17
-rw-r--r--target/linux/ipq806x/patches/0033-pinctrl-msm-Support-output-high-low-configuration.patch11
-rw-r--r--target/linux/ipq806x/patches/0034-pinctrl-msm-Add-SPI8-pin-definitions.patch11
-rw-r--r--target/linux/ipq806x/patches/0035-pinctrl-msm-fix-up-out-of-order-merge-conflict.patch7
-rw-r--r--target/linux/ipq806x/patches/0036-pinctrl-msm-Correct-interrupt-code-for-TLMM-v2.patch11
-rw-r--r--target/linux/ipq806x/patches/0037-pinctrl-msm-Make-number-of-functions-variable.patch15
-rw-r--r--target/linux/ipq806x/patches/0038-pinctrl-msm-Add-definitions-for-the-APQ8064-platform.patch12
-rw-r--r--target/linux/ipq806x/patches/0039-pinctrl-msm8x74-make-Kconfig-dependency-more-strict.patch5
-rw-r--r--target/linux/ipq806x/patches/0040-pinctrl-qcom-Add-definitions-for-IPQ8064.patch12
-rw-r--r--target/linux/ipq806x/patches/0041-dt-Document-Qualcomm-IPQ8064-pinctrl-binding.patch6
-rw-r--r--target/linux/ipq806x/patches/0042-ARM-qcom-Select-PINCTRL-by-default-for-ARCH_QCOM.patch5
-rw-r--r--target/linux/ipq806x/patches/0043-pinctrl-qcom-Correct-name-for-pin-0.patch5
-rw-r--r--target/linux/ipq806x/patches/0044-dmaengine-qcom_bam_dma-Add-device-tree-binding.patch6
-rw-r--r--target/linux/ipq806x/patches/0045-dmaengine-add-Qualcomm-BAM-dma-driver.patch10
-rw-r--r--target/linux/ipq806x/patches/0046-mmc-sdhci-msm-Qualcomm-SDHCI-binding-documentation.patch6
-rw-r--r--target/linux/ipq806x/patches/0047-mmc-sdhci-msm-Initial-support-for-Qualcomm-chipsets.patch12
-rw-r--r--target/linux/ipq806x/patches/0048-mmc-sdhci-msm-Add-platform_execute_tuning-implementa.patch5
-rw-r--r--target/linux/ipq806x/patches/0049-drivers-of-add-initialization-code-for-static-reserv.patch17
-rw-r--r--target/linux/ipq806x/patches/0050-drivers-of-add-initialization-code-for-dynamic-reser.patch25
-rw-r--r--target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch15
-rw-r--r--target/linux/ipq806x/patches/0052-arm-add-support-for-reserved-memory-defined-by-devic.patch11
-rw-r--r--target/linux/ipq806x/patches/0053-of-document-bindings-for-reserved-memory-nodes.patch6
-rw-r--r--target/linux/ipq806x/patches/0054-of-only-scan-for-reserved-mem-when-fdt-present.patch7
-rw-r--r--target/linux/ipq806x/patches/0055-spmi-Linux-driver-framework-for-SPMI.patch24
-rw-r--r--target/linux/ipq806x/patches/0056-spmi-Add-MSM-PMIC-Arbiter-SPMI-controller.patch10
-rw-r--r--target/linux/ipq806x/patches/0057-spmi-pmic_arb-add-support-for-interrupt-handling.patch17
-rw-r--r--target/linux/ipq806x/patches/0058-spmi-pmic_arb-make-selectable-on-ARCH_QCOM.patch5
-rw-r--r--target/linux/ipq806x/patches/0059-spmi-pm-drop-bus-level-PM-suspend-resume-routines.patch9
-rw-r--r--target/linux/ipq806x/patches/0060-i2c-qup-New-bus-driver-for-the-Qualcomm-QUP-I2C-cont.patch12
-rw-r--r--target/linux/ipq806x/patches/0061-i2c-qup-Add-device-tree-bindings-information.patch6
-rw-r--r--target/linux/ipq806x/patches/0062-i2c-qup-off-by-ones-in-qup_i2c_probe.patch7
-rw-r--r--target/linux/ipq806x/patches/0063-i2c-qup-use-proper-type-fro-clk_freq.patch7
-rw-r--r--target/linux/ipq806x/patches/0064-i2c-qup-Fix-pm_runtime_get_sync-usage.patch7
-rw-r--r--target/linux/ipq806x/patches/0065-spi-Add-Qualcomm-QUP-SPI-controller-support.patch14
-rw-r--r--target/linux/ipq806x/patches/0066-spi-qup-Add-device-tree-bindings-information.patch6
-rw-r--r--target/linux/ipq806x/patches/0067-spi-qup-Remove-spi_master_put-in-spi_qup_remove.patch7
-rw-r--r--target/linux/ipq806x/patches/0068-spi-qup-Convert-ot-let-spi-core-handle-checking-tran.patch11
-rw-r--r--target/linux/ipq806x/patches/0069-spi-qup-Fix-build-error-due-to-a-typo.patch9
-rw-r--r--target/linux/ipq806x/patches/0070-spi-qup-Enable-driver-compilation-with-COMPILE_TEST.patch7
-rw-r--r--target/linux/ipq806x/patches/0071-spi-qup-Depend-on-ARM-COMPILE_TEST-to-avoid-build-er.patch7
-rw-r--r--target/linux/ipq806x/patches/0072-spi-qup-Remove-module-version.patch7
-rw-r--r--target/linux/ipq806x/patches/0073-spi-qup-Get-rid-of-using-struct-spi_qup_device.patch21
-rw-r--r--target/linux/ipq806x/patches/0074-spi-qup-Depend-on-ARCH_QCOM.patch7
-rw-r--r--target/linux/ipq806x/patches/0075-spi-qup-Correct-selection-of-FIFO-Block-mode.patch9
-rw-r--r--target/linux/ipq806x/patches/0078-clk-qcom-Consolidate-common-probe-code.patch35
-rw-r--r--target/linux/ipq806x/patches/0079-clk-qcom-Add-basic-support-for-APQ8064-global-clock-.patch19
-rw-r--r--target/linux/ipq806x/patches/0080-clk-qcom-Various-fixes-for-MSM8960-s-global-clock-co.patch13
-rw-r--r--target/linux/ipq806x/patches/0081-ARM-config-Add-qcom_defconfig.patch6
-rw-r--r--target/linux/ipq806x/patches/0082-ARM-qcom-Enable-GSBI-driver-in-defconfig.patch5
-rw-r--r--target/linux/ipq806x/patches/0083-soc-Introduce-drivers-soc-place-holder-for-SOC-speci.patch10
-rw-r--r--target/linux/ipq806x/patches/0084-soc-qcom-Add-GSBI-driver.patch17
-rw-r--r--target/linux/ipq806x/patches/0085-soc-qcom-fix-of_device_id-table.patch7
-rw-r--r--target/linux/ipq806x/patches/0086-msm_serial-Add-support-for-poll_-get-put-_char.patch19
-rw-r--r--target/linux/ipq806x/patches/0087-tty-serial-msm-Remove-direct-access-to-GSBI.patch17
-rw-r--r--target/linux/ipq806x/patches/0088-soc-qcom-Add-device-tree-binding-for-GSBI.patch9
-rw-r--r--target/linux/ipq806x/patches/0089-ARM-dts-MSM8974-Add-pinctrl-node.patch5
-rw-r--r--target/linux/ipq806x/patches/0090-ARM-dts-msm-Add-SDHC-controller-nodes-for-MSM8974-an.patch7
-rw-r--r--target/linux/ipq806x/patches/0091-ARM-dts-qcom-Update-msm8974-apq8074-device-trees.patch7
-rw-r--r--target/linux/ipq806x/patches/0092-ARM-dts-qcom-Update-msm8960-device-trees.patch7
-rw-r--r--target/linux/ipq806x/patches/0093-ARM-dts-qcom-Update-msm8660-device-trees.patch79
-rw-r--r--target/linux/ipq806x/patches/0094-ARM-dts-qcom-Add-initial-APQ8064-SoC-and-IFC6410-boa.patch18
-rw-r--r--target/linux/ipq806x/patches/0095-ARM-dts-qcom-Add-APQ8084-MTP-board-support.patch10
-rw-r--r--target/linux/ipq806x/patches/0096-ARM-dts-qcom-Add-APQ8084-SoC-support.patch8
-rw-r--r--target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch9
-rw-r--r--target/linux/ipq806x/patches/0098-ARM-debug-qcom-add-UART-addresses-to-Kconfig-help-fo.patch5
-rw-r--r--target/linux/ipq806x/patches/0099-ARM-qcom-Enable-ARM_AMBA-option-for-Qualcomm-SOCs.patch5
-rw-r--r--target/linux/ipq806x/patches/0100-clk-qcom-Fix-msm8660-GCC-probe.patch7
-rw-r--r--target/linux/ipq806x/patches/0101-clk-qcom-Fix-blsp2_ahb_clk-register-offset.patch7
-rw-r--r--target/linux/ipq806x/patches/0104-clk-qcom-Return-highest-rate-when-round_rate-exceeds.patch7
-rw-r--r--target/linux/ipq806x/patches/0105-clk-qcom-Support-display-RCG-clocks.patch11
-rw-r--r--target/linux/ipq806x/patches/0106-clk-qcom-Properly-support-display-clocks-on-msm8974.patch15
-rw-r--r--target/linux/ipq806x/patches/0107-clk-qcom-Support-msm8974pro-global-clock-control-har.patch17
-rw-r--r--target/linux/ipq806x/patches/0108-clk-qcom-Return-error-pointers-for-unimplemented-clo.patch7
-rw-r--r--target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch49
-rw-r--r--target/linux/ipq806x/patches/0110-ahci-platform-Add-support-for-devices-with-more-then.patch27
-rw-r--r--target/linux/ipq806x/patches/0111-ahci-platform-Add-support-for-an-optional-regulator-.patch23
-rw-r--r--target/linux/ipq806x/patches/0112-ahci-platform-Add-enable_-disable_resources-helper-f.patch23
-rw-r--r--target/linux/ipq806x/patches/0113-ata-delete-non-required-instances-of-include-linux-i.patch139
-rw-r--r--target/linux/ipq806x/patches/0114-ahci-platform-Library-ise-ahci_probe-functionality.patch43
-rw-r--r--target/linux/ipq806x/patches/0115-ahci-platform-Library-ise-suspend-resume-functionali.patch17
-rw-r--r--target/linux/ipq806x/patches/0116-ata-ahci_platform-Add-DT-compatible-for-Synopsis-DWC.patch7
-rw-r--r--target/linux/ipq806x/patches/0117-ata-ahci_platform-Manage-SATA-PHY.patch19
-rw-r--r--target/linux/ipq806x/patches/0118-ata-ahci_platform-runtime-resume-the-device-before-u.patch15
-rw-r--r--target/linux/ipq806x/patches/0119-ahci_platform-Drop-support-for-ahci-strict-platform-.patch11
-rw-r--r--target/linux/ipq806x/patches/0120-ahci_platform-Drop-support-for-imx53-ahci-platform-d.patch11
-rw-r--r--target/linux/ipq806x/patches/0121-ahci_platform-Drop-unused-ahci_platform_data-members.patch11
-rw-r--r--target/linux/ipq806x/patches/0122-ata-ahci_platform-fix-devm_ioremap_resource-return-v.patch9
-rw-r--r--target/linux/ipq806x/patches/0123-ata-ahci_platform-fix-ahci_platform_data-suspend-met.patch7
-rw-r--r--target/linux/ipq806x/patches/0124-ata-move-library-code-from-ahci_platform.c-to-libahc.patch14
-rw-r--r--target/linux/ipq806x/patches/0125-clk-qcom-Add-support-for-IPQ8064-s-global-clock-cont.patch18
-rw-r--r--target/linux/ipq806x/patches/0126-clk-Add-safe-switch-hook.patch19
-rw-r--r--target/linux/ipq806x/patches/0127-clk-qcom-Add-support-for-setting-rates-on-PLLs.patch9
-rw-r--r--target/linux/ipq806x/patches/0128-clk-qcom-Add-support-for-banked-MD-RCGs.patch21
-rw-r--r--target/linux/ipq806x/patches/0129-clk-qcom-Add-support-for-NSS-GMAC-clocks-and-resets.patch21
-rw-r--r--target/linux/ipq806x/patches/0130-ARM-qcom-Add-initial-IPQ8064-SoC-and-AP148-device-tr.patch18
-rw-r--r--target/linux/ipq806x/patches/0131-ARM-qcom-config-Enable-IPQ806x-support.patch5
-rw-r--r--target/linux/ipq806x/patches/0132-XXX-Add-boot-support-for-u-boot.ipq-image.patch9
-rw-r--r--target/linux/ipq806x/patches/0133-spi-qup-Remove-chip-select-function.patch11
-rw-r--r--target/linux/ipq806x/patches/0134-spi-qup-Fix-order-of-spi_register_master.patch7
-rw-r--r--target/linux/ipq806x/patches/0135-spi-qup-Add-support-for-v1.1.1.patch23
-rw-r--r--target/linux/ipq806x/patches/0136-ARM-ipq8064-ap148-Add-i2c-pinctrl-nodes.patch7
-rw-r--r--target/linux/ipq806x/patches/0137-ARM-qcom-ipq8064-ap148-Add-SPI-related-bindings.patch7
-rw-r--r--target/linux/ipq806x/patches/0138-PCI-qcom-Add-support-for-pcie-controllers-on-IPQ8064.patch10
-rw-r--r--target/linux/ipq806x/patches/0139-ARM-dts-msm-Add-PCIe-related-nodes-for-IPQ8064-AP148.patch7
-rw-r--r--target/linux/ipq806x/patches/0140-ARM-qcom-config-Enable-PCI-support-for-IPQ806x.patch5
-rw-r--r--target/linux/ipq806x/patches/0141-ahci-platform-Bump-max-number-of-clocks-to-5.patch5
-rw-r--r--target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch10
-rw-r--r--target/linux/ipq806x/patches/0143-ata-qcom-Add-device-tree-bindings-information.patch6
-rw-r--r--target/linux/ipq806x/patches/0144-phy-qcom-Add-driver-for-QCOM-IPQ806x-SATA-PHY.patch12
-rw-r--r--target/linux/ipq806x/patches/0145-phy-qcom-Add-device-tree-bindings-information.patch6
-rw-r--r--target/linux/ipq806x/patches/0146-ARM-dts-qcom-Add-SATA-support-for-IPQ8064-and-AP148-.patch7
-rw-r--r--target/linux/ipq806x/patches/0147-ARM-qcom-Enable-SATA-SATA-PHY-drivers-in-defconfig.patch5
-rw-r--r--target/linux/ipq806x/patches/0148-ARM-qcom-enable-default-CPU_IDLE-to-get-wfi-support-.patch5
-rw-r--r--target/linux/ipq806x/patches/0149-pinctrl-qcom-Add-BUS_HOLD-Keeper-bias.patch13
-rw-r--r--target/linux/ipq806x/patches/0150-mtd-nand-Add-Qualcomm-NAND-controller.patch21
-rw-r--r--target/linux/ipq806x/patches/0151-ARM-ipq8064-Add-nand-device-info.patch7
-rw-r--r--target/linux/ipq806x/patches/0152-ARM-qcom-config-Add-NAND-config-options.patch5
-rw-r--r--target/linux/ipq806x/patches/0153-soc-qcom-tcsr-Add-TCSR-driver.patch16
-rw-r--r--target/linux/ipq806x/patches/0154-clk-qcom-Correct-UTMI-clock-frequency-table.patch7
-rw-r--r--target/linux/ipq806x/patches/0155-clk-qcom-Fix-incorrect-UTMI-DT-include-values.patch5
-rw-r--r--target/linux/ipq806x/patches/0156-usb-dwc3-Add-Qualcomm-DWC3-glue-layer-driver.patch10
-rw-r--r--target/linux/ipq806x/patches/0157-usb-phy-Add-Qualcomm-DWC3-HS-SS-PHY-drivers.patch15
-rw-r--r--target/linux/ipq806x/patches/0158-usb-dwc3-qcom-Add-device-tree-binding.patch6
-rw-r--r--target/linux/ipq806x/patches/0159-arm-ipq8064-Add-USB3-DT-information.patch7
-rw-r--r--target/linux/ipq806x/patches/0160-ARM-qcom-config-Add-TCSR-and-USB3-options.patch5
-rw-r--r--target/linux/ipq806x/patches/0161-ARM-Remove-ARCH_HAS_CPUFREQ-config-option.patch45
-rw-r--r--target/linux/ipq806x/patches/0162-PM-OPP-Remove-ARCH_HAS_OPP.patch21
-rw-r--r--target/linux/ipq806x/patches/0163-clk-return-probe-defer-when-DT-clock-not-yet-ready.patch9
-rw-r--r--target/linux/ipq806x/patches/0164-ARM-Add-Krait-L2-register-accessor-functions.patch13
-rw-r--r--target/linux/ipq806x/patches/0165-clk-qcom-Add-support-for-muxes-dividers-and-mux-divi.patch11
-rw-r--r--target/linux/ipq806x/patches/0166-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch11
-rw-r--r--target/linux/ipq806x/patches/0167-clk-qcom-Add-HFPLL-driver.patch12
-rw-r--r--target/linux/ipq806x/patches/0168-clk-qcom-Add-MSM8960-s-HFPLLs.patch7
-rw-r--r--target/linux/ipq806x/patches/0169-clk-qcom-Add-support-for-Krait-clocks.patch13
-rw-r--r--target/linux/ipq806x/patches/0170-clk-qcom-Add-KPSS-ACC-GCC-driver.patch12
-rw-r--r--target/linux/ipq806x/patches/0171-clk-qcom-Add-Krait-clock-controller-driver.patch12
-rw-r--r--target/linux/ipq806x/patches/0172-cpufreq-Add-a-cpufreq-krait-based-on-cpufreq-cpu0.patch12
-rw-r--r--target/linux/ipq806x/patches/0173-cpufreq-Add-module-to-register-cpufreq-krait-device.patch12
-rw-r--r--target/linux/ipq806x/patches/0174-clk-qcom-Add-HFPLLs-to-IPQ806X-driver.patch7
-rw-r--r--target/linux/ipq806x/patches/0175-ARM-dts-ipq8064-Add-necessary-DT-data-for-Krait-cpuf.patch5
-rw-r--r--target/linux/ipq806x/patches/0176-ARM-qcom_defconfig-Enable-CPUfreq-options.patch5
-rw-r--r--target/linux/ipq806x/patches/0177-dmaengine-Add-QCOM-ADM-DMA-driver.patch10
-rw-r--r--target/linux/ipq806x/patches/0178-dmaengine-qcom_adm-Add-device-tree-binding.patch6
-rw-r--r--target/linux/ipq806x/patches/0179-spi-qup-Add-DMA-capabilities.patch25
-rw-r--r--target/linux/ipq806x/patches/0180-ARM-dts-Add-ADM-DMA-nodes-and-SPI-linkage.patch7
-rw-r--r--target/linux/ipq806x/patches/0181-mtd-nand-qcom-Align-clk-and-reset-names.patch9
-rw-r--r--target/linux/ipq806x/patches/0182-qcom-Kconfig-Make-drivers-mutually-exclusive.patch7
-rw-r--r--target/linux/kirkwood/Makefile2
-rw-r--r--target/linux/mvebu/Makefile2
-rw-r--r--target/linux/mxs/Makefile2
-rw-r--r--target/linux/octeon/Makefile3
-rw-r--r--target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch10
-rw-r--r--target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch10
-rw-r--r--target/linux/ramips/Makefile2
-rw-r--r--target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch8
-rw-r--r--target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch10
-rw-r--r--target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch30
-rw-r--r--target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch6
-rw-r--r--target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch13
-rw-r--r--target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch10
-rw-r--r--target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch17
-rw-r--r--target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch11
-rw-r--r--target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch5
-rw-r--r--target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch7
-rw-r--r--target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch76
-rw-r--r--target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch12
-rw-r--r--target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch12
-rw-r--r--target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch13
-rw-r--r--target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch66
-rw-r--r--target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch154
-rw-r--r--target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch22
-rw-r--r--target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch40
-rw-r--r--target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch64
-rw-r--r--target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch150
-rw-r--r--target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch9
-rw-r--r--target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch13
-rw-r--r--target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch11
-rw-r--r--target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch48
-rw-r--r--target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch6
-rw-r--r--target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch14
-rw-r--r--target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch6
-rw-r--r--target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch14
-rw-r--r--target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch23
-rw-r--r--target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch28
-rw-r--r--target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch15
-rw-r--r--target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch18
-rw-r--r--target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch25
-rw-r--r--target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch14
-rw-r--r--target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch21
-rw-r--r--target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch21
-rw-r--r--target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch8
-rw-r--r--target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch2
-rw-r--r--target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch4
-rw-r--r--target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch10
-rw-r--r--target/linux/sunxi/Makefile2
-rw-r--r--target/linux/sunxi/patches-3.14/100-dt-sun4i-add-missing-serial-aliases.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/101-dt-sun6i-add-missing-serial-aliases.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/102-dt-sun7i-add-missing-serial-aliases.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/103-dt-sun5i-add-missing-serial-aliases.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/104-dt-sun7i-add-pinmuxing-for-uart2.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/105-dt-sun4i-add-linksprite-pcduino.patch8
-rw-r--r--target/linux/sunxi/patches-3.14/106-dt-sun7i-add-arch-timer-node.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/107-dt-sun4i-add-a10-lime.patch8
-rw-r--r--target/linux/sunxi/patches-3.14/110-dt-sun6i-add-pll-and-spi-modclocks.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/111-dt-sun4i-rename-clocknodes.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/112-dt-sun5i-rename-clocknodes.patch23
-rw-r--r--target/linux/sunxi/patches-3.14/113-dt-sun6i-rename-clocknodes.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/114-dt-sun7i-rename-clocknodes.patch23
-rw-r--r--target/linux/sunxi/patches-3.14/115-dt-sun6i-fix-mod0-compat.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/120-dt-sun7i-add-gmac-clocknode.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/121-dt-sun7i-add-gmac-ctrlnode.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/122-dt-sun7i-add-pinmuxing-for-gmac.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/123-dt-sun7i-cubietruck-enable-gmac.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/124-dt-sun7i-cubieboard2-enable-gmac.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/125-dt-sun7i-olinuxinom-enable-gmac.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/126-dt-sun7i-add-eth-alias-for-gmac.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/130-dt-sun4i-add-usbclock-bindings.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/131-dt-sun5i-add-usbclock-bindings.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/132-dt-sun7i-add-usbclock-bindings.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/135-pinctrl-fixes.patch29
-rw-r--r--target/linux/sunxi/patches-3.14/136-1-irqchip-sun4i-fixes.patch304
-rw-r--r--target/linux/sunxi/patches-3.14/137-1-pinctrl-create-irq-pin-mapping.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/137-2-pinctrl-add-IRQCHIP_SKIP_SET_WAKE.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/137-3-dt-sun7i-add-interrupt-cells.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/140-dt-sunxi-convert-to-new-clock-compats.patch61
-rw-r--r--target/linux/sunxi/patches-3.14/141-dt-sunxi-add-common-regulator-include.patch6
-rw-r--r--target/linux/sunxi/patches-3.14/145-1-dt-sun7i-add-a20-spi.patch19
-rw-r--r--target/linux/sunxi/patches-3.14/145-2-dt-sun4i-add-a10-spi.patch19
-rw-r--r--target/linux/sunxi/patches-3.14/145-3-dt-sun5i-add-a13-spi.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/146-1-spi-add-a31-spi.patch17
-rw-r--r--target/linux/sunxi/patches-3.14/146-2-spi-add-a10-spi.patch17
-rw-r--r--target/linux/sunxi/patches-3.14/147-sun6i-enable-spi-in-defconfig.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/148-dt-sun7i-add-spi-muxing.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/149-dt-sun7i-add-spi-on-olinuxinom.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/150-dt-sun4i-add-ahci.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/151-dt-sun7i-add-ahci.patch13
-rw-r--r--target/linux/sunxi/patches-3.14/155-wdt-add-new-compats.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/156-dt-sunxi-update-wdt-compats.patch21
-rw-r--r--target/linux/sunxi/patches-3.14/160-dt-sun4i-add-usb-host-bindings.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/161-dt-sun5i-add-usb-host-bindings.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/162-dt-sun7i-add-usb-host-bindings.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/163-dt-sun4i-add-usb-host-to-boards.patch61
-rw-r--r--target/linux/sunxi/patches-3.14/164-dt-sun5i-add-usb-host-to-boards.patch22
-rw-r--r--target/linux/sunxi/patches-3.14/165-dt-sun7i-add-usb-host-to-boards.patch42
-rw-r--r--target/linux/sunxi/patches-3.14/170-input-add-sun4i-ts-driver.patch15
-rw-r--r--target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch24
-rw-r--r--target/linux/sunxi/patches-3.14/172-input-add-lradc-keys-driver.patch15
-rw-r--r--target/linux/sunxi/patches-3.14/173-1-dt-sun4i-add-lradc-node.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/173-2-dt-sun5i-add-lradc-node.patch15
-rw-r--r--target/linux/sunxi/patches-3.14/173-3-dt-sun7i-add-lradc-node.patch11
-rw-r--r--target/linux/sunxi/patches-3.14/175-reset-add-of_reset_control_get.patch15
-rw-r--r--target/linux/sunxi/patches-3.14/176-clk-sun5i-add-support-for-reset-ctrler.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/180-clk-sunxi-add-clock-output-names-dt-prop-support.patch11
-rw-r--r--target/linux/sunxi/patches-3.14/181-clk-sunxi-add-names-for-pll56.patch11
-rw-r--r--target/linux/sunxi/patches-3.14/182-clk-sunxi-add-support-for-usb-clockreg-reset.patch13
-rw-r--r--target/linux/sunxi/patches-3.14/182-clk-sunxi-get-divs-parent-clockname.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/183-clk-sunxi-add-usb-clockreg-defs.patch17
-rw-r--r--target/linux/sunxi/patches-3.14/184-clk-sunxi-add-pll6-on-a31.patch19
-rw-r--r--target/linux/sunxi/patches-3.14/185-clk-sunxi-add-a20-a31-gmac-clock.patch17
-rw-r--r--target/linux/sunxi/patches-3.14/186-clk-sunxi-add-new-clock-compats.patch27
-rw-r--r--target/linux/sunxi/patches-3.14/187-clk-sunxi-automatic-reparenting.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/188-clk-sunxi-implement-mmc-phasectrl.patch10
-rw-r--r--target/linux/sunxi/patches-3.14/190-ahci-libahci-changes.patch927
-rw-r--r--target/linux/sunxi/patches-3.14/191-ahci-add-sunxi-driver.patch14
-rw-r--r--target/linux/sunxi/patches-3.14/192-ahci-platform-changes.patch207
-rw-r--r--target/linux/sunxi/patches-3.14/195-1-ohci-plat-changes.patch211
-rw-r--r--target/linux/sunxi/patches-3.14/195-2-ehci-plat-changes.patch248
-rw-r--r--target/linux/sunxi/patches-3.14/195-3-uhci-plat-changes.patch13
-rw-r--r--target/linux/sunxi/patches-3.14/195-4-xhci-plat-changes.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/196-usb-add-sunxi-phy-driver.patch15
-rw-r--r--target/linux/sunxi/patches-3.14/200-mmc-add-driver.patch17
-rw-r--r--target/linux/sunxi/patches-3.14/201-dt-sun4i-add-mmc-nodes_NEED_REFRESH.patch36
-rw-r--r--target/linux/sunxi/patches-3.14/202-dt-sun5i-add-mmc-nodes.patch17
-rw-r--r--target/linux/sunxi/patches-3.14/203-dt-sun7i-add-mmc-nodes.patch15
-rw-r--r--target/linux/sunxi/patches-3.14/205-nmi-add-driver.patch10
-rw-r--r--target/linux/sunxi/patches-3.14/206-dt-sun67i-add-nmi-irqchip.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/210-mfd-add-axp20x-pmic-driver.patch17
-rw-r--r--target/linux/sunxi/patches-3.14/211-input-add-axp20x-power-enable-key-support.patch14
-rw-r--r--target/linux/sunxi/patches-3.14/212-regulator-add-axp20x-regulator-support.patch14
-rw-r--r--target/linux/sunxi/patches-3.14/213-dt-sunxi-add-x-powers.patch6
-rw-r--r--target/linux/sunxi/patches-3.14/214-1-dt-sun7i-add-axp209-to-cubieboard2.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/214-2-dt-sun4i-add-axp209-to-boards.patch23
-rw-r--r--target/linux/sunxi/patches-3.14/214-3-dt-sun7i-add-axp209-to-cubietruck.patch13
-rw-r--r--target/linux/sunxi/patches-3.14/215-2-dt-sun5i-add-address-and-sizecells-to-i2c.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/215-3-dt-sun7i-add-address-and-sizecells-to-i2c.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/215-dt-sun4i-add-address-and-sizecells-to-i2c.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/216-dt-sun7i-add-i2c-to-cubietruck.patch11
-rw-r--r--target/linux/sunxi/patches-3.14/220-clk-sunxi-remove-calls-to-clk_put.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/230-net-rfkill-changes.patch247
-rw-r--r--target/linux/sunxi/patches-3.14/231-1-brcmfmac-fix-sdio-sending.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/231-2-brcmfmac-fix-use-of-skb-ctrlbuf-in-SDIO.patch13
-rw-r--r--target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch13
-rw-r--r--target/linux/sunxi/patches-3.14/232-2-dt-sun7i-add-bluetooth-to-cubietruck.patch13
-rw-r--r--target/linux/sunxi/patches-3.14/250-pwm-add-driver.patch11
-rw-r--r--target/linux/sunxi/patches-3.14/251-1-dt-sun4i-add-pinmux-for-pwm.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/251-2-dt-sun7i-add-pinmux-for-pwm.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/252-1-dt-sun4i-add-pwm-support.patch11
-rw-r--r--target/linux/sunxi/patches-3.14/252-2-dt-sun7i-add-pwm-support.patch9
-rw-r--r--target/linux/sunxi/patches-3.14/260-dt-sun7i-enable-arm-pmu.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/270-dt-sun7i-add-ss-to-a20.patch6
-rw-r--r--target/linux/sunxi/patches-3.14/271-crypto-add-ss.patch29
-rw-r--r--target/linux/sunxi/patches-3.14/300-dt-sun7i-add-pcduino3.patch12
-rw-r--r--target/linux/sunxi/patches-3.14/301-dt-sun7i-update-pcduino3.patch5
-rw-r--r--target/linux/sunxi/patches-3.14/302-dt-sun7i-add-bananapi-Makefile.patch7
-rw-r--r--target/linux/sunxi/patches-3.14/303-dt-sun7i-update-bananapi.patch5
-rw-r--r--target/linux/uml/Makefile2
-rw-r--r--target/linux/x86_64/Makefile2
376 files changed, 1328 insertions, 5692 deletions
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index e151eedefb..3afe9532b8 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -14,8 +14,8 @@ endif
ifeq ($(LINUX_VERSION),3.13.7)
LINUX_KERNEL_MD5SUM:=370adced5e5c1cb1d0d621c2dae2723f
endif
-ifeq ($(LINUX_VERSION),3.14.16)
- LINUX_KERNEL_MD5SUM:=469c879236ed694f60b81122e91ca02e
+ifeq ($(LINUX_VERSION),3.14.18)
+ LINUX_KERNEL_MD5SUM:=3b002a06d0964d8101abec768c2d4eef
endif
# disable the md5sum check for unknown kernel versions
diff --git a/target/linux/at91/Makefile b/target/linux/at91/Makefile
index 1c96492dac..c7e67fec01 100644
--- a/target/linux/at91/Makefile
+++ b/target/linux/at91/Makefile
@@ -13,7 +13,7 @@ BOARDNAME:=Atmel AT91
FEATURES:=squashfs targz ext2 usb
SUBTARGETS:=legacy sama5d3
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/at91/patches-3.14/100-ARM-at91-build-dtb-for-LMU5000.patch b/target/linux/at91/patches-3.14/100-ARM-at91-build-dtb-for-LMU5000.patch
index c631f8d588..e8cc68d13d 100644
--- a/target/linux/at91/patches-3.14/100-ARM-at91-build-dtb-for-LMU5000.patch
+++ b/target/linux/at91/patches-3.14/100-ARM-at91-build-dtb-for-LMU5000.patch
@@ -1,7 +1,7 @@
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -23,6 +23,7 @@ dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb
- dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb
+@@ -26,6 +26,7 @@ dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb
+ dtb-$(CONFIG_ARCH_AT91) += usb_a9g20_lpw.dtb
# sam9g45
dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb
+dtb-$(CONFIG_ARCH_AT91) += lmu5000.dtb
diff --git a/target/linux/at91/patches-3.14/700-tqma9263-support.patch b/target/linux/at91/patches-3.14/700-tqma9263-support.patch
index fac71b43d6..5c042dacb9 100644
--- a/target/linux/at91/patches-3.14/700-tqma9263-support.patch
+++ b/target/linux/at91/patches-3.14/700-tqma9263-support.patch
@@ -1,8 +1,6 @@
-Index: linux-3.14.16/arch/arm/mach-at91/Kconfig.non_dt
-===================================================================
---- linux-3.14.16.orig/arch/arm/mach-at91/Kconfig.non_dt 2014-08-31 13:36:59.849640477 -0700
-+++ linux-3.14.16/arch/arm/mach-at91/Kconfig.non_dt 2014-08-31 13:36:59.845640477 -0700
-@@ -281,6 +281,12 @@
+--- a/arch/arm/mach-at91/Kconfig.non_dt
++++ b/arch/arm/mach-at91/Kconfig.non_dt
+@@ -281,6 +281,12 @@ config MACH_AT91SAM9G10EK
Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
@@ -15,11 +13,9 @@ Index: linux-3.14.16/arch/arm/mach-at91/Kconfig.non_dt
endif
# ----------------------------------------------------------
-Index: linux-3.14.16/arch/arm/mach-at91/Makefile
-===================================================================
---- linux-3.14.16.orig/arch/arm/mach-at91/Makefile 2014-08-31 13:36:59.849640477 -0700
-+++ linux-3.14.16/arch/arm/mach-at91/Makefile 2014-08-31 13:37:27.125639720 -0700
-@@ -62,6 +62,7 @@
+--- a/arch/arm/mach-at91/Makefile
++++ b/arch/arm/mach-at91/Makefile
+@@ -62,6 +62,7 @@ obj-$(CONFIG_MACH_AT91SAM9G10EK) += boar
# AT91SAM9263 board-specific support
obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o
diff --git a/target/linux/atheros/Makefile b/target/linux/atheros/Makefile
index 1cfb6a6c74..9ebbd34cb4 100644
--- a/target/linux/atheros/Makefile
+++ b/target/linux/atheros/Makefile
@@ -11,7 +11,7 @@ BOARD:=atheros
BOARDNAME:=Atheros AR231x/AR5312
FEATURES:=squashfs low_mem
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/bcm53xx/Makefile b/target/linux/bcm53xx/Makefile
index f9d7e32454..938bbaf6e9 100644
--- a/target/linux/bcm53xx/Makefile
+++ b/target/linux/bcm53xx/Makefile
@@ -13,7 +13,7 @@ FEATURES:=squashfs usb pci pcie gpio
MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
CPU_TYPE:=cortex-a9
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/bcm53xx/patches-3.14/001-mtd-spi-nor.patch b/target/linux/bcm53xx/patches-3.14/001-mtd-spi-nor.patch
index fb916caf1f..f14de337da 100644
--- a/target/linux/bcm53xx/patches-3.14/001-mtd-spi-nor.patch
+++ b/target/linux/bcm53xx/patches-3.14/001-mtd-spi-nor.patch
@@ -3,7 +3,7 @@ This patch does not contain any further code not in this mainline kernel.
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
-@@ -394,6 +394,8 @@ source "drivers/mtd/onenand/Kconfig"
+@@ -371,6 +371,8 @@ source "drivers/mtd/onenand/Kconfig"
source "drivers/mtd/lpddr/Kconfig"
diff --git a/target/linux/brcm47xx/Makefile b/target/linux/brcm47xx/Makefile
index 1daa6a478b..c15ba1c682 100644
--- a/target/linux/brcm47xx/Makefile
+++ b/target/linux/brcm47xx/Makefile
@@ -13,7 +13,7 @@ FEATURES:=squashfs usb
SUBTARGETS:=generic mips74k legacy
MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch b/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch
index e5bdb97b6c..ea15933ea9 100644
--- a/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch
+++ b/target/linux/brcm47xx/patches-3.14/128-MIPS-BCM47XX-Add-new-file-for-device-specific-workar.patch
@@ -34,7 +34,7 @@ V2: Drop pr_debug for devices we don't need workarounds for. It was too
#endif
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
-@@ -282,6 +282,7 @@ static int __init bcm47xx_register_bus_c
+@@ -286,6 +286,7 @@ static int __init bcm47xx_register_bus_c
}
bcm47xx_buttons_register();
bcm47xx_leds_register();
diff --git a/target/linux/brcm47xx/patches-3.14/153-MIPS-BCM47XX-Detect-more-then-128-MiB-of-RAM-HIGHMEM.patch b/target/linux/brcm47xx/patches-3.14/153-MIPS-BCM47XX-Detect-more-then-128-MiB-of-RAM-HIGHMEM.patch
index 777e93bd5a..2504f41967 100644
--- a/target/linux/brcm47xx/patches-3.14/153-MIPS-BCM47XX-Detect-more-then-128-MiB-of-RAM-HIGHMEM.patch
+++ b/target/linux/brcm47xx/patches-3.14/153-MIPS-BCM47XX-Detect-more-then-128-MiB-of-RAM-HIGHMEM.patch
@@ -132,7 +132,7 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+#endif /* defined(CONFIG_BCM47XX_BCMA) && defined(CONFIG_HIGHMEM) */
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
-@@ -227,6 +227,9 @@ void __init plat_mem_setup(void)
+@@ -231,6 +231,9 @@ void __init plat_mem_setup(void)
bcm47xx_bus_type = BCM47XX_BUS_TYPE_BCMA;
bcm47xx_register_bcma();
bcm47xx_set_system_type(bcm47xx_bus.bcma.bus.chipinfo.id);
diff --git a/target/linux/brcm47xx/patches-3.14/830-huawei_e970_support.patch b/target/linux/brcm47xx/patches-3.14/830-huawei_e970_support.patch
index ee35eed6ad..5425d049cb 100644
--- a/target/linux/brcm47xx/patches-3.14/830-huawei_e970_support.patch
+++ b/target/linux/brcm47xx/patches-3.14/830-huawei_e970_support.patch
@@ -8,7 +8,7 @@
#include <asm/bootinfo.h>
#include <asm/idle.h>
#include <asm/prom.h>
-@@ -278,6 +279,33 @@ static struct fixed_phy_status bcm47xx_f
+@@ -282,6 +283,33 @@ static struct fixed_phy_status bcm47xx_f
.duplex = DUPLEX_FULL,
};
@@ -42,7 +42,7 @@
static int __init bcm47xx_register_bus_complete(void)
{
switch (bcm47xx_bus_type) {
-@@ -297,6 +325,7 @@ static int __init bcm47xx_register_bus_c
+@@ -301,6 +329,7 @@ static int __init bcm47xx_register_bus_c
bcm47xx_workarounds();
fixed_phy_add(PHY_POLL, 0, &bcm47xx_fixed_phy_status);
diff --git a/target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch b/target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch
deleted file mode 100644
index f8d923916d..0000000000
--- a/target/linux/brcm47xx/patches-3.14/960-fix-phy-device.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This fixes a problem introduced in this commit:
-
-commit 87aa9f9c61ad56d505641681812e92ad976f8608
-Author: Florian Fainelli <f.fainelli@gmail.com>
-Date: Fri Dec 6 13:01:34 2013 -0800
-
- net: phy: consolidate PHY reset in phy_init_hw()
-
-The fixups are not executed before the switch gets registered but after
-the kernel searches for the right switch driver. When the search is
-executed it searches for the phy_id 0x00, because it was not fixed.
-
---- a/drivers/net/phy/phy_device.c
-+++ b/drivers/net/phy/phy_device.c
-@@ -353,6 +353,7 @@ int phy_device_register(struct phy_devic
- phydev->bus->phy_map[phydev->addr] = phydev;
-
- /* Run all of the fixups for this PHY */
-+ phy_scan_fixups(phydev);
- err = phy_init_hw(phydev);
- if (err) {
- pr_err("PHY %d failed to initialize\n", phydev->addr);
diff --git a/target/linux/brcm63xx/Makefile b/target/linux/brcm63xx/Makefile
index fb003006dd..c7fdfe60be 100644
--- a/target/linux/brcm63xx/Makefile
+++ b/target/linux/brcm63xx/Makefile
@@ -11,7 +11,7 @@ BOARD:=brcm63xx
BOARDNAME:=Broadcom BCM63xx
SUBTARGETS:=generic smp
FEATURES:=squashfs usb atm pci pcmcia usbgadget
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/generic/patches-3.14/902-debloat_proc.patch b/target/linux/generic/patches-3.14/902-debloat_proc.patch
index 7903170849..541f04620f 100644
--- a/target/linux/generic/patches-3.14/902-debloat_proc.patch
+++ b/target/linux/generic/patches-3.14/902-debloat_proc.patch
@@ -239,7 +239,7 @@
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -421,6 +421,9 @@ static struct pernet_operations ip_rt_pr
+@@ -422,6 +422,9 @@ static struct pernet_operations ip_rt_pr
static int __init ip_rt_proc_init(void)
{
diff --git a/target/linux/imx6/Makefile b/target/linux/imx6/Makefile
index d9544cf881..1e64fd7bce 100644
--- a/target/linux/imx6/Makefile
+++ b/target/linux/imx6/Makefile
@@ -14,7 +14,7 @@ CPU_TYPE:=cortex-a9
CPU_SUBTYPE:=neon
MAINTAINER:=Luka Perkov <luka@openwrt.org>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/ipq806x/Makefile b/target/linux/ipq806x/Makefile
index 38f342feb6..6207c9126f 100644
--- a/target/linux/ipq806x/Makefile
+++ b/target/linux/ipq806x/Makefile
@@ -9,7 +9,7 @@ FEATURES:=squashfs
CPU_TYPE:=cortex-a7
MAINTAINER:=John Crispin <blogic@openwrt.org>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
KERNELNAME="Image dtbs"
diff --git a/target/linux/ipq806x/patches/0001-ARM-dts-msm-split-out-msm8660-and-msm8960-soc-into-d.patch b/target/linux/ipq806x/patches/0001-ARM-dts-msm-split-out-msm8660-and-msm8960-soc-into-d.patch
index 52d4cf313e..97c89b219a 100644
--- a/target/linux/ipq806x/patches/0001-ARM-dts-msm-split-out-msm8660-and-msm8960-soc-into-d.patch
+++ b/target/linux/ipq806x/patches/0001-ARM-dts-msm-split-out-msm8660-and-msm8960-soc-into-d.patch
@@ -18,8 +18,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
create mode 100644 arch/arm/boot/dts/qcom-msm8660.dtsi
create mode 100644 arch/arm/boot/dts/qcom-msm8960.dtsi
-diff --git a/arch/arm/boot/dts/qcom-msm8660-surf.dts b/arch/arm/boot/dts/qcom-msm8660-surf.dts
-index 68a72f5..169bad9 100644
--- a/arch/arm/boot/dts/qcom-msm8660-surf.dts
+++ b/arch/arm/boot/dts/qcom-msm8660-surf.dts
@@ -1,63 +1,6 @@
@@ -87,9 +85,6 @@ index 68a72f5..169bad9 100644
- qcom,controller-type = "pmic-arbiter";
- };
};
-diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
-new file mode 100644
-index 0000000..69d6c4e
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -0,0 +1,63 @@
@@ -156,8 +151,6 @@ index 0000000..69d6c4e
+ qcom,controller-type = "pmic-arbiter";
+ };
+};
-diff --git a/arch/arm/boot/dts/qcom-msm8960-cdp.dts b/arch/arm/boot/dts/qcom-msm8960-cdp.dts
-index 7c30de4..a58fb88 100644
--- a/arch/arm/boot/dts/qcom-msm8960-cdp.dts
+++ b/arch/arm/boot/dts/qcom-msm8960-cdp.dts
@@ -1,70 +1,6 @@
@@ -232,9 +225,6 @@ index 7c30de4..a58fb88 100644
- qcom,controller-type = "pmic-arbiter";
- };
};
-diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
-new file mode 100644
-index 0000000..ff00282
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -0,0 +1,70 @@
@@ -308,6 +298,3 @@ index 0000000..ff00282
+ qcom,controller-type = "pmic-arbiter";
+ };
+};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0002-ARM-msm-Remove-pen_release-usage.patch b/target/linux/ipq806x/patches/0002-ARM-msm-Remove-pen_release-usage.patch
index 72b6618e23..19eaae62e5 100644
--- a/target/linux/ipq806x/patches/0002-ARM-msm-Remove-pen_release-usage.patch
+++ b/target/linux/ipq806x/patches/0002-ARM-msm-Remove-pen_release-usage.patch
@@ -19,11 +19,9 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
4 files changed, 8 insertions(+), 101 deletions(-)
delete mode 100644 arch/arm/mach-msm/headsmp.S
-diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
-index 8e307a1..721f27f 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
-@@ -19,7 +19,7 @@ obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o
+@@ -19,7 +19,7 @@ obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.
CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
@@ -32,9 +30,6 @@ index 8e307a1..721f27f 100644
obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o
obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o board-trout-panel.o devices-msm7x00.o
-diff --git a/arch/arm/mach-msm/headsmp.S b/arch/arm/mach-msm/headsmp.S
-deleted file mode 100644
-index 6c62c3f..0000000
--- a/arch/arm/mach-msm/headsmp.S
+++ /dev/null
@@ -1,39 +0,0 @@
@@ -77,11 +72,9 @@ index 6c62c3f..0000000
- .align
-1: .long .
- .long pen_release
-diff --git a/arch/arm/mach-msm/hotplug.c b/arch/arm/mach-msm/hotplug.c
-index 326a872..cea80fc 100644
--- a/arch/arm/mach-msm/hotplug.c
+++ b/arch/arm/mach-msm/hotplug.c
-@@ -24,33 +24,10 @@ static inline void cpu_leave_lowpower(void)
+@@ -24,33 +24,10 @@ static inline void cpu_leave_lowpower(vo
static inline void platform_do_lowpower(unsigned int cpu)
{
@@ -119,8 +112,6 @@ index 326a872..cea80fc 100644
}
/*
-diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c
-index f10a1f5..3721b31 100644
--- a/arch/arm/mach-msm/platsmp.c
+++ b/arch/arm/mach-msm/platsmp.c
@@ -12,13 +12,10 @@
@@ -160,7 +151,7 @@ index f10a1f5..3721b31 100644
* Synchronise with the boot thread.
*/
spin_lock(&boot_lock);
-@@ -57,7 +47,7 @@ static void msm_secondary_init(unsigned int cpu)
+@@ -57,7 +47,7 @@ static void msm_secondary_init(unsigned
static void prepare_cold_cpu(unsigned int cpu)
{
int ret;
@@ -169,7 +160,7 @@ index f10a1f5..3721b31 100644
SCM_FLAG_COLDBOOT_CPU1);
if (ret == 0) {
void __iomem *sc1_base_ptr;
-@@ -75,7 +65,6 @@ static void prepare_cold_cpu(unsigned int cpu)
+@@ -75,7 +65,6 @@ static void prepare_cold_cpu(unsigned in
static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle)
{
@@ -177,7 +168,7 @@ index f10a1f5..3721b31 100644
static int cold_boot_done;
/* Only need to bring cpu out of reset this way once */
-@@ -91,39 +80,19 @@ static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle)
+@@ -91,39 +80,19 @@ static int msm_boot_secondary(unsigned i
spin_lock(&boot_lock);
/*
@@ -218,6 +209,3 @@ index f10a1f5..3721b31 100644
}
/*
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0003-ARM-msm-kill-off-hotplug.c.patch b/target/linux/ipq806x/patches/0003-ARM-msm-kill-off-hotplug.c.patch
index b6e9bbac57..79aa96f24a 100644
--- a/target/linux/ipq806x/patches/0003-ARM-msm-kill-off-hotplug.c.patch
+++ b/target/linux/ipq806x/patches/0003-ARM-msm-kill-off-hotplug.c.patch
@@ -16,11 +16,9 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
4 files changed, 7 insertions(+), 53 deletions(-)
delete mode 100644 arch/arm/mach-msm/hotplug.c
-diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
-index 721f27f..8327f60 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
-@@ -18,7 +18,6 @@ obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.o
+@@ -18,7 +18,6 @@ obj-$(CONFIG_MSM_SCM) += scm.o scm-boot.
CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
@@ -28,11 +26,9 @@ index 721f27f..8327f60 100644
obj-$(CONFIG_SMP) += platsmp.o
obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o
-diff --git a/arch/arm/mach-msm/common.h b/arch/arm/mach-msm/common.h
-index 33c7725..0a4899b 100644
--- a/arch/arm/mach-msm/common.h
+++ b/arch/arm/mach-msm/common.h
-@@ -24,7 +24,6 @@ extern void __iomem *__msm_ioremap_caller(phys_addr_t phys_addr, size_t size,
+@@ -24,7 +24,6 @@ extern void __iomem *__msm_ioremap_calle
unsigned int mtype, void *caller);
extern struct smp_operations msm_smp_ops;
@@ -40,9 +36,6 @@ index 33c7725..0a4899b 100644
struct msm_mmc_platform_data;
-diff --git a/arch/arm/mach-msm/hotplug.c b/arch/arm/mach-msm/hotplug.c
-deleted file mode 100644
-index cea80fc..0000000
--- a/arch/arm/mach-msm/hotplug.c
+++ /dev/null
@@ -1,51 +0,0 @@
@@ -97,8 +90,6 @@ index cea80fc..0000000
- */
- cpu_leave_lowpower();
-}
-diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c
-index 3721b31..251a91e 100644
--- a/arch/arm/mach-msm/platsmp.c
+++ b/arch/arm/mach-msm/platsmp.c
@@ -29,6 +29,13 @@ extern void secondary_startup(void);
@@ -115,6 +106,3 @@ index 3721b31..251a91e 100644
static inline int get_core_count(void)
{
/* 1 + the PART[1:0] field of MIDR */
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0004-clocksource-qcom-Move-clocksource-code-out-of-mach-m.patch b/target/linux/ipq806x/patches/0004-clocksource-qcom-Move-clocksource-code-out-of-mach-m.patch
index fd730c1e47..c726d3f982 100644
--- a/target/linux/ipq806x/patches/0004-clocksource-qcom-Move-clocksource-code-out-of-mach-m.patch
+++ b/target/linux/ipq806x/patches/0004-clocksource-qcom-Move-clocksource-code-out-of-mach-m.patch
@@ -20,8 +20,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
delete mode 100644 arch/arm/mach-msm/timer.c
create mode 100644 drivers/clocksource/qcom-timer.c
-diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
-index 9625cf3..3c4eca7 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -21,7 +21,7 @@ config ARCH_MSM8X60
@@ -77,8 +75,6 @@ index 9625cf3..3c4eca7 100644
- bool
-
endif
-diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
-index 8327f60..04b1bee 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -1,4 +1,3 @@
@@ -86,9 +82,6 @@ index 8327f60..04b1bee 100644
obj-$(CONFIG_MSM_PROC_COMM) += clock.o
obj-$(CONFIG_MSM_VIC) += irq-vic.o
-diff --git a/arch/arm/mach-msm/timer.c b/arch/arm/mach-msm/timer.c
-deleted file mode 100644
-index fd16449..0000000
--- a/arch/arm/mach-msm/timer.c
+++ /dev/null
@@ -1,333 +0,0 @@
@@ -425,8 +418,6 @@ index fd16449..0000000
- return;
- msm_timer_init(19200000 / 4, 32, 7, false);
-}
-diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
-index cd6950f..6510ec4 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig
@@ -140,3 +140,6 @@ config VF_PIT_TIMER
@@ -436,11 +427,9 @@ index cd6950f..6510ec4 100644
+
+config CLKSRC_QCOM
+ bool
-diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
-index c7ca50a..2e0c0cc 100644
--- a/drivers/clocksource/Makefile
+++ b/drivers/clocksource/Makefile
-@@ -32,6 +32,7 @@ obj-$(CONFIG_CLKSRC_EFM32) += time-efm32.o
+@@ -32,6 +32,7 @@ obj-$(CONFIG_CLKSRC_EFM32) += time-efm32
obj-$(CONFIG_CLKSRC_EXYNOS_MCT) += exynos_mct.o
obj-$(CONFIG_CLKSRC_SAMSUNG_PWM) += samsung_pwm_timer.o
obj-$(CONFIG_VF_PIT_TIMER) += vf_pit_timer.o
@@ -448,9 +437,6 @@ index c7ca50a..2e0c0cc 100644
obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o
obj-$(CONFIG_ARM_GLOBAL_TIMER) += arm_global_timer.o
-diff --git a/drivers/clocksource/qcom-timer.c b/drivers/clocksource/qcom-timer.c
-new file mode 100644
-index 0000000..dca829e
--- /dev/null
+++ b/drivers/clocksource/qcom-timer.c
@@ -0,0 +1,329 @@
@@ -783,6 +769,3 @@ index 0000000..dca829e
+ return;
+ msm_timer_init(19200000 / 4, 32, 7, false);
+}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0005-ARM-qcom-Split-Qualcomm-support-into-legacy-and-mult.patch b/target/linux/ipq806x/patches/0005-ARM-qcom-Split-Qualcomm-support-into-legacy-and-mult.patch
index c23faf0640..4cd4c4757f 100644
--- a/target/linux/ipq806x/patches/0005-ARM-qcom-Split-Qualcomm-support-into-legacy-and-mult.patch
+++ b/target/linux/ipq806x/patches/0005-ARM-qcom-Split-Qualcomm-support-into-legacy-and-mult.patch
@@ -50,11 +50,9 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
create mode 100644 arch/arm/mach-qcom/scm.c
create mode 100644 arch/arm/mach-qcom/scm.h
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 900d98e..7d23402 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -1168,6 +1168,14 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+@@ -1168,6 +1168,14 @@ L: linux-arm-kernel@lists.infradead.org
W: http://www.arm.linux.org.uk/
S: Maintained
@@ -69,11 +67,9 @@ index 900d98e..7d23402 100644
ARM/RADISYS ENP2611 MACHINE SUPPORT
M: Lennert Buytenhek <kernel@wantstofly.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 1594945..d02ce70 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -657,9 +657,8 @@ config ARCH_PXA
+@@ -658,9 +658,8 @@ config ARCH_PXA
help
Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
@@ -85,7 +81,7 @@ index 1594945..d02ce70 100644
select ARCH_REQUIRE_GPIOLIB
select COMMON_CLK
select GENERIC_CLOCKEVENTS
-@@ -1005,6 +1004,8 @@ source "arch/arm/plat-pxa/Kconfig"
+@@ -1006,6 +1005,8 @@ source "arch/arm/plat-pxa/Kconfig"
source "arch/arm/mach-mmp/Kconfig"
@@ -94,8 +90,6 @@ index 1594945..d02ce70 100644
source "arch/arm/mach-realview/Kconfig"
source "arch/arm/mach-rockchip/Kconfig"
-diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
-index 0531da8..4491c7b 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -956,7 +956,7 @@ config DEBUG_STI_UART
@@ -107,11 +101,9 @@ index 0531da8..4491c7b 100644
config DEBUG_LL_INCLUDE
string
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index 08a9ef5..51e5bed 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
-@@ -180,6 +180,7 @@ machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2
+@@ -185,6 +185,7 @@ machine-$(CONFIG_ARCH_OMAP2PLUS) += omap
machine-$(CONFIG_ARCH_ORION5X) += orion5x
machine-$(CONFIG_ARCH_PICOXCELL) += picoxcell
machine-$(CONFIG_ARCH_PXA) += pxa
@@ -119,11 +111,9 @@ index 08a9ef5..51e5bed 100644
machine-$(CONFIG_ARCH_REALVIEW) += realview
machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip
machine-$(CONFIG_ARCH_RPC) += rpc
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 0320303..4a89023 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -119,9 +119,6 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \
+@@ -119,9 +119,6 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-
kirkwood-ts219-6282.dtb
dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb
@@ -133,7 +123,7 @@ index 0320303..4a89023 100644
dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
armada-370-mirabox.dtb \
armada-370-netgear-rn102.dtb \
-@@ -234,6 +231,9 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
+@@ -234,6 +231,9 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420
dra7-evm.dtb
dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
@@ -143,8 +133,6 @@ index 0320303..4a89023 100644
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
ste-hrefprev60-stuib.dtb \
ste-hrefprev60-tvk.dtb \
-diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
-index 3c4eca7..a7f959e 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -1,50 +1,9 @@
@@ -208,8 +196,6 @@ index 3c4eca7..a7f959e 100644
config MACH_HALIBUT
depends on ARCH_MSM
-diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile
-index 04b1bee..27c078a 100644
--- a/arch/arm/mach-msm/Makefile
+++ b/arch/arm/mach-msm/Makefile
@@ -13,17 +13,11 @@ obj-$(CONFIG_ARCH_QSD8X50) += dma.o io.o
@@ -230,9 +216,6 @@ index 04b1bee..27c078a 100644
-obj-$(CONFIG_ARCH_MSM_DT) += board-dt.o
obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o
obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o
-diff --git a/arch/arm/mach-msm/board-dt.c b/arch/arm/mach-msm/board-dt.c
-deleted file mode 100644
-index 1f11d93..0000000
--- a/arch/arm/mach-msm/board-dt.c
+++ /dev/null
@@ -1,41 +0,0 @@
@@ -277,9 +260,6 @@ index 1f11d93..0000000
-DT_MACHINE_START(APQ_DT, "Qualcomm MSM (Flattened Device Tree)")
- .dt_compat = apq8074_dt_match,
-MACHINE_END
-diff --git a/arch/arm/mach-msm/platsmp.c b/arch/arm/mach-msm/platsmp.c
-deleted file mode 100644
-index 251a91e..0000000
--- a/arch/arm/mach-msm/platsmp.c
+++ /dev/null
@@ -1,137 +0,0 @@
@@ -420,9 +400,6 @@ index 251a91e..0000000
- .cpu_die = msm_cpu_die,
-#endif
-};
-diff --git a/arch/arm/mach-msm/scm-boot.c b/arch/arm/mach-msm/scm-boot.c
-deleted file mode 100644
-index 45cee3e..0000000
--- a/arch/arm/mach-msm/scm-boot.c
+++ /dev/null
@@ -1,39 +0,0 @@
@@ -465,9 +442,6 @@ index 45cee3e..0000000
- &cmd, sizeof(cmd), NULL, 0);
-}
-EXPORT_SYMBOL(scm_set_boot_addr);
-diff --git a/arch/arm/mach-msm/scm-boot.h b/arch/arm/mach-msm/scm-boot.h
-deleted file mode 100644
-index 7be32ff..0000000
--- a/arch/arm/mach-msm/scm-boot.h
+++ /dev/null
@@ -1,22 +0,0 @@
@@ -493,9 +467,6 @@ index 7be32ff..0000000
-int scm_set_boot_addr(phys_addr_t addr, int flags);
-
-#endif
-diff --git a/arch/arm/mach-msm/scm.c b/arch/arm/mach-msm/scm.c
-deleted file mode 100644
-index c536fd6..0000000
--- a/arch/arm/mach-msm/scm.c
+++ /dev/null
@@ -1,299 +0,0 @@
@@ -798,9 +769,6 @@ index c536fd6..0000000
- return version;
-}
-EXPORT_SYMBOL(scm_get_version);
-diff --git a/arch/arm/mach-msm/scm.h b/arch/arm/mach-msm/scm.h
-deleted file mode 100644
-index 00b31ea..0000000
--- a/arch/arm/mach-msm/scm.h
+++ /dev/null
@@ -1,25 +0,0 @@
@@ -829,9 +797,6 @@ index 00b31ea..0000000
-extern u32 scm_get_version(void);
-
-#endif
-diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig
-new file mode 100644
-index 0000000..a028be2
--- /dev/null
+++ b/arch/arm/mach-qcom/Kconfig
@@ -0,0 +1,33 @@
@@ -868,9 +833,6 @@ index 0000000..a028be2
+ bool
+
+endif
-diff --git a/arch/arm/mach-qcom/Makefile b/arch/arm/mach-qcom/Makefile
-new file mode 100644
-index 0000000..8f756ae
--- /dev/null
+++ b/arch/arm/mach-qcom/Makefile
@@ -0,0 +1,5 @@
@@ -879,9 +841,6 @@ index 0000000..8f756ae
+obj-$(CONFIG_QCOM_SCM) += scm.o scm-boot.o
+
+CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1)
-diff --git a/arch/arm/mach-qcom/board.c b/arch/arm/mach-qcom/board.c
-new file mode 100644
-index 0000000..4529f6b
--- /dev/null
+++ b/arch/arm/mach-qcom/board.c
@@ -0,0 +1,40 @@
@@ -925,9 +884,6 @@ index 0000000..4529f6b
+DT_MACHINE_START(APQ_DT, "Qualcomm (Flattened Device Tree)")
+ .dt_compat = apq8074_dt_match,
+MACHINE_END
-diff --git a/arch/arm/mach-qcom/platsmp.c b/arch/arm/mach-qcom/platsmp.c
-new file mode 100644
-index 0000000..67823a7
--- /dev/null
+++ b/arch/arm/mach-qcom/platsmp.c
@@ -0,0 +1,137 @@
@@ -1068,9 +1024,6 @@ index 0000000..67823a7
+ .cpu_die = msm_cpu_die,
+#endif
+};
-diff --git a/arch/arm/mach-qcom/scm-boot.c b/arch/arm/mach-qcom/scm-boot.c
-new file mode 100644
-index 0000000..45cee3e
--- /dev/null
+++ b/arch/arm/mach-qcom/scm-boot.c
@@ -0,0 +1,39 @@
@@ -1113,9 +1066,6 @@ index 0000000..45cee3e
+ &cmd, sizeof(cmd), NULL, 0);
+}
+EXPORT_SYMBOL(scm_set_boot_addr);
-diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
-new file mode 100644
-index 0000000..7be32ff
--- /dev/null
+++ b/arch/arm/mach-qcom/scm-boot.h
@@ -0,0 +1,22 @@
@@ -1141,9 +1091,6 @@ index 0000000..7be32ff
+int scm_set_boot_addr(phys_addr_t addr, int flags);
+
+#endif
-diff --git a/arch/arm/mach-qcom/scm.c b/arch/arm/mach-qcom/scm.c
-new file mode 100644
-index 0000000..c536fd6
--- /dev/null
+++ b/arch/arm/mach-qcom/scm.c
@@ -0,0 +1,299 @@
@@ -1446,9 +1393,6 @@ index 0000000..c536fd6
+ return version;
+}
+EXPORT_SYMBOL(scm_get_version);
-diff --git a/arch/arm/mach-qcom/scm.h b/arch/arm/mach-qcom/scm.h
-new file mode 100644
-index 0000000..00b31ea
--- /dev/null
+++ b/arch/arm/mach-qcom/scm.h
@@ -0,0 +1,25 @@
@@ -1477,6 +1421,3 @@ index 0000000..00b31ea
+extern u32 scm_get_version(void);
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0006-clocksource-qcom-split-building-of-legacy-vs-multipl.patch b/target/linux/ipq806x/patches/0006-clocksource-qcom-split-building-of-legacy-vs-multipl.patch
index 5cb6bf393f..79603f89c9 100644
--- a/target/linux/ipq806x/patches/0006-clocksource-qcom-split-building-of-legacy-vs-multipl.patch
+++ b/target/linux/ipq806x/patches/0006-clocksource-qcom-split-building-of-legacy-vs-multipl.patch
@@ -14,11 +14,9 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/clocksource/qcom-timer.c | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
-diff --git a/drivers/clocksource/qcom-timer.c b/drivers/clocksource/qcom-timer.c
-index dca829e..e807acf 100644
--- a/drivers/clocksource/qcom-timer.c
+++ b/drivers/clocksource/qcom-timer.c
-@@ -106,15 +106,6 @@ static notrace cycle_t msm_read_timer_count(struct clocksource *cs)
+@@ -106,15 +106,6 @@ static notrace cycle_t msm_read_timer_co
return readl_relaxed(source_base + TIMER_COUNT_VAL);
}
@@ -43,7 +41,7 @@ index dca829e..e807acf 100644
static void __init msm_dt_timer_init(struct device_node *np)
{
u32 freq;
-@@ -281,7 +272,7 @@ static void __init msm_dt_timer_init(struct device_node *np)
+@@ -281,7 +272,7 @@ static void __init msm_dt_timer_init(str
}
CLOCKSOURCE_OF_DECLARE(kpss_timer, "qcom,kpss-timer", msm_dt_timer_init);
CLOCKSOURCE_OF_DECLARE(scss_timer, "qcom,scss-timer", msm_dt_timer_init);
@@ -52,7 +50,7 @@ index dca829e..e807acf 100644
static int __init msm_timer_map(phys_addr_t addr, u32 event, u32 source,
u32 sts)
-@@ -301,6 +292,15 @@ static int __init msm_timer_map(phys_addr_t addr, u32 event, u32 source,
+@@ -301,6 +292,15 @@ static int __init msm_timer_map(phys_add
return 0;
}
@@ -73,6 +71,3 @@ index dca829e..e807acf 100644
msm_timer_init(19200000 / 4, 32, 7, false);
}
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0007-ARM-qcom-Rename-various-msm-prefixed-functions-to-qc.patch b/target/linux/ipq806x/patches/0007-ARM-qcom-Rename-various-msm-prefixed-functions-to-qc.patch
index fc064b27a9..cab5bcd203 100644
--- a/target/linux/ipq806x/patches/0007-ARM-qcom-Rename-various-msm-prefixed-functions-to-qc.patch
+++ b/target/linux/ipq806x/patches/0007-ARM-qcom-Rename-various-msm-prefixed-functions-to-qc.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/mach-qcom/platsmp.c | 22 +++++++++++-----------
2 files changed, 13 insertions(+), 13 deletions(-)
-diff --git a/arch/arm/mach-qcom/board.c b/arch/arm/mach-qcom/board.c
-index 4529f6b..830f69c 100644
--- a/arch/arm/mach-qcom/board.c
+++ b/arch/arm/mach-qcom/board.c
@@ -17,7 +17,7 @@
@@ -27,7 +25,7 @@ index 4529f6b..830f69c 100644
static const char * const qcom_dt_match[] __initconst = {
"qcom,msm8660-surf",
-@@ -31,7 +31,7 @@ static const char * const apq8074_dt_match[] __initconst = {
+@@ -31,7 +31,7 @@ static const char * const apq8074_dt_mat
};
DT_MACHINE_START(QCOM_DT, "Qualcomm (Flattened Device Tree)")
@@ -36,8 +34,6 @@ index 4529f6b..830f69c 100644
.dt_compat = qcom_dt_match,
MACHINE_END
-diff --git a/arch/arm/mach-qcom/platsmp.c b/arch/arm/mach-qcom/platsmp.c
-index 67823a7..9c53ea7 100644
--- a/arch/arm/mach-qcom/platsmp.c
+++ b/arch/arm/mach-qcom/platsmp.c
@@ -30,7 +30,7 @@ extern void secondary_startup(void);
@@ -58,7 +54,7 @@ index 67823a7..9c53ea7 100644
{
/*
* Synchronise with the boot thread.
-@@ -70,7 +70,7 @@ static void prepare_cold_cpu(unsigned int cpu)
+@@ -70,7 +70,7 @@ static void prepare_cold_cpu(unsigned in
"address\n");
}
@@ -67,7 +63,7 @@ index 67823a7..9c53ea7 100644
{
static int cold_boot_done;
-@@ -108,7 +108,7 @@ static int msm_boot_secondary(unsigned int cpu, struct task_struct *idle)
+@@ -108,7 +108,7 @@ static int msm_boot_secondary(unsigned i
* does not support the ARM SCU, so just set the possible cpu mask to
* NR_CPUS.
*/
@@ -76,7 +72,7 @@ index 67823a7..9c53ea7 100644
{
unsigned int i, ncores = get_core_count();
-@@ -122,16 +122,16 @@ static void __init msm_smp_init_cpus(void)
+@@ -122,16 +122,16 @@ static void __init msm_smp_init_cpus(voi
set_cpu_possible(i, true);
}
@@ -100,6 +96,3 @@ index 67823a7..9c53ea7 100644
+ .cpu_die = qcom_cpu_die,
#endif
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0008-ARM-Introduce-CPU_METHOD_OF_DECLARE-for-cpu-hotplug-.patch b/target/linux/ipq806x/patches/0008-ARM-Introduce-CPU_METHOD_OF_DECLARE-for-cpu-hotplug-.patch
index 9579ac2f63..b4a8b4b5ef 100644
--- a/target/linux/ipq806x/patches/0008-ARM-Introduce-CPU_METHOD_OF_DECLARE-for-cpu-hotplug-.patch
+++ b/target/linux/ipq806x/patches/0008-ARM-Introduce-CPU_METHOD_OF_DECLARE-for-cpu-hotplug-.patch
@@ -32,8 +32,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
include/asm-generic/vmlinux.lds.h | 10 ++++++++++
3 files changed, 59 insertions(+)
-diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h
-index 22a3b9b..772435b 100644
--- a/arch/arm/include/asm/smp.h
+++ b/arch/arm/include/asm/smp.h
@@ -114,6 +114,15 @@ struct smp_operations {
@@ -52,8 +50,6 @@ index 22a3b9b..772435b 100644
/*
* set platform specific SMP operations
*/
-diff --git a/arch/arm/kernel/devtree.c b/arch/arm/kernel/devtree.c
-index f751714..c7419a5 100644
--- a/arch/arm/kernel/devtree.c
+++ b/arch/arm/kernel/devtree.c
@@ -18,6 +18,7 @@
@@ -64,7 +60,7 @@ index f751714..c7419a5 100644
#include <asm/cputype.h>
#include <asm/setup.h>
-@@ -63,6 +64,34 @@ void __init arm_dt_memblock_reserve(void)
+@@ -63,6 +64,34 @@ void __init arm_dt_memblock_reserve(void
}
}
@@ -126,11 +122,9 @@ index f751714..c7419a5 100644
if (!bootcpu_valid) {
pr_warn("DT missing boot CPU MPIDR[23:0], fall back to default cpu_logical_map\n");
return;
-diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index bc2121f..bd02ca7 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
-@@ -167,6 +167,15 @@
+@@ -177,6 +177,15 @@
#define CLK_OF_TABLES()
#endif
@@ -146,7 +140,7 @@ index bc2121f..bd02ca7 100644
#define KERNEL_DTB() \
STRUCT_ALIGN(); \
VMLINUX_SYMBOL(__dtb_start) = .; \
-@@ -491,6 +500,7 @@
+@@ -502,6 +511,7 @@
MEM_DISCARD(init.rodata) \
CLK_OF_TABLES() \
CLKSRC_OF_TABLES() \
@@ -154,6 +148,3 @@ index bc2121f..bd02ca7 100644
KERNEL_DTB() \
IRQCHIP_OF_MATCH_TABLE()
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0009-ARM-qcom-Re-organize-platsmp-to-make-it-extensible.patch b/target/linux/ipq806x/patches/0009-ARM-qcom-Re-organize-platsmp-to-make-it-extensible.patch
index 6601ad4e0d..4bab4c962b 100644
--- a/target/linux/ipq806x/patches/0009-ARM-qcom-Re-organize-platsmp-to-make-it-extensible.patch
+++ b/target/linux/ipq806x/patches/0009-ARM-qcom-Re-organize-platsmp-to-make-it-extensible.patch
@@ -22,8 +22,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/mach-qcom/platsmp.c | 118 +++++++++++++++++++++++-------------------
3 files changed, 65 insertions(+), 69 deletions(-)
-diff --git a/arch/arm/mach-msm/common.h b/arch/arm/mach-msm/common.h
-index 0a4899b..572479a 100644
--- a/arch/arm/mach-msm/common.h
+++ b/arch/arm/mach-msm/common.h
@@ -23,8 +23,6 @@ extern void msm_map_qsd8x50_io(void);
@@ -35,8 +33,6 @@ index 0a4899b..572479a 100644
struct msm_mmc_platform_data;
extern void msm_add_devices(void);
-diff --git a/arch/arm/mach-qcom/board.c b/arch/arm/mach-qcom/board.c
-index 830f69c..bae617e 100644
--- a/arch/arm/mach-qcom/board.c
+++ b/arch/arm/mach-qcom/board.c
@@ -11,30 +11,16 @@
@@ -70,8 +66,6 @@ index 830f69c..bae617e 100644
-DT_MACHINE_START(APQ_DT, "Qualcomm (Flattened Device Tree)")
- .dt_compat = apq8074_dt_match,
-MACHINE_END
-diff --git a/arch/arm/mach-qcom/platsmp.c b/arch/arm/mach-qcom/platsmp.c
-index 9c53ea7..ec8604d 100644
--- a/arch/arm/mach-qcom/platsmp.c
+++ b/arch/arm/mach-qcom/platsmp.c
@@ -13,17 +13,18 @@
@@ -97,7 +91,7 @@ index 9c53ea7..ec8604d 100644
extern void secondary_startup(void);
-@@ -36,12 +37,6 @@ static void __ref qcom_cpu_die(unsigned int cpu)
+@@ -36,12 +37,6 @@ static void __ref qcom_cpu_die(unsigned
}
#endif
@@ -110,7 +104,7 @@ index 9c53ea7..ec8604d 100644
static void qcom_secondary_init(unsigned int cpu)
{
/*
-@@ -51,33 +46,41 @@ static void qcom_secondary_init(unsigned int cpu)
+@@ -51,33 +46,41 @@ static void qcom_secondary_init(unsigned
spin_unlock(&boot_lock);
}
@@ -174,7 +168,7 @@ index 9c53ea7..ec8604d 100644
}
/*
-@@ -99,39 +102,48 @@ static int qcom_boot_secondary(unsigned int cpu, struct task_struct *idle)
+@@ -99,39 +102,48 @@ static int qcom_boot_secondary(unsigned
*/
spin_unlock(&boot_lock);
@@ -189,8 +183,7 @@ index 9c53ea7..ec8604d 100644
- * NR_CPUS.
- */
-static void __init qcom_smp_init_cpus(void)
-+static int msm8660_boot_secondary(unsigned int cpu, struct task_struct *idle)
- {
+-{
- unsigned int i, ncores = get_core_count();
-
- if (ncores > nr_cpu_ids) {
@@ -201,6 +194,8 @@ index 9c53ea7..ec8604d 100644
-
- for (i = 0; i < ncores; i++)
- set_cpu_possible(i, true);
++static int msm8660_boot_secondary(unsigned int cpu, struct task_struct *idle)
++{
+ return qcom_boot_secondary(cpu, scss_release_secondary);
}
@@ -244,6 +239,3 @@ index 9c53ea7..ec8604d 100644
#endif
};
+CPU_METHOD_OF_DECLARE(qcom_smp, "qcom,gcc-msm8660", &smp_msm8660_ops);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0010-devicetree-bindings-Document-Krait-Scorpion-cpus-and.patch b/target/linux/ipq806x/patches/0010-devicetree-bindings-Document-Krait-Scorpion-cpus-and.patch
index 0bcd3e873b..751aa8510f 100644
--- a/target/linux/ipq806x/patches/0010-devicetree-bindings-Document-Krait-Scorpion-cpus-and.patch
+++ b/target/linux/ipq806x/patches/0010-devicetree-bindings-Document-Krait-Scorpion-cpus-and.patch
@@ -18,11 +18,9 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
Documentation/devicetree/bindings/arm/cpus.txt | 25 +++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
-diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
-index 9130435..333f4ae 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
-@@ -180,7 +180,11 @@ nodes to be present and contain the properties described below.
+@@ -180,7 +180,11 @@ nodes to be present and contain the prop
be one of:
"spin-table"
"psci"
@@ -35,7 +33,7 @@ index 9130435..333f4ae 100644
- cpu-release-addr
Usage: required for systems that have an "enable-method"
-@@ -191,6 +195,21 @@ nodes to be present and contain the properties described below.
+@@ -191,6 +195,21 @@ nodes to be present and contain the prop
property identifying a 64-bit zero-initialised
memory location.
@@ -65,6 +63,3 @@ index 9130435..333f4ae 100644
+--
+[1] arm/msm/qcom,saw2.txt
+[2] arm/msm/qcom,kpss-acc.txt
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0011-devicetree-bindings-Document-qcom-kpss-acc.patch b/target/linux/ipq806x/patches/0011-devicetree-bindings-Document-qcom-kpss-acc.patch
index fc57727b37..dfd4c32861 100644
--- a/target/linux/ipq806x/patches/0011-devicetree-bindings-Document-qcom-kpss-acc.patch
+++ b/target/linux/ipq806x/patches/0011-devicetree-bindings-Document-qcom-kpss-acc.patch
@@ -14,9 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
1 file changed, 30 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
-diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
-new file mode 100644
-index 0000000..1333db9
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
@@ -0,0 +1,30 @@
@@ -50,6 +47,3 @@ index 0000000..1333db9
+ reg = <0x02088000 0x1000>,
+ <0x02008000 0x1000>;
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0012-devicetree-bindings-Document-qcom-saw2-node.patch b/target/linux/ipq806x/patches/0012-devicetree-bindings-Document-qcom-saw2-node.patch
index 5bf18c1f98..79aaf2d898 100644
--- a/target/linux/ipq806x/patches/0012-devicetree-bindings-Document-qcom-saw2-node.patch
+++ b/target/linux/ipq806x/patches/0012-devicetree-bindings-Document-qcom-saw2-node.patch
@@ -14,9 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
1 file changed, 35 insertions(+)
create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
-diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
-new file mode 100644
-index 0000000..1505fb8
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,saw2.txt
@@ -0,0 +1,35 @@
@@ -55,6 +52,3 @@ index 0000000..1505fb8
+ compatible = "qcom,saw2";
+ reg = <0x02099000 0x1000>, <0x02009000 0x1000>;
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0013-ARM-qcom-Add-SMP-support-for-KPSSv1.patch b/target/linux/ipq806x/patches/0013-ARM-qcom-Add-SMP-support-for-KPSSv1.patch
index 66f667c2a8..e1d9ae1ac6 100644
--- a/target/linux/ipq806x/patches/0013-ARM-qcom-Add-SMP-support-for-KPSSv1.patch
+++ b/target/linux/ipq806x/patches/0013-ARM-qcom-Add-SMP-support-for-KPSSv1.patch
@@ -15,8 +15,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/mach-qcom/scm-boot.h | 8 ++--
2 files changed, 111 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/mach-qcom/platsmp.c b/arch/arm/mach-qcom/platsmp.c
-index ec8604d..cb0783f 100644
--- a/arch/arm/mach-qcom/platsmp.c
+++ b/arch/arm/mach-qcom/platsmp.c
@@ -26,6 +26,16 @@
@@ -36,7 +34,7 @@ index ec8604d..cb0783f 100644
extern void secondary_startup(void);
static DEFINE_SPINLOCK(boot_lock);
-@@ -71,6 +81,85 @@ static int scss_release_secondary(unsigned int cpu)
+@@ -71,6 +81,85 @@ static int scss_release_secondary(unsign
return 0;
}
@@ -122,7 +120,7 @@ index ec8604d..cb0783f 100644
static DEFINE_PER_CPU(int, cold_boot_done);
static int qcom_boot_secondary(unsigned int cpu, int (*func)(unsigned int))
-@@ -110,6 +199,11 @@ static int msm8660_boot_secondary(unsigned int cpu, struct task_struct *idle)
+@@ -110,6 +199,11 @@ static int msm8660_boot_secondary(unsign
return qcom_boot_secondary(cpu, scss_release_secondary);
}
@@ -134,7 +132,7 @@ index ec8604d..cb0783f 100644
static void __init qcom_smp_prepare_cpus(unsigned int max_cpus)
{
int cpu, map;
-@@ -117,6 +211,8 @@ static void __init qcom_smp_prepare_cpus(unsigned int max_cpus)
+@@ -117,6 +211,8 @@ static void __init qcom_smp_prepare_cpus
static const int cold_boot_flags[] = {
0,
SCM_FLAG_COLDBOOT_CPU1,
@@ -143,7 +141,7 @@ index ec8604d..cb0783f 100644
};
for_each_present_cpu(cpu) {
-@@ -147,3 +243,13 @@ static struct smp_operations smp_msm8660_ops __initdata = {
+@@ -147,3 +243,13 @@ static struct smp_operations smp_msm8660
#endif
};
CPU_METHOD_OF_DECLARE(qcom_smp, "qcom,gcc-msm8660", &smp_msm8660_ops);
@@ -157,8 +155,6 @@ index ec8604d..cb0783f 100644
+#endif
+};
+CPU_METHOD_OF_DECLARE(qcom_smp_kpssv1, "qcom,kpss-acc-v1", &qcom_smp_kpssv1_ops);
-diff --git a/arch/arm/mach-qcom/scm-boot.h b/arch/arm/mach-qcom/scm-boot.h
-index 7be32ff..6aabb24 100644
--- a/arch/arm/mach-qcom/scm-boot.h
+++ b/arch/arm/mach-qcom/scm-boot.h
@@ -13,9 +13,11 @@
@@ -176,6 +172,3 @@ index 7be32ff..6aabb24 100644
int scm_set_boot_addr(phys_addr_t addr, int flags);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0014-ARM-qcom-Add-SMP-support-for-KPSSv2.patch b/target/linux/ipq806x/patches/0014-ARM-qcom-Add-SMP-support-for-KPSSv2.patch
index 03fdaf3eef..8f8ae49304 100644
--- a/target/linux/ipq806x/patches/0014-ARM-qcom-Add-SMP-support-for-KPSSv2.patch
+++ b/target/linux/ipq806x/patches/0014-ARM-qcom-Add-SMP-support-for-KPSSv2.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/mach-qcom/platsmp.c | 123 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 123 insertions(+)
-diff --git a/arch/arm/mach-qcom/platsmp.c b/arch/arm/mach-qcom/platsmp.c
-index cb0783f..d690856 100644
--- a/arch/arm/mach-qcom/platsmp.c
+++ b/arch/arm/mach-qcom/platsmp.c
@@ -34,7 +34,15 @@
@@ -141,7 +139,7 @@ index cb0783f..d690856 100644
static DEFINE_PER_CPU(int, cold_boot_done);
static int qcom_boot_secondary(unsigned int cpu, int (*func)(unsigned int))
-@@ -204,6 +312,11 @@ static int kpssv1_boot_secondary(unsigned int cpu, struct task_struct *idle)
+@@ -204,6 +312,11 @@ static int kpssv1_boot_secondary(unsigne
return qcom_boot_secondary(cpu, kpssv1_release_secondary);
}
@@ -153,7 +151,7 @@ index cb0783f..d690856 100644
static void __init qcom_smp_prepare_cpus(unsigned int max_cpus)
{
int cpu, map;
-@@ -253,3 +366,13 @@ static struct smp_operations qcom_smp_kpssv1_ops __initdata = {
+@@ -253,3 +366,13 @@ static struct smp_operations qcom_smp_kp
#endif
};
CPU_METHOD_OF_DECLARE(qcom_smp_kpssv1, "qcom,kpss-acc-v1", &qcom_smp_kpssv1_ops);
@@ -167,6 +165,3 @@ index cb0783f..d690856 100644
+#endif
+};
+CPU_METHOD_OF_DECLARE(qcom_smp_kpssv2, "qcom,kpss-acc-v2", &qcom_smp_kpssv2_ops);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0015-tty-serial-msm-Enable-building-msm_serial-for-ARCH_Q.patch b/target/linux/ipq806x/patches/0015-tty-serial-msm-Enable-building-msm_serial-for-ARCH_Q.patch
index 9dbc06dc26..33870dc8fa 100644
--- a/target/linux/ipq806x/patches/0015-tty-serial-msm-Enable-building-msm_serial-for-ARCH_Q.patch
+++ b/target/linux/ipq806x/patches/0015-tty-serial-msm-Enable-building-msm_serial-for-ARCH_Q.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/tty/serial/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
-index a3815ea..ce9b12d 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1024,7 +1024,7 @@ config SERIAL_SGI_IOC3
@@ -27,6 +25,3 @@ index a3815ea..ce9b12d 100644
select SERIAL_CORE
config SERIAL_MSM_CONSOLE
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0016-drm-msm-drop-ARCH_MSM-Kconfig-depend.patch b/target/linux/ipq806x/patches/0016-drm-msm-drop-ARCH_MSM-Kconfig-depend.patch
index 46e1fb79a2..b80ad910f8 100644
--- a/target/linux/ipq806x/patches/0016-drm-msm-drop-ARCH_MSM-Kconfig-depend.patch
+++ b/target/linux/ipq806x/patches/0016-drm-msm-drop-ARCH_MSM-Kconfig-depend.patch
@@ -15,8 +15,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/gpu/drm/msm/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/gpu/drm/msm/Kconfig b/drivers/gpu/drm/msm/Kconfig
-index c69d1e0..b698497 100644
--- a/drivers/gpu/drm/msm/Kconfig
+++ b/drivers/gpu/drm/msm/Kconfig
@@ -3,7 +3,7 @@ config DRM_MSM
@@ -28,6 +26,3 @@ index c69d1e0..b698497 100644
select DRM_KMS_HELPER
select SHMEM
select TMPFS
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0017-power-reset-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch b/target/linux/ipq806x/patches/0017-power-reset-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
index 868146c40f..cf33efd9c3 100644
--- a/target/linux/ipq806x/patches/0017-power-reset-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
+++ b/target/linux/ipq806x/patches/0017-power-reset-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/power/reset/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
-index 6d452a7..fa0e4e0 100644
--- a/drivers/power/reset/Kconfig
+++ b/drivers/power/reset/Kconfig
@@ -22,7 +22,7 @@ config POWER_RESET_GPIO
@@ -27,6 +25,3 @@ index 6d452a7..fa0e4e0 100644
help
Power off and restart support for Qualcomm boards.
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0018-hwrng-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch b/target/linux/ipq806x/patches/0018-hwrng-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
index b375feca2c..89cb8acd6d 100644
--- a/target/linux/ipq806x/patches/0018-hwrng-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
+++ b/target/linux/ipq806x/patches/0018-hwrng-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/char/hw_random/Kconfig | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig
-index 2f2b084..244759b 100644
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
@@ -342,11 +342,11 @@ config HW_RANDOM_TPM
@@ -33,6 +31,3 @@ index 2f2b084..244759b 100644
To compile this driver as a module, choose M here. the
module will be called msm-rng.
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0019-gpio-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch b/target/linux/ipq806x/patches/0019-gpio-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
index 210f760b22..1ead84bb4b 100644
--- a/target/linux/ipq806x/patches/0019-gpio-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
+++ b/target/linux/ipq806x/patches/0019-gpio-msm-switch-Kconfig-to-ARCH_QCOM-depends.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/gpio/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index 903f24d..2c38d95 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -192,7 +192,7 @@ config GPIO_MSM_V1
@@ -27,6 +25,3 @@ index 903f24d..2c38d95 100644
help
Say yes here to support the GPIO interface on ARM v7 based
Qualcomm MSM chips. Most of the pins on the MSM can be
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0020-ARM-qcom-Enable-basic-support-for-Qualcomm-platforms.patch b/target/linux/ipq806x/patches/0020-ARM-qcom-Enable-basic-support-for-Qualcomm-platforms.patch
index ba25b46e32..7c1cb29c53 100644
--- a/target/linux/ipq806x/patches/0020-ARM-qcom-Enable-basic-support-for-Qualcomm-platforms.patch
+++ b/target/linux/ipq806x/patches/0020-ARM-qcom-Enable-basic-support-for-Qualcomm-platforms.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kevin Hilman <khilman@linaro.org>
arch/arm/configs/multi_v7_defconfig | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
-index ee69829..1a61bd8 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -31,6 +31,10 @@ CONFIG_SOC_OMAP5=y
@@ -49,6 +47,3 @@ index ee69829..1a61bd8 100644
CONFIG_TEGRA_IOMMU_GART=y
CONFIG_TEGRA_IOMMU_SMMU=y
CONFIG_MEMORY=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0021-ARM-dts-qcom-Add-nodes-necessary-for-SMP-boot.patch b/target/linux/ipq806x/patches/0021-ARM-dts-qcom-Add-nodes-necessary-for-SMP-boot.patch
index b23ee3b154..232f2efed9 100644
--- a/target/linux/ipq806x/patches/0021-ARM-dts-qcom-Add-nodes-necessary-for-SMP-boot.patch
+++ b/target/linux/ipq806x/patches/0021-ARM-dts-qcom-Add-nodes-necessary-for-SMP-boot.patch
@@ -17,8 +17,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8974.dtsi | 69 +++++++++++++++++++++++++++++++++++
3 files changed, 145 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
-index 69d6c4e..c52a9e9 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -9,6 +9,30 @@
@@ -52,8 +50,6 @@ index 69d6c4e..c52a9e9 100644
intc: interrupt-controller@2080000 {
compatible = "qcom,msm-8660-qgic";
interrupt-controller;
-diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
-index ff00282..02231a5 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -9,6 +9,36 @@
@@ -122,8 +118,6 @@ index ff00282..02231a5 100644
serial@16440000 {
compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
reg = <0x16440000 0x1000>,
-diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
-index 9e5dadb..39eebc5 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -9,6 +9,49 @@
@@ -209,6 +203,3 @@ index 9e5dadb..39eebc5 100644
restart@fc4ab000 {
compatible = "qcom,pshold";
reg = <0xfc4ab000 0x4>;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0022-ARM-dts-qcom-Add-RNG-device-tree-node.patch b/target/linux/ipq806x/patches/0022-ARM-dts-qcom-Add-RNG-device-tree-node.patch
index 23edfe7c55..76cff028ab 100644
--- a/target/linux/ipq806x/patches/0022-ARM-dts-qcom-Add-RNG-device-tree-node.patch
+++ b/target/linux/ipq806x/patches/0022-ARM-dts-qcom-Add-RNG-device-tree-node.patch
@@ -13,8 +13,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8974.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
-index 39eebc5..011eb09 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -186,5 +186,12 @@
@@ -30,6 +28,3 @@ index 39eebc5..011eb09 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0023-ARM-dts-qcom-msm8960-cdp-Add-RNG-device-tree-node.patch b/target/linux/ipq806x/patches/0023-ARM-dts-qcom-msm8960-cdp-Add-RNG-device-tree-node.patch
index a3e69f3dc6..36206d4c4b 100644
--- a/target/linux/ipq806x/patches/0023-ARM-dts-qcom-msm8960-cdp-Add-RNG-device-tree-node.patch
+++ b/target/linux/ipq806x/patches/0023-ARM-dts-qcom-msm8960-cdp-Add-RNG-device-tree-node.patch
@@ -13,8 +13,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8960.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
-index 02231a5..ecfba72 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -119,4 +119,11 @@
@@ -29,6 +27,3 @@ index 02231a5..ecfba72 100644
+ clock-names = "core";
+ };
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0024-ARM-dts-msm-Add-krait-pmu-to-platforms-with-Krait-CP.patch b/target/linux/ipq806x/patches/0024-ARM-dts-msm-Add-krait-pmu-to-platforms-with-Krait-CP.patch
index 013d45cc41..b0cefc2153 100644
--- a/target/linux/ipq806x/patches/0024-ARM-dts-msm-Add-krait-pmu-to-platforms-with-Krait-CP.patch
+++ b/target/linux/ipq806x/patches/0024-ARM-dts-msm-Add-krait-pmu-to-platforms-with-Krait-CP.patch
@@ -15,8 +15,6 @@ Signed-off-by: Olof Johansson <olof@lixom.net>
arch/arm/boot/dts/qcom-msm8974.dtsi | 5 +++++
2 files changed, 11 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
-index ecfba72..997b7b9 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -39,6 +39,12 @@
@@ -32,8 +30,6 @@ index ecfba72..997b7b9 100644
intc: interrupt-controller@2000000 {
compatible = "qcom,msm-qgic2";
interrupt-controller;
-diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
-index 011eb09..f687239 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -52,6 +52,11 @@
@@ -48,6 +44,3 @@ index 011eb09..f687239 100644
soc: soc {
#address-cells = <1>;
#size-cells = <1>;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0025-pinctrl-msm-drop-wake_irqs-bitmap.patch b/target/linux/ipq806x/patches/0025-pinctrl-msm-drop-wake_irqs-bitmap.patch
index fba5e4f9e3..d0771ff27e 100644
--- a/target/linux/ipq806x/patches/0025-pinctrl-msm-drop-wake_irqs-bitmap.patch
+++ b/target/linux/ipq806x/patches/0025-pinctrl-msm-drop-wake_irqs-bitmap.patch
@@ -22,8 +22,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index ef2bf31..0e43fdd 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
@@ -50,7 +50,6 @@
@@ -42,7 +40,7 @@ index ef2bf31..0e43fdd 100644
const struct msm_pinctrl_soc_data *soc;
void __iomem *regs;
-@@ -783,22 +781,12 @@ static int msm_gpio_irq_set_wake(struct irq_data *d, unsigned int on)
+@@ -783,22 +781,12 @@ static int msm_gpio_irq_set_wake(struct
{
struct msm_pinctrl *pctrl;
unsigned long flags;
@@ -66,6 +64,3 @@ index ef2bf31..0e43fdd 100644
spin_unlock_irqrestore(&pctrl->lock, flags);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0026-pinctrl-msm-Silence-recursive-lockdep-warning.patch b/target/linux/ipq806x/patches/0026-pinctrl-msm-Silence-recursive-lockdep-warning.patch
index fd2e10fb0f..fe5008e51a 100644
--- a/target/linux/ipq806x/patches/0026-pinctrl-msm-Silence-recursive-lockdep-warning.patch
+++ b/target/linux/ipq806x/patches/0026-pinctrl-msm-Silence-recursive-lockdep-warning.patch
@@ -43,11 +43,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 0e43fdd..e61b30a 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -857,6 +857,12 @@ static void msm_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+@@ -857,6 +857,12 @@ static void msm_gpio_irq_handler(unsigne
chained_irq_exit(chip, desc);
}
@@ -60,7 +58,7 @@ index 0e43fdd..e61b30a 100644
static int msm_gpio_init(struct msm_pinctrl *pctrl)
{
struct gpio_chip *chip;
-@@ -895,6 +901,7 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl)
+@@ -895,6 +901,7 @@ static int msm_gpio_init(struct msm_pinc
for (i = 0; i < chip->ngpio; i++) {
irq = irq_create_mapping(pctrl->domain, i);
@@ -68,6 +66,3 @@ index 0e43fdd..e61b30a 100644
irq_set_chip_and_handler(irq, &msm_gpio_irq_chip, handle_edge_irq);
irq_set_chip_data(irq, pctrl);
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0027-pinctrl-msm-Check-for-ngpios-MAX_NR_GPIO.patch b/target/linux/ipq806x/patches/0027-pinctrl-msm-Check-for-ngpios-MAX_NR_GPIO.patch
index c2b7487540..7cf4b14164 100644
--- a/target/linux/ipq806x/patches/0027-pinctrl-msm-Check-for-ngpios-MAX_NR_GPIO.patch
+++ b/target/linux/ipq806x/patches/0027-pinctrl-msm-Check-for-ngpios-MAX_NR_GPIO.patch
@@ -14,11 +14,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index e61b30a..90ac995 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -870,10 +870,14 @@ static int msm_gpio_init(struct msm_pinctrl *pctrl)
+@@ -870,10 +870,14 @@ static int msm_gpio_init(struct msm_pinc
int ret;
int i;
int r;
@@ -34,6 +32,3 @@ index e61b30a..90ac995 100644
chip->label = dev_name(pctrl->dev);
chip->dev = pctrl->dev;
chip->owner = THIS_MODULE;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0028-pinctrl-msm-Drop-unused-includes.patch b/target/linux/ipq806x/patches/0028-pinctrl-msm-Drop-unused-includes.patch
index 8f864f2680..d8cd970ad3 100644
--- a/target/linux/ipq806x/patches/0028-pinctrl-msm-Drop-unused-includes.patch
+++ b/target/linux/ipq806x/patches/0028-pinctrl-msm-Drop-unused-includes.patch
@@ -15,8 +15,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm8x74.c | 1 -
3 files changed, 1 insertion(+), 6 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 90ac995..4474e00 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
@@ -28,7 +28,6 @@
@@ -27,8 +25,6 @@ index 90ac995..4474e00 100644
#include <linux/spinlock.h>
#include "core.h"
-diff --git a/drivers/pinctrl/pinctrl-msm.h b/drivers/pinctrl/pinctrl-msm.h
-index 206e782..8fbe9fb 100644
--- a/drivers/pinctrl/pinctrl-msm.h
+++ b/drivers/pinctrl/pinctrl-msm.h
@@ -13,10 +13,7 @@
@@ -43,8 +39,6 @@ index 206e782..8fbe9fb 100644
/**
* struct msm_function - a pinmux function
-diff --git a/drivers/pinctrl/pinctrl-msm8x74.c b/drivers/pinctrl/pinctrl-msm8x74.c
-index f944bf2..bb5ded69f 100644
--- a/drivers/pinctrl/pinctrl-msm8x74.c
+++ b/drivers/pinctrl/pinctrl-msm8x74.c
@@ -15,7 +15,6 @@
@@ -55,6 +49,3 @@ index f944bf2..bb5ded69f 100644
#include "pinctrl-msm.h"
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0029-pinctrl-msm-Drop-OF_IRQ-dependency.patch b/target/linux/ipq806x/patches/0029-pinctrl-msm-Drop-OF_IRQ-dependency.patch
index 6a33a9d97c..1357f3bb6c 100644
--- a/target/linux/ipq806x/patches/0029-pinctrl-msm-Drop-OF_IRQ-dependency.patch
+++ b/target/linux/ipq806x/patches/0029-pinctrl-msm-Drop-OF_IRQ-dependency.patch
@@ -13,8 +13,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
-index 1e4e693..06cee01 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -224,7 +224,7 @@ config PINCTRL_MSM
@@ -26,6 +24,3 @@ index 1e4e693..06cee01 100644
select PINCTRL_MSM
help
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0030-pinctrl-msm-Replace-lookup-tables-with-math.patch b/target/linux/ipq806x/patches/0030-pinctrl-msm-Replace-lookup-tables-with-math.patch
index 975e11a052..6bc94affdb 100644
--- a/target/linux/ipq806x/patches/0030-pinctrl-msm-Replace-lookup-tables-with-math.patch
+++ b/target/linux/ipq806x/patches/0030-pinctrl-msm-Replace-lookup-tables-with-math.patch
@@ -13,11 +13,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 4474e00..87f6c3c 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -258,8 +258,10 @@ static int msm_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
+@@ -258,8 +258,10 @@ static int msm_config_set(struct pinctrl
#define MSM_PULL_DOWN 1
#define MSM_PULL_UP 3
@@ -30,7 +28,7 @@ index 4474e00..87f6c3c 100644
static int msm_config_group_get(struct pinctrl_dev *pctldev,
unsigned int group,
-@@ -296,7 +298,7 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
+@@ -296,7 +298,7 @@ static int msm_config_group_get(struct p
arg = arg == MSM_PULL_UP;
break;
case PIN_CONFIG_DRIVE_STRENGTH:
@@ -39,7 +37,7 @@ index 4474e00..87f6c3c 100644
break;
default:
dev_err(pctrl->dev, "Unsupported config parameter: %x\n",
-@@ -349,10 +351,10 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
+@@ -349,10 +351,10 @@ static int msm_config_group_set(struct p
break;
case PIN_CONFIG_DRIVE_STRENGTH:
/* Check for invalid values */
@@ -52,7 +50,7 @@ index 4474e00..87f6c3c 100644
break;
default:
dev_err(pctrl->dev, "Unsupported config parameter: %x\n",
-@@ -531,7 +533,7 @@ static void msm_gpio_dbg_show_one(struct seq_file *s,
+@@ -531,7 +533,7 @@ static void msm_gpio_dbg_show_one(struct
pull = (ctl_reg >> g->pull_bit) & 3;
seq_printf(s, " %-8s: %-3s %d", g->name, is_out ? "out" : "in", func);
@@ -61,6 +59,3 @@ index 4474e00..87f6c3c 100644
seq_printf(s, " %s", pulls[pull]);
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0031-pinctrl-msm-Remove-impossible-WARN_ON-s.patch b/target/linux/ipq806x/patches/0031-pinctrl-msm-Remove-impossible-WARN_ON-s.patch
index 61c8ac1b2a..3356efcfea 100644
--- a/target/linux/ipq806x/patches/0031-pinctrl-msm-Remove-impossible-WARN_ON-s.patch
+++ b/target/linux/ipq806x/patches/0031-pinctrl-msm-Remove-impossible-WARN_ON-s.patch
@@ -14,11 +14,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 16 ----------------
1 file changed, 16 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 87f6c3c..ab46e3a 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -401,8 +401,6 @@ static int msm_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
+@@ -401,8 +401,6 @@ static int msm_gpio_direction_input(stru
u32 val;
g = &pctrl->soc->groups[offset];
@@ -27,7 +25,7 @@ index 87f6c3c..ab46e3a 100644
spin_lock_irqsave(&pctrl->lock, flags);
-@@ -423,8 +421,6 @@ static int msm_gpio_direction_output(struct gpio_chip *chip, unsigned offset, in
+@@ -423,8 +421,6 @@ static int msm_gpio_direction_output(str
u32 val;
g = &pctrl->soc->groups[offset];
@@ -36,7 +34,7 @@ index 87f6c3c..ab46e3a 100644
spin_lock_irqsave(&pctrl->lock, flags);
-@@ -451,8 +447,6 @@ static int msm_gpio_get(struct gpio_chip *chip, unsigned offset)
+@@ -451,8 +447,6 @@ static int msm_gpio_get(struct gpio_chip
u32 val;
g = &pctrl->soc->groups[offset];
@@ -45,7 +43,7 @@ index 87f6c3c..ab46e3a 100644
val = readl(pctrl->regs + g->io_reg);
return !!(val & BIT(g->in_bit));
-@@ -466,8 +460,6 @@ static void msm_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
+@@ -466,8 +460,6 @@ static void msm_gpio_set(struct gpio_chi
u32 val;
g = &pctrl->soc->groups[offset];
@@ -54,7 +52,7 @@ index 87f6c3c..ab46e3a 100644
spin_lock_irqsave(&pctrl->lock, flags);
-@@ -616,8 +608,6 @@ static void msm_gpio_irq_mask(struct irq_data *d)
+@@ -616,8 +608,6 @@ static void msm_gpio_irq_mask(struct irq
pctrl = irq_data_get_irq_chip_data(d);
g = &pctrl->soc->groups[d->hwirq];
@@ -63,7 +61,7 @@ index 87f6c3c..ab46e3a 100644
spin_lock_irqsave(&pctrl->lock, flags);
-@@ -639,8 +629,6 @@ static void msm_gpio_irq_unmask(struct irq_data *d)
+@@ -639,8 +629,6 @@ static void msm_gpio_irq_unmask(struct i
pctrl = irq_data_get_irq_chip_data(d);
g = &pctrl->soc->groups[d->hwirq];
@@ -72,7 +70,7 @@ index 87f6c3c..ab46e3a 100644
spin_lock_irqsave(&pctrl->lock, flags);
-@@ -666,8 +654,6 @@ static void msm_gpio_irq_ack(struct irq_data *d)
+@@ -666,8 +654,6 @@ static void msm_gpio_irq_ack(struct irq_
pctrl = irq_data_get_irq_chip_data(d);
g = &pctrl->soc->groups[d->hwirq];
@@ -81,7 +79,7 @@ index 87f6c3c..ab46e3a 100644
spin_lock_irqsave(&pctrl->lock, flags);
-@@ -692,8 +678,6 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type)
+@@ -692,8 +678,6 @@ static int msm_gpio_irq_set_type(struct
pctrl = irq_data_get_irq_chip_data(d);
g = &pctrl->soc->groups[d->hwirq];
@@ -90,6 +88,3 @@ index 87f6c3c..ab46e3a 100644
spin_lock_irqsave(&pctrl->lock, flags);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0032-pinctrl-msm-Simplify-msm_config_reg-and-callers.patch b/target/linux/ipq806x/patches/0032-pinctrl-msm-Simplify-msm_config_reg-and-callers.patch
index d656978236..f7798ae42e 100644
--- a/target/linux/ipq806x/patches/0032-pinctrl-msm-Simplify-msm_config_reg-and-callers.patch
+++ b/target/linux/ipq806x/patches/0032-pinctrl-msm-Simplify-msm_config_reg-and-callers.patch
@@ -14,11 +14,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 29 +++++------------------------
1 file changed, 5 insertions(+), 24 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index ab46e3a..91de8bc 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -200,28 +200,17 @@ static const struct pinmux_ops msm_pinmux_ops = {
+@@ -200,28 +200,17 @@ static const struct pinmux_ops msm_pinmu
static int msm_config_reg(struct msm_pinctrl *pctrl,
const struct msm_pingroup *g,
unsigned param,
@@ -47,7 +45,7 @@ index ab46e3a..91de8bc 100644
*bit = g->drv_bit;
*mask = 7;
break;
-@@ -230,12 +219,6 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
+@@ -230,12 +219,6 @@ static int msm_config_reg(struct msm_pin
return -ENOTSUPP;
}
@@ -60,7 +58,7 @@ index ab46e3a..91de8bc 100644
return 0;
}
-@@ -273,17 +256,16 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
+@@ -273,17 +256,16 @@ static int msm_config_group_get(struct p
unsigned mask;
unsigned arg;
unsigned bit;
@@ -80,7 +78,7 @@ index ab46e3a..91de8bc 100644
arg = (val >> bit) & mask;
/* Convert register value to pinconf value */
-@@ -323,7 +305,6 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
+@@ -323,7 +305,6 @@ static int msm_config_group_set(struct p
unsigned mask;
unsigned arg;
unsigned bit;
@@ -88,7 +86,7 @@ index ab46e3a..91de8bc 100644
int ret;
u32 val;
int i;
-@@ -334,7 +315,7 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
+@@ -334,7 +315,7 @@ static int msm_config_group_set(struct p
param = pinconf_to_config_param(configs[i]);
arg = pinconf_to_config_argument(configs[i]);
@@ -97,7 +95,7 @@ index ab46e3a..91de8bc 100644
if (ret < 0)
return ret;
-@@ -369,10 +350,10 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
+@@ -369,10 +350,10 @@ static int msm_config_group_set(struct p
}
spin_lock_irqsave(&pctrl->lock, flags);
@@ -110,6 +108,3 @@ index ab46e3a..91de8bc 100644
spin_unlock_irqrestore(&pctrl->lock, flags);
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0033-pinctrl-msm-Support-output-high-low-configuration.patch b/target/linux/ipq806x/patches/0033-pinctrl-msm-Support-output-high-low-configuration.patch
index 18c72cc4be..f2f7c7d3b0 100644
--- a/target/linux/ipq806x/patches/0033-pinctrl-msm-Support-output-high-low-configuration.patch
+++ b/target/linux/ipq806x/patches/0033-pinctrl-msm-Support-output-high-low-configuration.patch
@@ -12,11 +12,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 91de8bc..19d2feb 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -214,6 +214,11 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
+@@ -214,6 +214,11 @@ static int msm_config_reg(struct msm_pin
*bit = g->drv_bit;
*mask = 7;
break;
@@ -28,7 +26,7 @@ index 91de8bc..19d2feb 100644
default:
dev_err(pctrl->dev, "Invalid config param %04x\n", param);
return -ENOTSUPP;
-@@ -282,6 +287,14 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
+@@ -282,6 +287,14 @@ static int msm_config_group_get(struct p
case PIN_CONFIG_DRIVE_STRENGTH:
arg = msm_regval_to_drive(arg);
break;
@@ -43,7 +41,7 @@ index 91de8bc..19d2feb 100644
default:
dev_err(pctrl->dev, "Unsupported config parameter: %x\n",
param);
-@@ -337,6 +350,20 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
+@@ -337,6 +350,20 @@ static int msm_config_group_set(struct p
else
arg = (arg / 2) - 1;
break;
@@ -64,6 +62,3 @@ index 91de8bc..19d2feb 100644
default:
dev_err(pctrl->dev, "Unsupported config parameter: %x\n",
param);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0034-pinctrl-msm-Add-SPI8-pin-definitions.patch b/target/linux/ipq806x/patches/0034-pinctrl-msm-Add-SPI8-pin-definitions.patch
index b8df704ec0..a3f6d6a199 100644
--- a/target/linux/ipq806x/patches/0034-pinctrl-msm-Add-SPI8-pin-definitions.patch
+++ b/target/linux/ipq806x/patches/0034-pinctrl-msm-Add-SPI8-pin-definitions.patch
@@ -13,8 +13,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm8x74.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-msm8x74.c b/drivers/pinctrl/pinctrl-msm8x74.c
-index bb5ded69f..dde5529 100644
--- a/drivers/pinctrl/pinctrl-msm8x74.c
+++ b/drivers/pinctrl/pinctrl-msm8x74.c
@@ -405,6 +405,7 @@ enum msm8x74_functions {
@@ -25,7 +23,7 @@ index bb5ded69f..dde5529 100644
MSM_MUX_blsp_uart2,
MSM_MUX_blsp_uart8,
MSM_MUX_slimbus,
-@@ -415,6 +416,9 @@ static const char * const blsp_i2c2_groups[] = { "gpio6", "gpio7" };
+@@ -415,6 +416,9 @@ static const char * const blsp_i2c2_grou
static const char * const blsp_i2c6_groups[] = { "gpio29", "gpio30" };
static const char * const blsp_i2c11_groups[] = { "gpio83", "gpio84" };
static const char * const blsp_spi1_groups[] = { "gpio0", "gpio1", "gpio2", "gpio3" };
@@ -35,7 +33,7 @@ index bb5ded69f..dde5529 100644
static const char * const blsp_uart2_groups[] = { "gpio4", "gpio5" };
static const char * const blsp_uart8_groups[] = { "gpio45", "gpio46" };
static const char * const slimbus_groups[] = { "gpio70", "gpio71" };
-@@ -424,6 +428,7 @@ static const struct msm_function msm8x74_functions[] = {
+@@ -424,6 +428,7 @@ static const struct msm_function msm8x74
FUNCTION(blsp_i2c6),
FUNCTION(blsp_i2c11),
FUNCTION(blsp_spi1),
@@ -43,7 +41,7 @@ index bb5ded69f..dde5529 100644
FUNCTION(blsp_uart2),
FUNCTION(blsp_uart8),
FUNCTION(slimbus),
-@@ -475,10 +480,10 @@ static const struct msm_pingroup msm8x74_groups[] = {
+@@ -475,10 +480,10 @@ static const struct msm_pingroup msm8x74
PINGROUP(42, NA, NA, NA, NA, NA, NA, NA),
PINGROUP(43, NA, NA, NA, NA, NA, NA, NA),
PINGROUP(44, NA, NA, NA, NA, NA, NA, NA),
@@ -58,6 +56,3 @@ index bb5ded69f..dde5529 100644
PINGROUP(49, NA, NA, NA, NA, NA, NA, NA),
PINGROUP(50, NA, NA, NA, NA, NA, NA, NA),
PINGROUP(51, NA, NA, NA, NA, NA, NA, NA),
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0035-pinctrl-msm-fix-up-out-of-order-merge-conflict.patch b/target/linux/ipq806x/patches/0035-pinctrl-msm-fix-up-out-of-order-merge-conflict.patch
index c141a0b6c0..f0bd614cfd 100644
--- a/target/linux/ipq806x/patches/0035-pinctrl-msm-fix-up-out-of-order-merge-conflict.patch
+++ b/target/linux/ipq806x/patches/0035-pinctrl-msm-fix-up-out-of-order-merge-conflict.patch
@@ -21,11 +21,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.c | 1 -
1 file changed, 1 deletion(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 19d2feb..343f421 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -215,7 +215,6 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
+@@ -215,7 +215,6 @@ static int msm_config_reg(struct msm_pin
*mask = 7;
break;
case PIN_CONFIG_OUTPUT:
@@ -33,6 +31,3 @@ index 19d2feb..343f421 100644
*bit = g->oe_bit;
*mask = 1;
break;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0036-pinctrl-msm-Correct-interrupt-code-for-TLMM-v2.patch b/target/linux/ipq806x/patches/0036-pinctrl-msm-Correct-interrupt-code-for-TLMM-v2.patch
index b44fb6a0b3..384e183eb8 100644
--- a/target/linux/ipq806x/patches/0036-pinctrl-msm-Correct-interrupt-code-for-TLMM-v2.patch
+++ b/target/linux/ipq806x/patches/0036-pinctrl-msm-Correct-interrupt-code-for-TLMM-v2.patch
@@ -14,11 +14,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm.h | 1 +
2 files changed, 6 insertions(+), 1 deletion(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 343f421..706809e 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -665,7 +665,10 @@ static void msm_gpio_irq_ack(struct irq_data *d)
+@@ -665,7 +665,10 @@ static void msm_gpio_irq_ack(struct irq_
spin_lock_irqsave(&pctrl->lock, flags);
val = readl(pctrl->regs + g->intr_status_reg);
@@ -30,7 +28,7 @@ index 343f421..706809e 100644
writel(val, pctrl->regs + g->intr_status_reg);
if (test_bit(d->hwirq, pctrl->dual_edge_irqs))
-@@ -744,6 +747,7 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int type)
+@@ -744,6 +747,7 @@ static int msm_gpio_irq_set_type(struct
break;
case IRQ_TYPE_EDGE_BOTH:
val |= BIT(g->intr_detection_bit);
@@ -38,8 +36,6 @@ index 343f421..706809e 100644
break;
case IRQ_TYPE_LEVEL_LOW:
break;
-diff --git a/drivers/pinctrl/pinctrl-msm.h b/drivers/pinctrl/pinctrl-msm.h
-index 8fbe9fb..6e26f1b 100644
--- a/drivers/pinctrl/pinctrl-msm.h
+++ b/drivers/pinctrl/pinctrl-msm.h
@@ -84,6 +84,7 @@ struct msm_pingroup {
@@ -50,6 +46,3 @@ index 8fbe9fb..6e26f1b 100644
unsigned intr_target_bit:5;
unsigned intr_raw_status_bit:5;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0037-pinctrl-msm-Make-number-of-functions-variable.patch b/target/linux/ipq806x/patches/0037-pinctrl-msm-Make-number-of-functions-variable.patch
index 346dcd0ac6..e36498b83d 100644
--- a/target/linux/ipq806x/patches/0037-pinctrl-msm-Make-number-of-functions-variable.patch
+++ b/target/linux/ipq806x/patches/0037-pinctrl-msm-Make-number-of-functions-variable.patch
@@ -15,11 +15,9 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-msm8x74.c | 3 ++-
3 files changed, 6 insertions(+), 4 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 706809e..7d67d34 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -145,12 +145,12 @@ static int msm_pinmux_enable(struct pinctrl_dev *pctldev,
+@@ -145,12 +145,12 @@ static int msm_pinmux_enable(struct pinc
if (WARN_ON(g->mux_bit < 0))
return -EINVAL;
@@ -34,8 +32,6 @@ index 706809e..7d67d34 100644
return -EINVAL;
spin_lock_irqsave(&pctrl->lock, flags);
-diff --git a/drivers/pinctrl/pinctrl-msm.h b/drivers/pinctrl/pinctrl-msm.h
-index 6e26f1b..7b2a227 100644
--- a/drivers/pinctrl/pinctrl-msm.h
+++ b/drivers/pinctrl/pinctrl-msm.h
@@ -65,7 +65,8 @@ struct msm_pingroup {
@@ -48,11 +44,9 @@ index 6e26f1b..7b2a227 100644
s16 ctl_reg;
s16 io_reg;
-diff --git a/drivers/pinctrl/pinctrl-msm8x74.c b/drivers/pinctrl/pinctrl-msm8x74.c
-index dde5529..57766d5 100644
--- a/drivers/pinctrl/pinctrl-msm8x74.c
+++ b/drivers/pinctrl/pinctrl-msm8x74.c
-@@ -341,7 +341,7 @@ static const unsigned int sdc2_data_pins[] = { 151 };
+@@ -341,7 +341,7 @@ static const unsigned int sdc2_data_pins
.name = "gpio" #id, \
.pins = gpio##id##_pins, \
.npins = ARRAY_SIZE(gpio##id##_pins), \
@@ -61,7 +55,7 @@ index dde5529..57766d5 100644
MSM_MUX_NA, /* gpio mode */ \
MSM_MUX_##f1, \
MSM_MUX_##f2, \
-@@ -351,6 +351,7 @@ static const unsigned int sdc2_data_pins[] = { 151 };
+@@ -351,6 +351,7 @@ static const unsigned int sdc2_data_pins
MSM_MUX_##f6, \
MSM_MUX_##f7 \
}, \
@@ -69,6 +63,3 @@ index dde5529..57766d5 100644
.ctl_reg = 0x1000 + 0x10 * id, \
.io_reg = 0x1004 + 0x10 * id, \
.intr_cfg_reg = 0x1008 + 0x10 * id, \
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0038-pinctrl-msm-Add-definitions-for-the-APQ8064-platform.patch b/target/linux/ipq806x/patches/0038-pinctrl-msm-Add-definitions-for-the-APQ8064-platform.patch
index 20e5a1dc83..a177d35285 100644
--- a/target/linux/ipq806x/patches/0038-pinctrl-msm-Add-definitions-for-the-APQ8064-platform.patch
+++ b/target/linux/ipq806x/patches/0038-pinctrl-msm-Add-definitions-for-the-APQ8064-platform.patch
@@ -16,8 +16,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 files changed, 575 insertions(+)
create mode 100644 drivers/pinctrl/pinctrl-apq8064.c
-diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
-index 06cee01..91993a6 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -222,6 +222,14 @@ config PINCTRL_MSM
@@ -35,11 +33,9 @@ index 06cee01..91993a6 100644
config PINCTRL_MSM8X74
tristate "Qualcomm 8x74 pin controller driver"
depends on GPIOLIB && OF
-diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
-index 4b83588..9e1fb67 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
-@@ -38,6 +38,7 @@ obj-$(CONFIG_PINCTRL_IMX23) += pinctrl-imx23.o
+@@ -38,6 +38,7 @@ obj-$(CONFIG_PINCTRL_IMX23) += pinctrl-i
obj-$(CONFIG_PINCTRL_IMX25) += pinctrl-imx25.o
obj-$(CONFIG_PINCTRL_IMX28) += pinctrl-imx28.o
obj-$(CONFIG_PINCTRL_MSM) += pinctrl-msm.o
@@ -47,9 +43,6 @@ index 4b83588..9e1fb67 100644
obj-$(CONFIG_PINCTRL_MSM8X74) += pinctrl-msm8x74.o
obj-$(CONFIG_PINCTRL_NOMADIK) += pinctrl-nomadik.o
obj-$(CONFIG_PINCTRL_STN8815) += pinctrl-nomadik-stn8815.o
-diff --git a/drivers/pinctrl/pinctrl-apq8064.c b/drivers/pinctrl/pinctrl-apq8064.c
-new file mode 100644
-index 0000000..7c2a8ba
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-apq8064.c
@@ -0,0 +1,566 @@
@@ -619,6 +612,3 @@ index 0000000..7c2a8ba
+MODULE_DESCRIPTION("Qualcomm APQ8064 pinctrl driver");
+MODULE_LICENSE("GPL v2");
+MODULE_DEVICE_TABLE(of, apq8064_pinctrl_of_match);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0039-pinctrl-msm8x74-make-Kconfig-dependency-more-strict.patch b/target/linux/ipq806x/patches/0039-pinctrl-msm8x74-make-Kconfig-dependency-more-strict.patch
index 51ed6d645f..7c56af6537 100644
--- a/target/linux/ipq806x/patches/0039-pinctrl-msm8x74-make-Kconfig-dependency-more-strict.patch
+++ b/target/linux/ipq806x/patches/0039-pinctrl-msm8x74-make-Kconfig-dependency-more-strict.patch
@@ -18,8 +18,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
-index 91993a6..d34639d 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -232,7 +232,7 @@ config PINCTRL_APQ8064
@@ -31,6 +29,3 @@ index 91993a6..d34639d 100644
select PINCTRL_MSM
help
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0040-pinctrl-qcom-Add-definitions-for-IPQ8064.patch b/target/linux/ipq806x/patches/0040-pinctrl-qcom-Add-definitions-for-IPQ8064.patch
index 6b48085289..a54604a775 100644
--- a/target/linux/ipq806x/patches/0040-pinctrl-qcom-Add-definitions-for-IPQ8064.patch
+++ b/target/linux/ipq806x/patches/0040-pinctrl-qcom-Add-definitions-for-IPQ8064.patch
@@ -16,8 +16,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 files changed, 662 insertions(+)
create mode 100644 drivers/pinctrl/pinctrl-ipq8064.c
-diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
-index d34639d..232e6bc 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -230,6 +230,14 @@ config PINCTRL_APQ8064
@@ -35,11 +33,9 @@ index d34639d..232e6bc 100644
config PINCTRL_MSM8X74
tristate "Qualcomm 8x74 pin controller driver"
depends on GPIOLIB && OF && (ARCH_QCOM || COMPILE_TEST)
-diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
-index 9e1fb67..6b8474a 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
-@@ -39,6 +39,7 @@ obj-$(CONFIG_PINCTRL_IMX25) += pinctrl-imx25.o
+@@ -39,6 +39,7 @@ obj-$(CONFIG_PINCTRL_IMX25) += pinctrl-i
obj-$(CONFIG_PINCTRL_IMX28) += pinctrl-imx28.o
obj-$(CONFIG_PINCTRL_MSM) += pinctrl-msm.o
obj-$(CONFIG_PINCTRL_APQ8064) += pinctrl-apq8064.o
@@ -47,9 +43,6 @@ index 9e1fb67..6b8474a 100644
obj-$(CONFIG_PINCTRL_MSM8X74) += pinctrl-msm8x74.o
obj-$(CONFIG_PINCTRL_NOMADIK) += pinctrl-nomadik.o
obj-$(CONFIG_PINCTRL_STN8815) += pinctrl-nomadik-stn8815.o
-diff --git a/drivers/pinctrl/pinctrl-ipq8064.c b/drivers/pinctrl/pinctrl-ipq8064.c
-new file mode 100644
-index 0000000..1700b49
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-ipq8064.c
@@ -0,0 +1,653 @@
@@ -706,6 +699,3 @@ index 0000000..1700b49
+MODULE_DESCRIPTION("Qualcomm IPQ8064 pinctrl driver");
+MODULE_LICENSE("GPL v2");
+MODULE_DEVICE_TABLE(of, ipq8064_pinctrl_of_match);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0041-dt-Document-Qualcomm-IPQ8064-pinctrl-binding.patch b/target/linux/ipq806x/patches/0041-dt-Document-Qualcomm-IPQ8064-pinctrl-binding.patch
index 2a7c870556..c1adc991d8 100644
--- a/target/linux/ipq806x/patches/0041-dt-Document-Qualcomm-IPQ8064-pinctrl-binding.patch
+++ b/target/linux/ipq806x/patches/0041-dt-Document-Qualcomm-IPQ8064-pinctrl-binding.patch
@@ -14,9 +14,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 file changed, 95 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt
-diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt
-new file mode 100644
-index 0000000..e0d35a4
--- /dev/null
+++ b/Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt
@@ -0,0 +1,95 @@
@@ -115,6 +112,3 @@ index 0000000..e0d35a4
+ };
+ };
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0042-ARM-qcom-Select-PINCTRL-by-default-for-ARCH_QCOM.patch b/target/linux/ipq806x/patches/0042-ARM-qcom-Select-PINCTRL-by-default-for-ARCH_QCOM.patch
index c1c116f0b6..cbccbc2d80 100644
--- a/target/linux/ipq806x/patches/0042-ARM-qcom-Select-PINCTRL-by-default-for-ARCH_QCOM.patch
+++ b/target/linux/ipq806x/patches/0042-ARM-qcom-Select-PINCTRL-by-default-for-ARCH_QCOM.patch
@@ -12,8 +12,6 @@ Acked-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/mach-qcom/Kconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig
-index a028be2..6440c11 100644
--- a/arch/arm/mach-qcom/Kconfig
+++ b/arch/arm/mach-qcom/Kconfig
@@ -5,6 +5,7 @@ config ARCH_QCOM
@@ -24,6 +22,3 @@ index a028be2..6440c11 100644
select QCOM_SCM if SMP
help
Support for Qualcomm's devicetree based systems.
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0043-pinctrl-qcom-Correct-name-for-pin-0.patch b/target/linux/ipq806x/patches/0043-pinctrl-qcom-Correct-name-for-pin-0.patch
index 71e5572b67..03896ec85c 100644
--- a/target/linux/ipq806x/patches/0043-pinctrl-qcom-Correct-name-for-pin-0.patch
+++ b/target/linux/ipq806x/patches/0043-pinctrl-qcom-Correct-name-for-pin-0.patch
@@ -10,8 +10,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/pinctrl/pinctrl-ipq8064.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/pinctrl/pinctrl-ipq8064.c b/drivers/pinctrl/pinctrl-ipq8064.c
-index 1700b49..54aba9f 100644
--- a/drivers/pinctrl/pinctrl-ipq8064.c
+++ b/drivers/pinctrl/pinctrl-ipq8064.c
@@ -20,7 +20,7 @@
@@ -23,6 +21,3 @@ index 1700b49..54aba9f 100644
PINCTRL_PIN(1, "GPIO_1"),
PINCTRL_PIN(2, "GPIO_2"),
PINCTRL_PIN(3, "GPIO_3"),
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0044-dmaengine-qcom_bam_dma-Add-device-tree-binding.patch b/target/linux/ipq806x/patches/0044-dmaengine-qcom_bam_dma-Add-device-tree-binding.patch
index 148959a9bc..e77d05f279 100644
--- a/target/linux/ipq806x/patches/0044-dmaengine-qcom_bam_dma-Add-device-tree-binding.patch
+++ b/target/linux/ipq806x/patches/0044-dmaengine-qcom_bam_dma-Add-device-tree-binding.patch
@@ -13,9 +13,6 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
1 file changed, 41 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
-diff --git a/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
-new file mode 100644
-index 0000000..d75a9d7
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/qcom_bam_dma.txt
@@ -0,0 +1,41 @@
@@ -60,6 +57,3 @@ index 0000000..d75a9d7
+ dmas = <&uart-bam 0>, <&uart-bam 1>;
+ dma-names = "rx", "tx";
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0045-dmaengine-add-Qualcomm-BAM-dma-driver.patch b/target/linux/ipq806x/patches/0045-dmaengine-add-Qualcomm-BAM-dma-driver.patch
index 6dcba78ce5..98c71db5ab 100644
--- a/target/linux/ipq806x/patches/0045-dmaengine-add-Qualcomm-BAM-dma-driver.patch
+++ b/target/linux/ipq806x/patches/0045-dmaengine-add-Qualcomm-BAM-dma-driver.patch
@@ -24,8 +24,6 @@ Signed-off-by: Vinod Koul <vinod.koul@intel.com>
3 files changed, 1122 insertions(+)
create mode 100644 drivers/dma/qcom_bam_dma.c
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index 605b016..f87cef9 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -401,4 +401,13 @@ config DMATEST
@@ -42,8 +40,6 @@ index 605b016..f87cef9 100644
+ provides DMA capabilities for a variety of on-chip devices.
+
endif
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index a029d0f4..5150c82 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -44,3 +44,5 @@ obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
@@ -52,9 +48,6 @@ index a029d0f4..5150c82 100644
obj-$(CONFIG_MOXART_DMA) += moxart-dma.o
+obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
+obj-$(CONFIG_QCOM_BAM_DMA) += qcom_bam_dma.o
-diff --git a/drivers/dma/qcom_bam_dma.c b/drivers/dma/qcom_bam_dma.c
-new file mode 100644
-index 0000000..82c9231
--- /dev/null
+++ b/drivers/dma/qcom_bam_dma.c
@@ -0,0 +1,1111 @@
@@ -1169,6 +1162,3 @@ index 0000000..82c9231
+MODULE_AUTHOR("Andy Gross <agross@codeaurora.org>");
+MODULE_DESCRIPTION("QCOM BAM DMA engine driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0046-mmc-sdhci-msm-Qualcomm-SDHCI-binding-documentation.patch b/target/linux/ipq806x/patches/0046-mmc-sdhci-msm-Qualcomm-SDHCI-binding-documentation.patch
index b173fcfc1d..65c5347fd5 100644
--- a/target/linux/ipq806x/patches/0046-mmc-sdhci-msm-Qualcomm-SDHCI-binding-documentation.patch
+++ b/target/linux/ipq806x/patches/0046-mmc-sdhci-msm-Qualcomm-SDHCI-binding-documentation.patch
@@ -15,9 +15,6 @@ Signed-off-by: Chris Ball <chris@printf.net>
1 file changed, 55 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mmc/sdhci-msm.txt
-diff --git a/Documentation/devicetree/bindings/mmc/sdhci-msm.txt b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
-new file mode 100644
-index 0000000..81b33b5
--- /dev/null
+++ b/Documentation/devicetree/bindings/mmc/sdhci-msm.txt
@@ -0,0 +1,55 @@
@@ -76,6 +73,3 @@ index 0000000..81b33b5
+ clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
+ clock-names = "core", "iface";
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0047-mmc-sdhci-msm-Initial-support-for-Qualcomm-chipsets.patch b/target/linux/ipq806x/patches/0047-mmc-sdhci-msm-Initial-support-for-Qualcomm-chipsets.patch
index 7ec97a4687..9417e1d593 100644
--- a/target/linux/ipq806x/patches/0047-mmc-sdhci-msm-Initial-support-for-Qualcomm-chipsets.patch
+++ b/target/linux/ipq806x/patches/0047-mmc-sdhci-msm-Initial-support-for-Qualcomm-chipsets.patch
@@ -20,8 +20,6 @@ Signed-off-by: Chris Ball <chris@printf.net>
3 files changed, 222 insertions(+)
create mode 100644 drivers/mmc/host/sdhci-msm.c
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 1384f67..c0ea72a 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -334,6 +334,19 @@ config MMC_ATMELMCI
@@ -44,11 +42,9 @@ index 1384f67..c0ea72a 100644
config MMC_MSM
tristate "Qualcomm SDCC Controller Support"
depends on MMC && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50)
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index 3483b6b..bbc8445 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -64,6 +64,7 @@ obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
+@@ -65,6 +65,7 @@ obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhc
obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o
obj-$(CONFIG_MMC_SDHCI_BCM_KONA) += sdhci-bcm-kona.o
obj-$(CONFIG_MMC_SDHCI_BCM2835) += sdhci-bcm2835.o
@@ -56,9 +52,6 @@ index 3483b6b..bbc8445 100644
ifeq ($(CONFIG_CB710_DEBUG),y)
CFLAGS-cb710-mmc += -DDEBUG
-diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
-new file mode 100644
-index 0000000..3b0606f
--- /dev/null
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -0,0 +1,208 @@
@@ -270,6 +263,3 @@ index 0000000..3b0606f
+
+MODULE_DESCRIPTION("Qualcomm Secure Digital Host Controller Interface driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0048-mmc-sdhci-msm-Add-platform_execute_tuning-implementa.patch b/target/linux/ipq806x/patches/0048-mmc-sdhci-msm-Add-platform_execute_tuning-implementa.patch
index 07e122fa64..e2c34bfc12 100644
--- a/target/linux/ipq806x/patches/0048-mmc-sdhci-msm-Add-platform_execute_tuning-implementa.patch
+++ b/target/linux/ipq806x/patches/0048-mmc-sdhci-msm-Add-platform_execute_tuning-implementa.patch
@@ -16,8 +16,6 @@ Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/host/sdhci-msm.c | 420 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 415 insertions(+), 5 deletions(-)
-diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
-index 3b0606f..acb0e9e 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -18,6 +18,8 @@
@@ -467,6 +465,3 @@ index 3b0606f..acb0e9e 100644
static const struct of_device_id sdhci_msm_dt_match[] = {
{ .compatible = "qcom,sdhci-msm-v4" },
{},
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0049-drivers-of-add-initialization-code-for-static-reserv.patch b/target/linux/ipq806x/patches/0049-drivers-of-add-initialization-code-for-static-reserv.patch
index f520e6cc7a..1e304dddb0 100644
--- a/target/linux/ipq806x/patches/0049-drivers-of-add-initialization-code-for-static-reserv.patch
+++ b/target/linux/ipq806x/patches/0049-drivers-of-add-initialization-code-for-static-reserv.patch
@@ -25,8 +25,6 @@ Signed-off-by: Grant Likely <grant.likely@linaro.org>
include/linux/of_fdt.h | 4 ++
2 files changed, 135 insertions(+)
-diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
-index 758b4f8..819e112 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -15,6 +15,7 @@
@@ -37,7 +35,7 @@ index 758b4f8..819e112 100644
#include <linux/string.h>
#include <linux/errno.h>
#include <linux/slab.h>
-@@ -440,6 +441,118 @@ struct boot_param_header *initial_boot_params;
+@@ -440,6 +441,118 @@ struct boot_param_header *initial_boot_p
#ifdef CONFIG_OF_EARLY_FLATTREE
/**
@@ -156,7 +154,7 @@ index 758b4f8..819e112 100644
* of_scan_flat_dt - scan flattened tree blob and call callback on each.
* @it: callback function
* @data: context data pointer
-@@ -856,6 +969,16 @@ void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
+@@ -859,6 +972,16 @@ void __init __weak early_init_dt_add_mem
memblock_add(base, size);
}
@@ -173,7 +171,7 @@ index 758b4f8..819e112 100644
/*
* called from unflatten_device_tree() to bootstrap devicetree itself
* Architectures can override this definition if memblock isn't used
-@@ -864,6 +987,14 @@ void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align)
+@@ -867,6 +990,14 @@ void * __init __weak early_init_dt_alloc
{
return __va(memblock_alloc(size, align));
}
@@ -188,11 +186,9 @@ index 758b4f8..819e112 100644
#endif
bool __init early_init_dt_scan(void *params)
-diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
-index 2b77058..ddd7219 100644
--- a/include/linux/of_fdt.h
+++ b/include/linux/of_fdt.h
-@@ -98,7 +98,10 @@ extern int early_init_dt_scan_chosen(unsigned long node, const char *uname,
+@@ -98,7 +98,10 @@ extern int early_init_dt_scan_chosen(uns
int depth, void *data);
extern int early_init_dt_scan_memory(unsigned long node, const char *uname,
int depth, void *data);
@@ -203,7 +199,7 @@ index 2b77058..ddd7219 100644
extern void * early_init_dt_alloc_memory_arch(u64 size, u64 align);
extern u64 dt_mem_next_cell(int s, __be32 **cellp);
-@@ -118,6 +121,7 @@ extern void unflatten_and_copy_device_tree(void);
+@@ -118,6 +121,7 @@ extern void unflatten_and_copy_device_tr
extern void early_init_devtree(void *);
extern void early_get_first_memblock_info(void *, phys_addr_t *);
#else /* CONFIG_OF_FLATTREE */
@@ -211,6 +207,3 @@ index 2b77058..ddd7219 100644
static inline const char *of_flat_dt_get_machine_name(void) { return NULL; }
static inline void unflatten_device_tree(void) {}
static inline void unflatten_and_copy_device_tree(void) {}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0050-drivers-of-add-initialization-code-for-dynamic-reser.patch b/target/linux/ipq806x/patches/0050-drivers-of-add-initialization-code-for-dynamic-reser.patch
index b23867ba55..4b633b599f 100644
--- a/target/linux/ipq806x/patches/0050-drivers-of-add-initialization-code-for-dynamic-reser.patch
+++ b/target/linux/ipq806x/patches/0050-drivers-of-add-initialization-code-for-dynamic-reser.patch
@@ -22,8 +22,6 @@ Signed-off-by: Grant Likely <grant.likely@linaro.org>
create mode 100644 drivers/of/of_reserved_mem.c
create mode 100644 include/linux/of_reserved_mem.h
-diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
-index c6973f1..30a7d87 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -75,4 +75,10 @@ config OF_MTD
@@ -37,8 +35,6 @@ index c6973f1..30a7d87 100644
+ Helpers to allow for reservation of memory regions
+
endmenu # OF
-diff --git a/drivers/of/Makefile b/drivers/of/Makefile
-index efd0510..ed9660a 100644
--- a/drivers/of/Makefile
+++ b/drivers/of/Makefile
@@ -9,3 +9,4 @@ obj-$(CONFIG_OF_MDIO) += of_mdio.o
@@ -46,8 +42,6 @@ index efd0510..ed9660a 100644
obj-$(CONFIG_OF_PCI_IRQ) += of_pci_irq.o
obj-$(CONFIG_OF_MTD) += of_mtd.o
+obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o
-diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
-index 819e112..510c0d8 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -15,6 +15,7 @@
@@ -58,7 +52,7 @@ index 819e112..510c0d8 100644
#include <linux/sizes.h>
#include <linux/string.h>
#include <linux/errno.h>
-@@ -450,7 +451,7 @@ static int __init __reserved_mem_reserve_reg(unsigned long node,
+@@ -450,7 +451,7 @@ static int __init __reserved_mem_reserve
phys_addr_t base, size;
unsigned long len;
__be32 *prop;
@@ -67,7 +61,7 @@ index 819e112..510c0d8 100644
prop = of_get_flat_dt_prop(node, "reg", &len);
if (!prop)
-@@ -477,6 +478,10 @@ static int __init __reserved_mem_reserve_reg(unsigned long node,
+@@ -477,6 +478,10 @@ static int __init __reserved_mem_reserve
uname, &base, (unsigned long)size / SZ_1M);
len -= t_len;
@@ -78,7 +72,7 @@ index 819e112..510c0d8 100644
}
return 0;
}
-@@ -512,6 +517,7 @@ static int __init __fdt_scan_reserved_mem(unsigned long node, const char *uname,
+@@ -512,6 +517,7 @@ static int __init __fdt_scan_reserved_me
{
static int found;
const char *status;
@@ -86,7 +80,7 @@ index 819e112..510c0d8 100644
if (!found && depth == 1 && strcmp(uname, "reserved-memory") == 0) {
if (__reserved_mem_check_root(node) != 0) {
-@@ -534,7 +540,9 @@ static int __init __fdt_scan_reserved_mem(unsigned long node, const char *uname,
+@@ -534,7 +540,9 @@ static int __init __fdt_scan_reserved_me
if (status && strcmp(status, "okay") != 0 && strcmp(status, "ok") != 0)
return 0;
@@ -97,7 +91,7 @@ index 819e112..510c0d8 100644
/* scan next node */
return 0;
-@@ -550,6 +558,7 @@ static int __init __fdt_scan_reserved_mem(unsigned long node, const char *uname,
+@@ -550,6 +558,7 @@ static int __init __fdt_scan_reserved_me
void __init early_init_fdt_scan_reserved_mem(void)
{
of_scan_flat_dt(__fdt_scan_reserved_mem, NULL);
@@ -105,9 +99,6 @@ index 819e112..510c0d8 100644
}
/**
-diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c
-new file mode 100644
-index 0000000..69b8117
--- /dev/null
+++ b/drivers/of/of_reserved_mem.c
@@ -0,0 +1,188 @@
@@ -299,9 +290,6 @@ index 0000000..69b8117
+ &rmem->base, &rmem->size);
+ }
+}
-diff --git a/include/linux/of_reserved_mem.h b/include/linux/of_reserved_mem.h
-new file mode 100644
-index 0000000..89226ed
--- /dev/null
+++ b/include/linux/of_reserved_mem.h
@@ -0,0 +1,21 @@
@@ -326,6 +314,3 @@ index 0000000..89226ed
+#endif
+
+#endif /* __OF_RESERVED_MEM_H */
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch b/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch
index ce01a8f084..48ad8ac835 100644
--- a/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch
+++ b/target/linux/ipq806x/patches/0051-drivers-of-add-support-for-custom-reserved-memory-dr.patch
@@ -18,11 +18,9 @@ Signed-off-by: Grant Likely <grant.likely@linaro.org>
include/linux/of_reserved_mem.h | 32 ++++++++++++++++++++++++++++++++
3 files changed, 72 insertions(+)
-diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c
-index 69b8117..daaaf93 100644
--- a/drivers/of/of_reserved_mem.c
+++ b/drivers/of/of_reserved_mem.c
-@@ -170,6 +170,33 @@ static int __init __reserved_mem_alloc_size(unsigned long node,
+@@ -170,6 +170,33 @@ static int __init __reserved_mem_alloc_s
return 0;
}
@@ -64,11 +62,9 @@ index 69b8117..daaaf93 100644
+ __reserved_mem_init_node(rmem);
}
}
-diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
-index bd02ca7..146e4ff 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
-@@ -167,6 +167,16 @@
+@@ -177,6 +177,16 @@
#define CLK_OF_TABLES()
#endif
@@ -85,7 +81,7 @@ index bd02ca7..146e4ff 100644
#ifdef CONFIG_SMP
#define CPU_METHOD_OF_TABLES() . = ALIGN(8); \
VMLINUX_SYMBOL(__cpu_method_of_table_begin) = .; \
-@@ -499,6 +509,7 @@
+@@ -510,6 +520,7 @@
TRACE_SYSCALLS() \
MEM_DISCARD(init.rodata) \
CLK_OF_TABLES() \
@@ -93,8 +89,6 @@ index bd02ca7..146e4ff 100644
CLKSRC_OF_TABLES() \
CPU_METHOD_OF_TABLES() \
KERNEL_DTB() \
-diff --git a/include/linux/of_reserved_mem.h b/include/linux/of_reserved_mem.h
-index 89226ed..9b1fbb7 100644
--- a/include/linux/of_reserved_mem.h
+++ b/include/linux/of_reserved_mem.h
@@ -1,21 +1,53 @@
@@ -151,6 +145,3 @@ index 89226ed..9b1fbb7 100644
#endif
#endif /* __OF_RESERVED_MEM_H */
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0052-arm-add-support-for-reserved-memory-defined-by-devic.patch b/target/linux/ipq806x/patches/0052-arm-add-support-for-reserved-memory-defined-by-devic.patch
index 8ff56329e0..7e90e2d88a 100644
--- a/target/linux/ipq806x/patches/0052-arm-add-support-for-reserved-memory-defined-by-devic.patch
+++ b/target/linux/ipq806x/patches/0052-arm-add-support-for-reserved-memory-defined-by-devic.patch
@@ -13,11 +13,9 @@ Signed-off-by: Grant Likely <grant.likely@linaro.org>
arch/arm/mm/init.c | 2 ++
2 files changed, 3 insertions(+)
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index d02ce70..4332e8d 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1922,6 +1922,7 @@ config USE_OF
+@@ -1923,6 +1923,7 @@ config USE_OF
select IRQ_DOMAIN
select OF
select OF_EARLY_FLATTREE
@@ -25,11 +23,9 @@ index d02ce70..4332e8d 100644
help
Include support for flattened device tree machine descriptions.
-diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
-index 804d615..2a77ba8 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
-@@ -323,6 +323,8 @@ void __init arm_memblock_init(struct meminfo *mi,
+@@ -323,6 +323,8 @@ void __init arm_memblock_init(struct mem
if (mdesc->reserve)
mdesc->reserve();
@@ -38,6 +34,3 @@ index 804d615..2a77ba8 100644
/*
* reserve memory for DMA contigouos allocations,
* must come from DMA area inside low memory
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0053-of-document-bindings-for-reserved-memory-nodes.patch b/target/linux/ipq806x/patches/0053-of-document-bindings-for-reserved-memory-nodes.patch
index b499e17551..5363b706c2 100644
--- a/target/linux/ipq806x/patches/0053-of-document-bindings-for-reserved-memory-nodes.patch
+++ b/target/linux/ipq806x/patches/0053-of-document-bindings-for-reserved-memory-nodes.patch
@@ -20,9 +20,6 @@ Signed-off-by: Grant Likely <grant.likely@linaro.org>
1 file changed, 133 insertions(+)
create mode 100644 Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
-diff --git a/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
-new file mode 100644
-index 0000000..3da0ebd
--- /dev/null
+++ b/Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt
@@ -0,0 +1,133 @@
@@ -159,6 +156,3 @@ index 0000000..3da0ebd
+ /* ... */
+ };
+};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0054-of-only-scan-for-reserved-mem-when-fdt-present.patch b/target/linux/ipq806x/patches/0054-of-only-scan-for-reserved-mem-when-fdt-present.patch
index a5423d8446..6efcf38205 100644
--- a/target/linux/ipq806x/patches/0054-of-only-scan-for-reserved-mem-when-fdt-present.patch
+++ b/target/linux/ipq806x/patches/0054-of-only-scan-for-reserved-mem-when-fdt-present.patch
@@ -16,11 +16,9 @@ Signed-off-by: Grant Likely <grant.likely@linaro.org>
drivers/of/fdt.c | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
-index 510c0d8..501bc83 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
-@@ -557,6 +557,9 @@ static int __init __fdt_scan_reserved_mem(unsigned long node, const char *uname,
+@@ -557,6 +557,9 @@ static int __init __fdt_scan_reserved_me
*/
void __init early_init_fdt_scan_reserved_mem(void)
{
@@ -30,6 +28,3 @@ index 510c0d8..501bc83 100644
of_scan_flat_dt(__fdt_scan_reserved_mem, NULL);
fdt_init_reserved_mem();
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0055-spmi-Linux-driver-framework-for-SPMI.patch b/target/linux/ipq806x/patches/0055-spmi-Linux-driver-framework-for-SPMI.patch
index 8b5943894d..80d3b6c05c 100644
--- a/target/linux/ipq806x/patches/0055-spmi-Linux-driver-framework-for-SPMI.patch
+++ b/target/linux/ipq806x/patches/0055-spmi-Linux-driver-framework-for-SPMI.patch
@@ -33,8 +33,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
create mode 100644 include/dt-bindings/spmi/spmi.h
create mode 100644 include/linux/spmi.h
-diff --git a/drivers/Kconfig b/drivers/Kconfig
-index b3138fb..e0a4ae6 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
@@ -46,8 +44,6 @@ index b3138fb..e0a4ae6 100644
source "drivers/hsi/Kconfig"
source "drivers/pps/Kconfig"
-diff --git a/drivers/Makefile b/drivers/Makefile
-index 8e3b8b0..3d6de8b 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -66,6 +66,7 @@ obj-$(CONFIG_ATA) += ata/
@@ -58,9 +54,6 @@ index 8e3b8b0..3d6de8b 100644
obj-y += hsi/
obj-y += net/
obj-$(CONFIG_ATM) += atm/
-diff --git a/drivers/spmi/Kconfig b/drivers/spmi/Kconfig
-new file mode 100644
-index 0000000..1dbfee0
--- /dev/null
+++ b/drivers/spmi/Kconfig
@@ -0,0 +1,9 @@
@@ -73,9 +66,6 @@ index 0000000..1dbfee0
+ SPMI (System Power Management Interface) is a two-wire
+ serial interface between baseband and application processors
+ and Power Management Integrated Circuits (PMIC).
-diff --git a/drivers/spmi/Makefile b/drivers/spmi/Makefile
-new file mode 100644
-index 0000000..1de1acd
--- /dev/null
+++ b/drivers/spmi/Makefile
@@ -0,0 +1,4 @@
@@ -83,9 +73,6 @@ index 0000000..1de1acd
+# Makefile for kernel SPMI framework.
+#
+obj-$(CONFIG_SPMI) += spmi.o
-diff --git a/drivers/spmi/spmi.c b/drivers/spmi/spmi.c
-new file mode 100644
-index 0000000..6122c8f
--- /dev/null
+++ b/drivers/spmi/spmi.c
@@ -0,0 +1,609 @@
@@ -698,9 +685,6 @@ index 0000000..6122c8f
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("SPMI module");
+MODULE_ALIAS("platform:spmi");
-diff --git a/include/dt-bindings/spmi/spmi.h b/include/dt-bindings/spmi/spmi.h
-new file mode 100644
-index 0000000..d11e1e5
--- /dev/null
+++ b/include/dt-bindings/spmi/spmi.h
@@ -0,0 +1,18 @@
@@ -722,8 +706,6 @@ index 0000000..d11e1e5
+#define SPMI_GSID 1
+
+#endif
-diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
-index 45e9214..677e474 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -432,6 +432,14 @@ struct spi_device_id {
@@ -741,9 +723,6 @@ index 45e9214..677e474 100644
/* dmi */
enum dmi_field {
DMI_NONE,
-diff --git a/include/linux/spmi.h b/include/linux/spmi.h
-new file mode 100644
-index 0000000..91f5eab
--- /dev/null
+++ b/include/linux/spmi.h
@@ -0,0 +1,191 @@
@@ -938,6 +917,3 @@ index 0000000..91f5eab
+int spmi_command_shutdown(struct spmi_device *sdev);
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0056-spmi-Add-MSM-PMIC-Arbiter-SPMI-controller.patch b/target/linux/ipq806x/patches/0056-spmi-Add-MSM-PMIC-Arbiter-SPMI-controller.patch
index 24f841e589..e2fde2d788 100644
--- a/target/linux/ipq806x/patches/0056-spmi-Add-MSM-PMIC-Arbiter-SPMI-controller.patch
+++ b/target/linux/ipq806x/patches/0056-spmi-Add-MSM-PMIC-Arbiter-SPMI-controller.patch
@@ -26,8 +26,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 files changed, 424 insertions(+)
create mode 100644 drivers/spmi/spmi-pmic-arb.c
-diff --git a/drivers/spmi/Kconfig b/drivers/spmi/Kconfig
-index 1dbfee0..80b7901 100644
--- a/drivers/spmi/Kconfig
+++ b/drivers/spmi/Kconfig
@@ -7,3 +7,20 @@ menuconfig SPMI
@@ -51,8 +49,6 @@ index 1dbfee0..80b7901 100644
+ other devices that have the SPMI interface.
+
+endif
-diff --git a/drivers/spmi/Makefile b/drivers/spmi/Makefile
-index 1de1acd..fc75104 100644
--- a/drivers/spmi/Makefile
+++ b/drivers/spmi/Makefile
@@ -2,3 +2,5 @@
@@ -61,9 +57,6 @@ index 1de1acd..fc75104 100644
obj-$(CONFIG_SPMI) += spmi.o
+
+obj-$(CONFIG_SPMI_MSM_PMIC_ARB) += spmi-pmic-arb.o
-diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
-new file mode 100644
-index 0000000..2dd27e8
--- /dev/null
+++ b/drivers/spmi/spmi-pmic-arb.c
@@ -0,0 +1,405 @@
@@ -472,6 +465,3 @@ index 0000000..2dd27e8
+
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:spmi_pmic_arb");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0057-spmi-pmic_arb-add-support-for-interrupt-handling.patch b/target/linux/ipq806x/patches/0057-spmi-pmic_arb-add-support-for-interrupt-handling.patch
index cbd49b0f76..b1420b4050 100644
--- a/target/linux/ipq806x/patches/0057-spmi-pmic_arb-add-support-for-interrupt-handling.patch
+++ b/target/linux/ipq806x/patches/0057-spmi-pmic_arb-add-support-for-interrupt-handling.patch
@@ -19,8 +19,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spmi/spmi-pmic-arb.c | 377 +++++++++++++++++++++++++++++++++++++++++-
2 files changed, 376 insertions(+), 2 deletions(-)
-diff --git a/drivers/spmi/Kconfig b/drivers/spmi/Kconfig
-index 80b7901..075bd79 100644
--- a/drivers/spmi/Kconfig
+++ b/drivers/spmi/Kconfig
@@ -13,6 +13,7 @@ if SPMI
@@ -31,8 +29,6 @@ index 80b7901..075bd79 100644
depends on ARCH_MSM || COMPILE_TEST
default ARCH_MSM
help
-diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
-index 2dd27e8..246e03a 100644
--- a/drivers/spmi/spmi-pmic-arb.c
+++ b/drivers/spmi/spmi-pmic-arb.c
@@ -13,6 +13,9 @@
@@ -75,7 +71,7 @@ index 2dd27e8..246e03a 100644
};
static inline u32 pmic_arb_base_read(struct spmi_pmic_arb_dev *dev, u32 offset)
-@@ -306,12 +325,316 @@ static int pmic_arb_write_cmd(struct spmi_controller *ctrl, u8 opc, u8 sid,
+@@ -306,12 +325,316 @@ static int pmic_arb_write_cmd(struct spm
return rc;
}
@@ -393,7 +389,7 @@ index 2dd27e8..246e03a 100644
int err, i;
ctrl = spmi_controller_alloc(&pdev->dev, sizeof(*pa));
-@@ -319,6 +642,7 @@ static int spmi_pmic_arb_probe(struct platform_device *pdev)
+@@ -319,6 +642,7 @@ static int spmi_pmic_arb_probe(struct pl
return -ENOMEM;
pa = spmi_controller_get_drvdata(ctrl);
@@ -401,7 +397,7 @@ index 2dd27e8..246e03a 100644
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "core");
pa->base = devm_ioremap_resource(&ctrl->dev, res);
-@@ -341,6 +665,12 @@ static int spmi_pmic_arb_probe(struct platform_device *pdev)
+@@ -341,6 +665,12 @@ static int spmi_pmic_arb_probe(struct pl
goto err_put_ctrl;
}
@@ -414,7 +410,7 @@ index 2dd27e8..246e03a 100644
err = of_property_read_u32(pdev->dev.of_node, "qcom,channel", &channel);
if (err) {
dev_err(&pdev->dev, "channel unspecified.\n");
-@@ -355,6 +685,29 @@ static int spmi_pmic_arb_probe(struct platform_device *pdev)
+@@ -355,6 +685,29 @@ static int spmi_pmic_arb_probe(struct pl
pa->channel = channel;
@@ -444,7 +440,7 @@ index 2dd27e8..246e03a 100644
platform_set_drvdata(pdev, ctrl);
raw_spin_lock_init(&pa->lock);
-@@ -362,15 +715,31 @@ static int spmi_pmic_arb_probe(struct platform_device *pdev)
+@@ -362,15 +715,31 @@ static int spmi_pmic_arb_probe(struct pl
ctrl->read_cmd = pmic_arb_read_cmd;
ctrl->write_cmd = pmic_arb_write_cmd;
@@ -489,6 +485,3 @@ index 2dd27e8..246e03a 100644
spmi_controller_put(ctrl);
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0058-spmi-pmic_arb-make-selectable-on-ARCH_QCOM.patch b/target/linux/ipq806x/patches/0058-spmi-pmic_arb-make-selectable-on-ARCH_QCOM.patch
index 271e8adad4..0df3780fa0 100644
--- a/target/linux/ipq806x/patches/0058-spmi-pmic_arb-make-selectable-on-ARCH_QCOM.patch
+++ b/target/linux/ipq806x/patches/0058-spmi-pmic_arb-make-selectable-on-ARCH_QCOM.patch
@@ -14,8 +14,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spmi/Kconfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/spmi/Kconfig b/drivers/spmi/Kconfig
-index 075bd79..bf1295e 100644
--- a/drivers/spmi/Kconfig
+++ b/drivers/spmi/Kconfig
@@ -14,8 +14,8 @@ config SPMI_MSM_PMIC_ARB
@@ -29,6 +27,3 @@ index 075bd79..bf1295e 100644
help
If you say yes to this option, support will be included for the
built-in SPMI PMIC Arbiter interface on Qualcomm MSM family
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0059-spmi-pm-drop-bus-level-PM-suspend-resume-routines.patch b/target/linux/ipq806x/patches/0059-spmi-pm-drop-bus-level-PM-suspend-resume-routines.patch
index f252fa055b..b8bb48cb4e 100644
--- a/target/linux/ipq806x/patches/0059-spmi-pm-drop-bus-level-PM-suspend-resume-routines.patch
+++ b/target/linux/ipq806x/patches/0059-spmi-pm-drop-bus-level-PM-suspend-resume-routines.patch
@@ -16,11 +16,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/spmi/spmi.c | 35 -----------------------------------
1 file changed, 35 deletions(-)
-diff --git a/drivers/spmi/spmi.c b/drivers/spmi/spmi.c
-index 6122c8f..3b57807 100644
--- a/drivers/spmi/spmi.c
+++ b/drivers/spmi/spmi.c
-@@ -46,40 +46,6 @@ static const struct device_type spmi_ctrl_type = {
+@@ -46,40 +46,6 @@ static const struct device_type spmi_ctr
.release = spmi_ctrl_release,
};
@@ -61,7 +59,7 @@ index 6122c8f..3b57807 100644
static int spmi_device_match(struct device *dev, struct device_driver *drv)
{
if (of_driver_match_device(dev, drv))
-@@ -391,7 +357,6 @@ static int spmi_drv_remove(struct device *dev)
+@@ -391,7 +357,6 @@ static int spmi_drv_remove(struct device
static struct bus_type spmi_bus_type = {
.name = "spmi",
.match = spmi_device_match,
@@ -69,6 +67,3 @@ index 6122c8f..3b57807 100644
.probe = spmi_drv_probe,
.remove = spmi_drv_remove,
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0060-i2c-qup-New-bus-driver-for-the-Qualcomm-QUP-I2C-cont.patch b/target/linux/ipq806x/patches/0060-i2c-qup-New-bus-driver-for-the-Qualcomm-QUP-I2C-cont.patch
index 64993a3e8c..c96fc154e1 100644
--- a/target/linux/ipq806x/patches/0060-i2c-qup-New-bus-driver-for-the-Qualcomm-QUP-I2C-cont.patch
+++ b/target/linux/ipq806x/patches/0060-i2c-qup-New-bus-driver-for-the-Qualcomm-QUP-I2C-cont.patch
@@ -23,11 +23,9 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
3 files changed, 779 insertions(+)
create mode 100644 drivers/i2c/busses/i2c-qup.c
-diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
-index de17c55..1886315 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -648,6 +648,16 @@ config I2C_PXA_SLAVE
+@@ -649,6 +649,16 @@ config I2C_PXA_SLAVE
is necessary for systems where the PXA may be a target on the
I2C bus.
@@ -44,8 +42,6 @@ index de17c55..1886315 100644
config I2C_RIIC
tristate "Renesas RIIC adapter"
depends on ARCH_SHMOBILE || COMPILE_TEST
-diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
-index a08931f..bf2257b 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
@@ -63,6 +63,7 @@ obj-$(CONFIG_I2C_PNX) += i2c-pnx.o
@@ -56,9 +52,6 @@ index a08931f..bf2257b 100644
obj-$(CONFIG_I2C_RIIC) += i2c-riic.o
obj-$(CONFIG_I2C_S3C2410) += i2c-s3c2410.o
obj-$(CONFIG_I2C_S6000) += i2c-s6000.o
-diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
-new file mode 100644
-index 0000000..c9d5f78
--- /dev/null
+++ b/drivers/i2c/busses/i2c-qup.c
@@ -0,0 +1,768 @@
@@ -830,6 +823,3 @@ index 0000000..c9d5f78
+
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:i2c_qup");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0061-i2c-qup-Add-device-tree-bindings-information.patch b/target/linux/ipq806x/patches/0061-i2c-qup-Add-device-tree-bindings-information.patch
index 6ddae4fe6c..2f9ee58f35 100644
--- a/target/linux/ipq806x/patches/0061-i2c-qup-Add-device-tree-bindings-information.patch
+++ b/target/linux/ipq806x/patches/0061-i2c-qup-Add-device-tree-bindings-information.patch
@@ -20,9 +20,6 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
1 file changed, 40 insertions(+)
create mode 100644 Documentation/devicetree/bindings/i2c/qcom,i2c-qup.txt
-diff --git a/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.txt b/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.txt
-new file mode 100644
-index 0000000..dc71754
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/qcom,i2c-qup.txt
@@ -0,0 +1,40 @@
@@ -66,6 +63,3 @@ index 0000000..dc71754
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0062-i2c-qup-off-by-ones-in-qup_i2c_probe.patch b/target/linux/ipq806x/patches/0062-i2c-qup-off-by-ones-in-qup_i2c_probe.patch
index a140997b82..3feef669cf 100644
--- a/target/linux/ipq806x/patches/0062-i2c-qup-off-by-ones-in-qup_i2c_probe.patch
+++ b/target/linux/ipq806x/patches/0062-i2c-qup-off-by-ones-in-qup_i2c_probe.patch
@@ -12,11 +12,9 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-qup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
-index c9d5f78..ee40980 100644
--- a/drivers/i2c/busses/i2c-qup.c
+++ b/drivers/i2c/busses/i2c-qup.c
-@@ -633,12 +633,12 @@ static int qup_i2c_probe(struct platform_device *pdev)
+@@ -633,12 +633,12 @@ static int qup_i2c_probe(struct platform
* associated with each byte written/received
*/
size = QUP_OUTPUT_BLOCK_SIZE(io_mode);
@@ -31,6 +29,3 @@ index c9d5f78..ee40980 100644
return -EIO;
qup->in_blk_sz = blk_sizes[size] / 2;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0063-i2c-qup-use-proper-type-fro-clk_freq.patch b/target/linux/ipq806x/patches/0063-i2c-qup-use-proper-type-fro-clk_freq.patch
index 60411abbaa..13ffab4c0c 100644
--- a/target/linux/ipq806x/patches/0063-i2c-qup-use-proper-type-fro-clk_freq.patch
+++ b/target/linux/ipq806x/patches/0063-i2c-qup-use-proper-type-fro-clk_freq.patch
@@ -12,11 +12,9 @@ Fixes: 10c5a8425968 ('i2c: qup: New bus driver for the Qualcomm QUP I2C controll
drivers/i2c/busses/i2c-qup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
-index ee40980..1b4cf14 100644
--- a/drivers/i2c/busses/i2c-qup.c
+++ b/drivers/i2c/busses/i2c-qup.c
-@@ -562,7 +562,7 @@ static int qup_i2c_probe(struct platform_device *pdev)
+@@ -562,7 +562,7 @@ static int qup_i2c_probe(struct platform
u32 io_mode, hw_ver, size;
int ret, fs_div, hs_div;
int src_clk_freq;
@@ -25,6 +23,3 @@ index ee40980..1b4cf14 100644
qup = devm_kzalloc(&pdev->dev, sizeof(*qup), GFP_KERNEL);
if (!qup)
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0064-i2c-qup-Fix-pm_runtime_get_sync-usage.patch b/target/linux/ipq806x/patches/0064-i2c-qup-Fix-pm_runtime_get_sync-usage.patch
index eaec95084e..497b57e623 100644
--- a/target/linux/ipq806x/patches/0064-i2c-qup-Fix-pm_runtime_get_sync-usage.patch
+++ b/target/linux/ipq806x/patches/0064-i2c-qup-Fix-pm_runtime_get_sync-usage.patch
@@ -13,11 +13,9 @@ Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-qup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c
-index 1b4cf14..2a5efb5 100644
--- a/drivers/i2c/busses/i2c-qup.c
+++ b/drivers/i2c/busses/i2c-qup.c
-@@ -479,7 +479,7 @@ static int qup_i2c_xfer(struct i2c_adapter *adap,
+@@ -479,7 +479,7 @@ static int qup_i2c_xfer(struct i2c_adapt
int ret, idx;
ret = pm_runtime_get_sync(qup->dev);
@@ -26,6 +24,3 @@ index 1b4cf14..2a5efb5 100644
goto out;
writel(1, qup->base + QUP_SW_RESET);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0065-spi-Add-Qualcomm-QUP-SPI-controller-support.patch b/target/linux/ipq806x/patches/0065-spi-Add-Qualcomm-QUP-SPI-controller-support.patch
index a392e0473d..3c52f24674 100644
--- a/target/linux/ipq806x/patches/0065-spi-Add-Qualcomm-QUP-SPI-controller-support.patch
+++ b/target/linux/ipq806x/patches/0065-spi-Add-Qualcomm-QUP-SPI-controller-support.patch
@@ -23,11 +23,9 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
3 files changed, 851 insertions(+)
create mode 100644 drivers/spi/spi-qup.c
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 581ee2a..9e9e3ed 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -381,6 +381,19 @@ config SPI_RSPI
+@@ -390,6 +390,19 @@ config SPI_RSPI
help
SPI driver for Renesas RSPI and QSPI blocks.
@@ -47,11 +45,9 @@ index 581ee2a..9e9e3ed 100644
config SPI_S3C24XX
tristate "Samsung S3C24XX series SPI"
depends on ARCH_S3C24XX
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 95af48d..e598147 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -59,6 +59,7 @@ spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_PXADMA) += spi-pxa2xx-pxadma.o
+@@ -60,6 +60,7 @@ spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_
spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_DMA) += spi-pxa2xx-dma.o
obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o
obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o
@@ -59,9 +55,6 @@ index 95af48d..e598147 100644
obj-$(CONFIG_SPI_RSPI) += spi-rspi.o
obj-$(CONFIG_SPI_S3C24XX) += spi-s3c24xx-hw.o
spi-s3c24xx-hw-y := spi-s3c24xx.o
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-new file mode 100644
-index 0000000..b0bcc09
--- /dev/null
+++ b/drivers/spi/spi-qup.c
@@ -0,0 +1,837 @@
@@ -902,6 +895,3 @@ index 0000000..b0bcc09
+MODULE_LICENSE("GPL v2");
+MODULE_VERSION("0.4");
+MODULE_ALIAS("platform:spi_qup");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0066-spi-qup-Add-device-tree-bindings-information.patch b/target/linux/ipq806x/patches/0066-spi-qup-Add-device-tree-bindings-information.patch
index 0d8b14c62c..079d59ff0a 100644
--- a/target/linux/ipq806x/patches/0066-spi-qup-Add-device-tree-bindings-information.patch
+++ b/target/linux/ipq806x/patches/0066-spi-qup-Add-device-tree-bindings-information.patch
@@ -15,9 +15,6 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
1 file changed, 85 insertions(+)
create mode 100644 Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
-diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
-new file mode 100644
-index 0000000..b82a268
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
@@ -0,0 +1,85 @@
@@ -106,6 +103,3 @@ index 0000000..b82a268
+ spi-cs-high;
+ };
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0067-spi-qup-Remove-spi_master_put-in-spi_qup_remove.patch b/target/linux/ipq806x/patches/0067-spi-qup-Remove-spi_master_put-in-spi_qup_remove.patch
index decf585fd7..128eb23ddb 100644
--- a/target/linux/ipq806x/patches/0067-spi-qup-Remove-spi_master_put-in-spi_qup_remove.patch
+++ b/target/linux/ipq806x/patches/0067-spi-qup-Remove-spi_master_put-in-spi_qup_remove.patch
@@ -13,11 +13,9 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-qup.c | 1 -
1 file changed, 1 deletion(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index b0bcc09..5edc56f 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
-@@ -802,7 +802,6 @@ static int spi_qup_remove(struct platform_device *pdev)
+@@ -802,7 +802,6 @@ static int spi_qup_remove(struct platfor
pm_runtime_put_noidle(&pdev->dev);
pm_runtime_disable(&pdev->dev);
@@ -25,6 +23,3 @@ index b0bcc09..5edc56f 100644
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0068-spi-qup-Convert-ot-let-spi-core-handle-checking-tran.patch b/target/linux/ipq806x/patches/0068-spi-qup-Convert-ot-let-spi-core-handle-checking-tran.patch
index 6914d44a3a..4b025b59fd 100644
--- a/target/linux/ipq806x/patches/0068-spi-qup-Convert-ot-let-spi-core-handle-checking-tran.patch
+++ b/target/linux/ipq806x/patches/0068-spi-qup-Convert-ot-let-spi-core-handle-checking-tran.patch
@@ -17,8 +17,6 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-qup.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index 5edc56f..dec339d 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -134,7 +134,6 @@ struct spi_qup {
@@ -29,7 +27,7 @@ index 5edc56f..dec339d 100644
spinlock_t lock;
int in_fifo_sz;
-@@ -517,18 +516,6 @@ static int spi_qup_setup(struct spi_device *spi)
+@@ -517,18 +516,6 @@ static int spi_qup_setup(struct spi_devi
struct spi_qup *controller = spi_master_get_devdata(spi->master);
struct spi_qup_device *chip = spi_get_ctldata(spi);
@@ -48,7 +46,7 @@ index 5edc56f..dec339d 100644
if (!chip) {
/* First setup */
chip = kzalloc(sizeof(*chip), GFP_KERNEL);
-@@ -629,6 +616,7 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -629,6 +616,7 @@ static int spi_qup_probe(struct platform
master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
master->num_chipselect = SPI_NUM_CHIPSELECTS;
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
@@ -56,7 +54,7 @@ index 5edc56f..dec339d 100644
master->setup = spi_qup_setup;
master->cleanup = spi_qup_cleanup;
master->set_cs = spi_qup_set_cs;
-@@ -645,7 +633,6 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -645,7 +633,6 @@ static int spi_qup_probe(struct platform
controller->iclk = iclk;
controller->cclk = cclk;
controller->irq = irq;
@@ -64,6 +62,3 @@ index 5edc56f..dec339d 100644
spin_lock_init(&controller->lock);
init_completion(&controller->done);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0069-spi-qup-Fix-build-error-due-to-a-typo.patch b/target/linux/ipq806x/patches/0069-spi-qup-Fix-build-error-due-to-a-typo.patch
index 558f8604f2..4209485d12 100644
--- a/target/linux/ipq806x/patches/0069-spi-qup-Fix-build-error-due-to-a-typo.patch
+++ b/target/linux/ipq806x/patches/0069-spi-qup-Fix-build-error-due-to-a-typo.patch
@@ -21,11 +21,9 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-qup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index dec339d..886edb4 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
-@@ -709,7 +709,7 @@ static int spi_qup_pm_suspend_runtime(struct device *device)
+@@ -709,7 +709,7 @@ static int spi_qup_pm_suspend_runtime(st
/* Enable clocks auto gaiting */
config = readl(controller->base + QUP_CONFIG);
@@ -34,7 +32,7 @@ index dec339d..886edb4 100644
writel_relaxed(config, controller->base + QUP_CONFIG);
return 0;
}
-@@ -722,7 +722,7 @@ static int spi_qup_pm_resume_runtime(struct device *device)
+@@ -722,7 +722,7 @@ static int spi_qup_pm_resume_runtime(str
/* Disable clocks auto gaiting */
config = readl_relaxed(controller->base + QUP_CONFIG);
@@ -43,6 +41,3 @@ index dec339d..886edb4 100644
writel_relaxed(config, controller->base + QUP_CONFIG);
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0070-spi-qup-Enable-driver-compilation-with-COMPILE_TEST.patch b/target/linux/ipq806x/patches/0070-spi-qup-Enable-driver-compilation-with-COMPILE_TEST.patch
index aee0bf488c..00589925c5 100644
--- a/target/linux/ipq806x/patches/0070-spi-qup-Enable-driver-compilation-with-COMPILE_TEST.patch
+++ b/target/linux/ipq806x/patches/0070-spi-qup-Enable-driver-compilation-with-COMPILE_TEST.patch
@@ -12,11 +12,9 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 9e9e3ed..e6a04f8 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -383,7 +383,7 @@ config SPI_RSPI
+@@ -392,7 +392,7 @@ config SPI_RSPI
config SPI_QUP
tristate "Qualcomm SPI controller with QUP interface"
@@ -25,6 +23,3 @@ index 9e9e3ed..e6a04f8 100644
help
Qualcomm Universal Peripheral (QUP) core is an AHB slave that
provides a common data path (an output FIFO and an input FIFO)
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0071-spi-qup-Depend-on-ARM-COMPILE_TEST-to-avoid-build-er.patch b/target/linux/ipq806x/patches/0071-spi-qup-Depend-on-ARM-COMPILE_TEST-to-avoid-build-er.patch
index ce773da713..2711a2aa50 100644
--- a/target/linux/ipq806x/patches/0071-spi-qup-Depend-on-ARM-COMPILE_TEST-to-avoid-build-er.patch
+++ b/target/linux/ipq806x/patches/0071-spi-qup-Depend-on-ARM-COMPILE_TEST-to-avoid-build-er.patch
@@ -22,11 +22,9 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index e6a04f8..2d9111c 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -383,7 +383,7 @@ config SPI_RSPI
+@@ -392,7 +392,7 @@ config SPI_RSPI
config SPI_QUP
tristate "Qualcomm SPI controller with QUP interface"
@@ -35,6 +33,3 @@ index e6a04f8..2d9111c 100644
help
Qualcomm Universal Peripheral (QUP) core is an AHB slave that
provides a common data path (an output FIFO and an input FIFO)
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0072-spi-qup-Remove-module-version.patch b/target/linux/ipq806x/patches/0072-spi-qup-Remove-module-version.patch
index fcdc517770..6708238ce5 100644
--- a/target/linux/ipq806x/patches/0072-spi-qup-Remove-module-version.patch
+++ b/target/linux/ipq806x/patches/0072-spi-qup-Remove-module-version.patch
@@ -13,16 +13,11 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-qup.c | 1 -
1 file changed, 1 deletion(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index 886edb4..203f0d4 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
-@@ -819,5 +819,4 @@ static struct platform_driver spi_qup_driver = {
+@@ -819,5 +819,4 @@ static struct platform_driver spi_qup_dr
module_platform_driver(spi_qup_driver);
MODULE_LICENSE("GPL v2");
-MODULE_VERSION("0.4");
MODULE_ALIAS("platform:spi_qup");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0073-spi-qup-Get-rid-of-using-struct-spi_qup_device.patch b/target/linux/ipq806x/patches/0073-spi-qup-Get-rid-of-using-struct-spi_qup_device.patch
index 69b4609a5f..b527af9bd2 100644
--- a/target/linux/ipq806x/patches/0073-spi-qup-Get-rid-of-using-struct-spi_qup_device.patch
+++ b/target/linux/ipq806x/patches/0073-spi-qup-Get-rid-of-using-struct-spi_qup_device.patch
@@ -15,8 +15,6 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-qup.c | 61 ++++++++-----------------------------------------
1 file changed, 9 insertions(+), 52 deletions(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index 203f0d4..b032e88 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -123,11 +123,6 @@
@@ -31,7 +29,7 @@ index 203f0d4..b032e88 100644
struct spi_qup {
void __iomem *base;
struct device *dev;
-@@ -338,14 +333,13 @@ static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
+@@ -338,14 +333,13 @@ static irqreturn_t spi_qup_qup_irq(int i
/* set clock freq ... bits per word */
@@ -49,7 +47,7 @@ index 203f0d4..b032e88 100644
dev_err(controller->dev, "too big size for loopback %d > %d\n",
xfer->len, controller->in_fifo_sz);
return -EIO;
-@@ -399,12 +393,12 @@ static int spi_qup_io_config(struct spi_qup *controller,
+@@ -399,12 +393,12 @@ static int spi_qup_io_config(struct spi_
config = readl_relaxed(controller->base + SPI_CONFIG);
@@ -64,7 +62,7 @@ index 203f0d4..b032e88 100644
config &= ~SPI_CONFIG_INPUT_FIRST;
else
config |= SPI_CONFIG_INPUT_FIRST;
-@@ -413,7 +407,7 @@ static int spi_qup_io_config(struct spi_qup *controller,
+@@ -413,7 +407,7 @@ static int spi_qup_io_config(struct spi_
* HS_MODE improves signal stability for spi-clk high rates,
* but is invalid in loop back mode.
*/
@@ -73,7 +71,7 @@ index 203f0d4..b032e88 100644
config |= SPI_CONFIG_HS_MODE;
else
config &= ~SPI_CONFIG_HS_MODE;
-@@ -433,7 +427,6 @@ static int spi_qup_io_config(struct spi_qup *controller,
+@@ -433,7 +427,6 @@ static int spi_qup_io_config(struct spi_
static void spi_qup_set_cs(struct spi_device *spi, bool enable)
{
struct spi_qup *controller = spi_master_get_devdata(spi->master);
@@ -81,7 +79,7 @@ index 203f0d4..b032e88 100644
u32 iocontol, mask;
-@@ -444,9 +437,9 @@ static void spi_qup_set_cs(struct spi_device *spi, bool enable)
+@@ -444,9 +437,9 @@ static void spi_qup_set_cs(struct spi_de
iocontol |= SPI_IO_C_FORCE_CS;
iocontol &= ~SPI_IO_C_CS_SELECT_MASK;
@@ -93,7 +91,7 @@ index 203f0d4..b032e88 100644
if (enable)
iocontol |= mask;
-@@ -461,11 +454,10 @@ static int spi_qup_transfer_one(struct spi_master *master,
+@@ -461,11 +454,10 @@ static int spi_qup_transfer_one(struct s
struct spi_transfer *xfer)
{
struct spi_qup *controller = spi_master_get_devdata(master);
@@ -145,7 +143,7 @@ index 203f0d4..b032e88 100644
static int spi_qup_probe(struct platform_device *pdev)
{
struct spi_master *master;
-@@ -561,7 +521,6 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -561,7 +521,6 @@ static int spi_qup_probe(struct platform
return PTR_ERR(base);
irq = platform_get_irq(pdev, 0);
@@ -153,7 +151,7 @@ index 203f0d4..b032e88 100644
if (irq < 0)
return irq;
-@@ -617,8 +576,6 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -617,8 +576,6 @@ static int spi_qup_probe(struct platform
master->num_chipselect = SPI_NUM_CHIPSELECTS;
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
master->max_speed_hz = max_freq;
@@ -162,6 +160,3 @@ index 203f0d4..b032e88 100644
master->set_cs = spi_qup_set_cs;
master->transfer_one = spi_qup_transfer_one;
master->dev.of_node = pdev->dev.of_node;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0074-spi-qup-Depend-on-ARCH_QCOM.patch b/target/linux/ipq806x/patches/0074-spi-qup-Depend-on-ARCH_QCOM.patch
index 9f279e07a3..7b924f125a 100644
--- a/target/linux/ipq806x/patches/0074-spi-qup-Depend-on-ARCH_QCOM.patch
+++ b/target/linux/ipq806x/patches/0074-spi-qup-Depend-on-ARCH_QCOM.patch
@@ -18,11 +18,9 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 2d9111c..a2d3570 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -383,7 +383,7 @@ config SPI_RSPI
+@@ -392,7 +392,7 @@ config SPI_RSPI
config SPI_QUP
tristate "Qualcomm SPI controller with QUP interface"
@@ -31,6 +29,3 @@ index 2d9111c..a2d3570 100644
help
Qualcomm Universal Peripheral (QUP) core is an AHB slave that
provides a common data path (an output FIFO and an input FIFO)
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0075-spi-qup-Correct-selection-of-FIFO-Block-mode.patch b/target/linux/ipq806x/patches/0075-spi-qup-Correct-selection-of-FIFO-Block-mode.patch
index f1071dbea1..0fd095a9b6 100644
--- a/target/linux/ipq806x/patches/0075-spi-qup-Correct-selection-of-FIFO-Block-mode.patch
+++ b/target/linux/ipq806x/patches/0075-spi-qup-Correct-selection-of-FIFO-Block-mode.patch
@@ -12,11 +12,9 @@ Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-qup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index b032e88..65bf18e 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
-@@ -287,7 +287,7 @@ static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
+@@ -287,7 +287,7 @@ static irqreturn_t spi_qup_qup_irq(int i
writel_relaxed(opflags, controller->base + QUP_OPERATIONAL);
if (!xfer) {
@@ -25,7 +23,7 @@ index b032e88..65bf18e 100644
qup_err, spi_err, opflags);
return IRQ_HANDLED;
}
-@@ -366,7 +366,7 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
+@@ -366,7 +366,7 @@ static int spi_qup_io_config(struct spi_
n_words = xfer->len / w_size;
controller->w_size = w_size;
@@ -34,6 +32,3 @@ index b032e88..65bf18e 100644
mode = QUP_IO_M_MODE_FIFO;
writel_relaxed(n_words, controller->base + QUP_MX_READ_CNT);
writel_relaxed(n_words, controller->base + QUP_MX_WRITE_CNT);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0078-clk-qcom-Consolidate-common-probe-code.patch b/target/linux/ipq806x/patches/0078-clk-qcom-Consolidate-common-probe-code.patch
index c801ed5b35..dc0408c166 100644
--- a/target/linux/ipq806x/patches/0078-clk-qcom-Consolidate-common-probe-code.patch
+++ b/target/linux/ipq806x/patches/0078-clk-qcom-Consolidate-common-probe-code.patch
@@ -23,8 +23,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
create mode 100644 drivers/clk/qcom/common.c
create mode 100644 drivers/clk/qcom/common.h
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index f60db2e..689e05b 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -1,5 +1,6 @@
@@ -34,9 +32,6 @@ index f60db2e..689e05b 100644
clk-qcom-y += clk-regmap.o
clk-qcom-y += clk-pll.o
clk-qcom-y += clk-rcg.o
-diff --git a/drivers/clk/qcom/common.c b/drivers/clk/qcom/common.c
-new file mode 100644
-index 0000000..86b45fb
--- /dev/null
+++ b/drivers/clk/qcom/common.c
@@ -0,0 +1,99 @@
@@ -139,9 +134,6 @@ index 0000000..86b45fb
+ reset_controller_unregister(platform_get_drvdata(pdev));
+}
+EXPORT_SYMBOL_GPL(qcom_cc_remove);
-diff --git a/drivers/clk/qcom/common.h b/drivers/clk/qcom/common.h
-new file mode 100644
-index 0000000..2c3cfc8
--- /dev/null
+++ b/drivers/clk/qcom/common.h
@@ -0,0 +1,34 @@
@@ -179,8 +171,6 @@ index 0000000..2c3cfc8
+extern void qcom_cc_remove(struct platform_device *pdev);
+
+#endif
-diff --git a/drivers/clk/qcom/gcc-msm8660.c b/drivers/clk/qcom/gcc-msm8660.c
-index bc0b7f1..44bc6fa 100644
--- a/drivers/clk/qcom/gcc-msm8660.c
+++ b/drivers/clk/qcom/gcc-msm8660.c
@@ -25,6 +25,7 @@
@@ -191,7 +181,7 @@ index bc0b7f1..44bc6fa 100644
#include "clk-regmap.h"
#include "clk-pll.h"
#include "clk-rcg.h"
-@@ -2701,94 +2702,28 @@ static const struct regmap_config gcc_msm8660_regmap_config = {
+@@ -2701,94 +2702,28 @@ static const struct regmap_config gcc_ms
.fast_io = true,
};
@@ -296,8 +286,6 @@ index bc0b7f1..44bc6fa 100644
return 0;
}
-diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c
-index fd446ab..633b019 100644
--- a/drivers/clk/qcom/gcc-msm8960.c
+++ b/drivers/clk/qcom/gcc-msm8960.c
@@ -25,6 +25,7 @@
@@ -308,7 +296,7 @@ index fd446ab..633b019 100644
#include "clk-regmap.h"
#include "clk-pll.h"
#include "clk-rcg.h"
-@@ -2875,51 +2876,24 @@ static const struct regmap_config gcc_msm8960_regmap_config = {
+@@ -2875,51 +2876,24 @@ static const struct regmap_config gcc_ms
.fast_io = true,
};
@@ -369,7 +357,7 @@ index fd446ab..633b019 100644
/* Temporary until RPM clocks supported */
clk = clk_register_fixed_rate(dev, "cxo", NULL, CLK_IS_ROOT, 19200000);
-@@ -2930,39 +2904,12 @@ static int gcc_msm8960_probe(struct platform_device *pdev)
+@@ -2930,39 +2904,12 @@ static int gcc_msm8960_probe(struct plat
if (IS_ERR(clk))
return PTR_ERR(clk);
@@ -411,8 +399,6 @@ index fd446ab..633b019 100644
return 0;
}
-diff --git a/drivers/clk/qcom/gcc-msm8974.c b/drivers/clk/qcom/gcc-msm8974.c
-index 51d457e..0d1edc1 100644
--- a/drivers/clk/qcom/gcc-msm8974.c
+++ b/drivers/clk/qcom/gcc-msm8974.c
@@ -25,6 +25,7 @@
@@ -423,7 +409,7 @@ index 51d457e..0d1edc1 100644
#include "clk-regmap.h"
#include "clk-pll.h"
#include "clk-rcg.h"
-@@ -2574,51 +2575,24 @@ static const struct regmap_config gcc_msm8974_regmap_config = {
+@@ -2574,51 +2575,24 @@ static const struct regmap_config gcc_ms
.fast_io = true,
};
@@ -484,7 +470,7 @@ index 51d457e..0d1edc1 100644
/* Temporary until RPM clocks supported */
clk = clk_register_fixed_rate(dev, "xo", NULL, CLK_IS_ROOT, 19200000);
-@@ -2631,39 +2605,12 @@ static int gcc_msm8974_probe(struct platform_device *pdev)
+@@ -2631,39 +2605,12 @@ static int gcc_msm8974_probe(struct plat
if (IS_ERR(clk))
return PTR_ERR(clk);
@@ -526,8 +512,6 @@ index 51d457e..0d1edc1 100644
return 0;
}
-diff --git a/drivers/clk/qcom/mmcc-msm8960.c b/drivers/clk/qcom/mmcc-msm8960.c
-index f9b59c7..12f3c0b 100644
--- a/drivers/clk/qcom/mmcc-msm8960.c
+++ b/drivers/clk/qcom/mmcc-msm8960.c
@@ -26,6 +26,7 @@
@@ -538,7 +522,7 @@ index f9b59c7..12f3c0b 100644
#include "clk-regmap.h"
#include "clk-pll.h"
#include "clk-rcg.h"
-@@ -2222,85 +2223,28 @@ static const struct regmap_config mmcc_msm8960_regmap_config = {
+@@ -2222,85 +2223,28 @@ static const struct regmap_config mmcc_m
.fast_io = true,
};
@@ -634,8 +618,6 @@ index f9b59c7..12f3c0b 100644
return 0;
}
-diff --git a/drivers/clk/qcom/mmcc-msm8974.c b/drivers/clk/qcom/mmcc-msm8974.c
-index c957745..60b7c24 100644
--- a/drivers/clk/qcom/mmcc-msm8974.c
+++ b/drivers/clk/qcom/mmcc-msm8974.c
@@ -25,6 +25,7 @@
@@ -646,7 +628,7 @@ index c957745..60b7c24 100644
#include "clk-regmap.h"
#include "clk-pll.h"
#include "clk-rcg.h"
-@@ -2524,88 +2525,39 @@ static const struct regmap_config mmcc_msm8974_regmap_config = {
+@@ -2527,88 +2528,39 @@ static const struct regmap_config mmcc_m
.fast_io = true,
};
@@ -750,6 +732,3 @@ index c957745..60b7c24 100644
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0079-clk-qcom-Add-basic-support-for-APQ8064-global-clock-.patch b/target/linux/ipq806x/patches/0079-clk-qcom-Add-basic-support-for-APQ8064-global-clock-.patch
index d83d5d9696..307e797471 100644
--- a/target/linux/ipq806x/patches/0079-clk-qcom-Add-basic-support-for-APQ8064-global-clock-.patch
+++ b/target/linux/ipq806x/patches/0079-clk-qcom-Add-basic-support-for-APQ8064-global-clock-.patch
@@ -21,11 +21,9 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/qcom/gcc-msm8960.c | 30 ++++++++++++++++++--
3 files changed, 30 insertions(+), 5 deletions(-)
-diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.txt b/Documentation/devicetree/bindings/clock/qcom,gcc.txt
-index 767401f..7b7104e 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc.txt
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc.txt
-@@ -4,6 +4,7 @@ Qualcomm Global Clock & Reset Controller Binding
+@@ -4,6 +4,7 @@ Qualcomm Global Clock & Reset Controller
Required properties :
- compatible : shall contain only one of the following:
@@ -33,8 +31,6 @@ index 767401f..7b7104e 100644
"qcom,gcc-msm8660"
"qcom,gcc-msm8960"
"qcom,gcc-msm8974"
-diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
-index 995bcfa..7f696b7 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -13,10 +13,10 @@ config MSM_GCC_8660
@@ -50,8 +46,6 @@ index 995bcfa..7f696b7 100644
Say Y if you want to use peripheral devices such as UART, SPI,
i2c, USB, SD/eMMC, SATA, PCIe, etc.
-diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c
-index 633b019..8e2b6dd 100644
--- a/drivers/clk/qcom/gcc-msm8960.c
+++ b/drivers/clk/qcom/gcc-msm8960.c
@@ -1,5 +1,5 @@
@@ -61,7 +55,7 @@ index 633b019..8e2b6dd 100644
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
-@@ -2868,6 +2868,16 @@ static const struct qcom_reset_map gcc_msm8960_resets[] = {
+@@ -2868,6 +2868,16 @@ static const struct qcom_reset_map gcc_m
[RIVA_RESET] = { 0x35e0 },
};
@@ -78,7 +72,7 @@ index 633b019..8e2b6dd 100644
static const struct regmap_config gcc_msm8960_regmap_config = {
.reg_bits = 32,
.reg_stride = 4,
-@@ -2884,8 +2894,17 @@ static const struct qcom_cc_desc gcc_msm8960_desc = {
+@@ -2884,8 +2894,17 @@ static const struct qcom_cc_desc gcc_msm
.num_resets = ARRAY_SIZE(gcc_msm8960_resets),
};
@@ -97,7 +91,7 @@ index 633b019..8e2b6dd 100644
{ }
};
MODULE_DEVICE_TABLE(of, gcc_msm8960_match_table);
-@@ -2894,6 +2913,11 @@ static int gcc_msm8960_probe(struct platform_device *pdev)
+@@ -2894,6 +2913,11 @@ static int gcc_msm8960_probe(struct plat
{
struct clk *clk;
struct device *dev = &pdev->dev;
@@ -109,7 +103,7 @@ index 633b019..8e2b6dd 100644
/* Temporary until RPM clocks supported */
clk = clk_register_fixed_rate(dev, "cxo", NULL, CLK_IS_ROOT, 19200000);
-@@ -2904,7 +2928,7 @@ static int gcc_msm8960_probe(struct platform_device *pdev)
+@@ -2904,7 +2928,7 @@ static int gcc_msm8960_probe(struct plat
if (IS_ERR(clk))
return PTR_ERR(clk);
@@ -118,6 +112,3 @@ index 633b019..8e2b6dd 100644
}
static int gcc_msm8960_remove(struct platform_device *pdev)
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0080-clk-qcom-Various-fixes-for-MSM8960-s-global-clock-co.patch b/target/linux/ipq806x/patches/0080-clk-qcom-Various-fixes-for-MSM8960-s-global-clock-co.patch
index 3cc5bf828a..9731771fdc 100644
--- a/target/linux/ipq806x/patches/0080-clk-qcom-Various-fixes-for-MSM8960-s-global-clock-co.patch
+++ b/target/linux/ipq806x/patches/0080-clk-qcom-Various-fixes-for-MSM8960-s-global-clock-co.patch
@@ -22,11 +22,9 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
include/dt-bindings/reset/qcom,gcc-msm8960.h | 2 +-
3 files changed, 6 insertions(+), 7 deletions(-)
-diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c
-index 8e2b6dd..f4ffd91 100644
--- a/drivers/clk/qcom/gcc-msm8960.c
+++ b/drivers/clk/qcom/gcc-msm8960.c
-@@ -2810,7 +2810,7 @@ static const struct qcom_reset_map gcc_msm8960_resets[] = {
+@@ -2810,7 +2810,7 @@ static const struct qcom_reset_map gcc_m
[PPSS_PROC_RESET] = { 0x2594, 1 },
[PPSS_RESET] = { 0x2594},
[DMA_BAM_RESET] = { 0x25c0, 7 },
@@ -35,7 +33,7 @@ index 8e2b6dd..f4ffd91 100644
[SLIMBUS_H_RESET] = { 0x2620, 7 },
[SFAB_CFPB_M_RESET] = { 0x2680, 7 },
[SFAB_CFPB_S_RESET] = { 0x26c0, 7 },
-@@ -2823,7 +2823,7 @@ static const struct qcom_reset_map gcc_msm8960_resets[] = {
+@@ -2823,7 +2823,7 @@ static const struct qcom_reset_map gcc_m
[SFAB_SFPB_M_RESET] = { 0x2780, 7 },
[SFAB_SFPB_S_RESET] = { 0x27a0, 7 },
[RPM_PROC_RESET] = { 0x27c0, 7 },
@@ -44,8 +42,6 @@ index 8e2b6dd..f4ffd91 100644
[SDC1_RESET] = { 0x2830 },
[SDC2_RESET] = { 0x2850 },
[SDC3_RESET] = { 0x2870 },
-diff --git a/include/dt-bindings/clock/qcom,gcc-msm8960.h b/include/dt-bindings/clock/qcom,gcc-msm8960.h
-index 03bbf49..f9f5471 100644
--- a/include/dt-bindings/clock/qcom,gcc-msm8960.h
+++ b/include/dt-bindings/clock/qcom,gcc-msm8960.h
@@ -51,7 +51,7 @@
@@ -83,8 +79,6 @@ index 03bbf49..f9f5471 100644
#define SATA_RXOOB_CLK 239
#define SATA_PMALIVE_CLK 240
#define SATA_PHY_REF_CLK 241
-diff --git a/include/dt-bindings/reset/qcom,gcc-msm8960.h b/include/dt-bindings/reset/qcom,gcc-msm8960.h
-index a840e68..07edd0e 100644
--- a/include/dt-bindings/reset/qcom,gcc-msm8960.h
+++ b/include/dt-bindings/reset/qcom,gcc-msm8960.h
@@ -58,7 +58,7 @@
@@ -96,6 +90,3 @@ index a840e68..07edd0e 100644
#define SLIMBUS_H_RESET 45
#define SFAB_CFPB_M_RESET 46
#define SFAB_CFPB_S_RESET 47
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0081-ARM-config-Add-qcom_defconfig.patch b/target/linux/ipq806x/patches/0081-ARM-config-Add-qcom_defconfig.patch
index f022463d28..dd87c1fb66 100644
--- a/target/linux/ipq806x/patches/0081-ARM-config-Add-qcom_defconfig.patch
+++ b/target/linux/ipq806x/patches/0081-ARM-config-Add-qcom_defconfig.patch
@@ -15,9 +15,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
1 file changed, 164 insertions(+)
create mode 100644 arch/arm/configs/qcom_defconfig
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-new file mode 100644
-index 0000000..bfed753
--- /dev/null
+++ b/arch/arm/configs/qcom_defconfig
@@ -0,0 +1,164 @@
@@ -185,6 +182,3 @@ index 0000000..bfed753
+# CONFIG_DETECT_HUNG_TASK is not set
+# CONFIG_SCHED_DEBUG is not set
+CONFIG_TIMER_STATS=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0082-ARM-qcom-Enable-GSBI-driver-in-defconfig.patch b/target/linux/ipq806x/patches/0082-ARM-qcom-Enable-GSBI-driver-in-defconfig.patch
index 7bcd2463da..180f102334 100644
--- a/target/linux/ipq806x/patches/0082-ARM-qcom-Enable-GSBI-driver-in-defconfig.patch
+++ b/target/linux/ipq806x/patches/0082-ARM-qcom-Enable-GSBI-driver-in-defconfig.patch
@@ -8,8 +8,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/configs/qcom_defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index bfed753..42ebd72 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -131,6 +131,7 @@ CONFIG_RTC_CLASS=y
@@ -20,6 +18,3 @@ index bfed753..42ebd72 100644
CONFIG_COMMON_CLK_QCOM=y
CONFIG_MSM_GCC_8660=y
CONFIG_MSM_MMCC_8960=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0083-soc-Introduce-drivers-soc-place-holder-for-SOC-speci.patch b/target/linux/ipq806x/patches/0083-soc-Introduce-drivers-soc-place-holder-for-SOC-speci.patch
index 837ec9d0c5..5f173fb520 100644
--- a/target/linux/ipq806x/patches/0083-soc-Introduce-drivers-soc-place-holder-for-SOC-speci.patch
+++ b/target/linux/ipq806x/patches/0083-soc-Introduce-drivers-soc-place-holder-for-SOC-speci.patch
@@ -27,8 +27,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
3 files changed, 8 insertions(+)
create mode 100644 drivers/soc/Kconfig
-diff --git a/drivers/Kconfig b/drivers/Kconfig
-index e0a4ae6..a299cbd 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -132,6 +132,8 @@ source "drivers/staging/Kconfig"
@@ -40,8 +38,6 @@ index e0a4ae6..a299cbd 100644
source "drivers/clk/Kconfig"
source "drivers/hwspinlock/Kconfig"
-diff --git a/drivers/Makefile b/drivers/Makefile
-index 3d6de8b..4c2bdc1 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -33,6 +33,9 @@ obj-y += amba/
@@ -54,15 +50,9 @@ index 3d6de8b..4c2bdc1 100644
obj-$(CONFIG_VIRTIO) += virtio/
obj-$(CONFIG_XEN) += xen/
-diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
-new file mode 100644
-index 0000000..339baa8
--- /dev/null
+++ b/drivers/soc/Kconfig
@@ -0,0 +1,3 @@
+menu "SOC (System On Chip) specific Drivers"
+
+endmenu
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0084-soc-qcom-Add-GSBI-driver.patch b/target/linux/ipq806x/patches/0084-soc-qcom-Add-GSBI-driver.patch
index f52255826c..545c4be52d 100644
--- a/target/linux/ipq806x/patches/0084-soc-qcom-Add-GSBI-driver.patch
+++ b/target/linux/ipq806x/patches/0084-soc-qcom-Add-GSBI-driver.patch
@@ -22,8 +22,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
create mode 100644 drivers/soc/qcom/Makefile
create mode 100644 drivers/soc/qcom/qcom_gsbi.c
-diff --git a/drivers/soc/Kconfig b/drivers/soc/Kconfig
-index 339baa8..c854385 100644
--- a/drivers/soc/Kconfig
+++ b/drivers/soc/Kconfig
@@ -1,3 +1,5 @@
@@ -32,9 +30,6 @@ index 339baa8..c854385 100644
+source "drivers/soc/qcom/Kconfig"
+
endmenu
-diff --git a/drivers/soc/Makefile b/drivers/soc/Makefile
-new file mode 100644
-index 0000000..0f7c447
--- /dev/null
+++ b/drivers/soc/Makefile
@@ -0,0 +1,5 @@
@@ -43,9 +38,6 @@ index 0000000..0f7c447
+#
+
+obj-$(CONFIG_ARCH_QCOM) += qcom/
-diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
-new file mode 100644
-index 0000000..7bd2c94
--- /dev/null
+++ b/drivers/soc/qcom/Kconfig
@@ -0,0 +1,11 @@
@@ -60,16 +52,10 @@ index 0000000..7bd2c94
+ functions for connecting the underlying serial UART, SPI, and I2C
+ devices to the output pins.
+
-diff --git a/drivers/soc/qcom/Makefile b/drivers/soc/qcom/Makefile
-new file mode 100644
-index 0000000..4389012
--- /dev/null
+++ b/drivers/soc/qcom/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_QCOM_GSBI) += qcom_gsbi.o
-diff --git a/drivers/soc/qcom/qcom_gsbi.c b/drivers/soc/qcom/qcom_gsbi.c
-new file mode 100644
-index 0000000..061dd06
--- /dev/null
+++ b/drivers/soc/qcom/qcom_gsbi.c
@@ -0,0 +1,84 @@
@@ -157,6 +143,3 @@ index 0000000..061dd06
+MODULE_AUTHOR("Andy Gross <agross@codeaurora.org>");
+MODULE_DESCRIPTION("QCOM GSBI driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0085-soc-qcom-fix-of_device_id-table.patch b/target/linux/ipq806x/patches/0085-soc-qcom-fix-of_device_id-table.patch
index c619ecef9d..3c58107dd3 100644
--- a/target/linux/ipq806x/patches/0085-soc-qcom-fix-of_device_id-table.patch
+++ b/target/linux/ipq806x/patches/0085-soc-qcom-fix-of_device_id-table.patch
@@ -11,11 +11,9 @@ Signed-off-by: Arnd Bergmann <arnd@arndb.de>
drivers/soc/qcom/qcom_gsbi.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/soc/qcom/qcom_gsbi.c b/drivers/soc/qcom/qcom_gsbi.c
-index 061dd06..447458e 100644
--- a/drivers/soc/qcom/qcom_gsbi.c
+++ b/drivers/soc/qcom/qcom_gsbi.c
-@@ -64,6 +64,7 @@ static int gsbi_probe(struct platform_device *pdev)
+@@ -64,6 +64,7 @@ static int gsbi_probe(struct platform_de
static const struct of_device_id gsbi_dt_match[] = {
{ .compatible = "qcom,gsbi-v1.0.0", },
@@ -23,6 +21,3 @@ index 061dd06..447458e 100644
};
MODULE_DEVICE_TABLE(of, gsbi_dt_match);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0086-msm_serial-Add-support-for-poll_-get-put-_char.patch b/target/linux/ipq806x/patches/0086-msm_serial-Add-support-for-poll_-get-put-_char.patch
index afc293bfbd..68204c5347 100644
--- a/target/linux/ipq806x/patches/0086-msm_serial-Add-support-for-poll_-get-put-_char.patch
+++ b/target/linux/ipq806x/patches/0086-msm_serial-Add-support-for-poll_-get-put-_char.patch
@@ -14,8 +14,6 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/msm_serial.h | 9 +++
2 files changed, 146 insertions(+), 3 deletions(-)
-diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
-index b5d779c..053b98e 100644
--- a/drivers/tty/serial/msm_serial.c
+++ b/drivers/tty/serial/msm_serial.c
@@ -39,6 +39,13 @@
@@ -32,7 +30,7 @@ index b5d779c..053b98e 100644
struct msm_port {
struct uart_port uart;
char name[16];
-@@ -309,6 +316,8 @@ static unsigned int msm_get_mctrl(struct uart_port *port)
+@@ -309,6 +316,8 @@ static unsigned int msm_get_mctrl(struct
static void msm_reset(struct uart_port *port)
{
@@ -41,7 +39,7 @@ index b5d779c..053b98e 100644
/* reset everything */
msm_write(port, UART_CR_CMD_RESET_RX, UART_CR);
msm_write(port, UART_CR_CMD_RESET_TX, UART_CR);
-@@ -316,6 +325,10 @@ static void msm_reset(struct uart_port *port)
+@@ -316,6 +325,10 @@ static void msm_reset(struct uart_port *
msm_write(port, UART_CR_CMD_RESET_BREAK_INT, UART_CR);
msm_write(port, UART_CR_CMD_RESET_CTS, UART_CR);
msm_write(port, UART_CR_CMD_SET_RFR, UART_CR);
@@ -52,7 +50,7 @@ index b5d779c..053b98e 100644
}
static void msm_set_mctrl(struct uart_port *port, unsigned int mctrl)
-@@ -711,6 +724,117 @@ static void msm_power(struct uart_port *port, unsigned int state,
+@@ -711,6 +724,117 @@ static void msm_power(struct uart_port *
}
}
@@ -182,7 +180,7 @@ index b5d779c..053b98e 100644
};
static struct msm_port msm_uart_ports[] = {
-@@ -900,7 +1029,10 @@ static struct uart_driver msm_uart_driver = {
+@@ -900,7 +1029,10 @@ static struct uart_driver msm_uart_drive
static atomic_t msm_uart_next_id = ATOMIC_INIT(0);
static const struct of_device_id msm_uartdm_table[] = {
@@ -194,7 +192,7 @@ index b5d779c..053b98e 100644
{ }
};
-@@ -909,6 +1041,7 @@ static int __init msm_serial_probe(struct platform_device *pdev)
+@@ -909,6 +1041,7 @@ static int __init msm_serial_probe(struc
struct msm_port *msm_port;
struct resource *resource;
struct uart_port *port;
@@ -202,7 +200,7 @@ index b5d779c..053b98e 100644
int irq;
if (pdev->id == -1)
-@@ -923,8 +1056,9 @@ static int __init msm_serial_probe(struct platform_device *pdev)
+@@ -923,8 +1056,9 @@ static int __init msm_serial_probe(struc
port->dev = &pdev->dev;
msm_port = UART_TO_MSM(port);
@@ -214,8 +212,6 @@ index b5d779c..053b98e 100644
else
msm_port->is_uartdm = 0;
-diff --git a/drivers/tty/serial/msm_serial.h b/drivers/tty/serial/msm_serial.h
-index 469fda5..1e9b68b 100644
--- a/drivers/tty/serial/msm_serial.h
+++ b/drivers/tty/serial/msm_serial.h
@@ -59,6 +59,7 @@
@@ -241,6 +237,3 @@ index 469fda5..1e9b68b 100644
#define UARTDM_DMRX 0x34
#define UARTDM_NCF_TX 0x40
#define UARTDM_RX_TOTAL_SNAP 0x38
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0087-tty-serial-msm-Remove-direct-access-to-GSBI.patch b/target/linux/ipq806x/patches/0087-tty-serial-msm-Remove-direct-access-to-GSBI.patch
index 8cbb52a903..9eb71382e4 100644
--- a/target/linux/ipq806x/patches/0087-tty-serial-msm-Remove-direct-access-to-GSBI.patch
+++ b/target/linux/ipq806x/patches/0087-tty-serial-msm-Remove-direct-access-to-GSBI.patch
@@ -13,8 +13,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/tty/serial/msm_serial.h | 5 ----
2 files changed, 2 insertions(+), 51 deletions(-)
-diff --git a/drivers/tty/serial/msm_serial.c b/drivers/tty/serial/msm_serial.c
-index 053b98e..778e376 100644
--- a/drivers/tty/serial/msm_serial.c
+++ b/drivers/tty/serial/msm_serial.c
@@ -52,7 +52,6 @@ struct msm_port {
@@ -25,7 +23,7 @@ index 053b98e..778e376 100644
int is_uartdm;
unsigned int old_snap_state;
};
-@@ -599,9 +598,7 @@ static const char *msm_type(struct uart_port *port)
+@@ -599,9 +598,7 @@ static const char *msm_type(struct uart_
static void msm_release_port(struct uart_port *port)
{
struct platform_device *pdev = to_platform_device(port->dev);
@@ -35,7 +33,7 @@ index 053b98e..778e376 100644
resource_size_t size;
uart_resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-@@ -612,28 +609,12 @@ static void msm_release_port(struct uart_port *port)
+@@ -612,28 +609,12 @@ static void msm_release_port(struct uart
release_mem_region(port->mapbase, size);
iounmap(port->membase);
port->membase = NULL;
@@ -64,7 +62,7 @@ index 053b98e..778e376 100644
resource_size_t size;
int ret;
-@@ -652,30 +633,8 @@ static int msm_request_port(struct uart_port *port)
+@@ -652,30 +633,8 @@ static int msm_request_port(struct uart_
goto fail_release_port;
}
@@ -103,7 +101,7 @@ index 053b98e..778e376 100644
int ret;
if (flags & UART_CONFIG_TYPE) {
port->type = PORT_MSM;
-@@ -691,9 +649,6 @@ static void msm_config_port(struct uart_port *port, int flags)
+@@ -691,9 +649,6 @@ static void msm_config_port(struct uart_
if (ret)
return;
}
@@ -113,7 +111,7 @@ index 053b98e..778e376 100644
}
static int msm_verify_port(struct uart_port *port, struct serial_struct *ser)
-@@ -1110,6 +1065,7 @@ static struct of_device_id msm_match_table[] = {
+@@ -1110,6 +1065,7 @@ static struct of_device_id msm_match_tab
static struct platform_driver msm_platform_driver = {
.remove = msm_serial_remove,
@@ -130,8 +128,6 @@ index 053b98e..778e376 100644
if (unlikely(ret))
uart_unregister_driver(&msm_uart_driver);
-diff --git a/drivers/tty/serial/msm_serial.h b/drivers/tty/serial/msm_serial.h
-index 1e9b68b..d98d45e 100644
--- a/drivers/tty/serial/msm_serial.h
+++ b/drivers/tty/serial/msm_serial.h
@@ -109,11 +109,6 @@
@@ -146,6 +142,3 @@ index 1e9b68b..d98d45e 100644
#define UARTDM_RXFS 0x50
#define UARTDM_RXFS_BUF_SHIFT 0x7
#define UARTDM_RXFS_BUF_MASK 0x7
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0088-soc-qcom-Add-device-tree-binding-for-GSBI.patch b/target/linux/ipq806x/patches/0088-soc-qcom-Add-device-tree-binding-for-GSBI.patch
index 39762c1be7..523d5cbabf 100644
--- a/target/linux/ipq806x/patches/0088-soc-qcom-Add-device-tree-binding-for-GSBI.patch
+++ b/target/linux/ipq806x/patches/0088-soc-qcom-Add-device-tree-binding-for-GSBI.patch
@@ -14,9 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
create mode 100644 include/dt-bindings/soc/qcom,gsbi.h
-diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
-new file mode 100644
-index 0000000..4ce24d4
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
@@ -0,0 +1,78 @@
@@ -98,9 +95,6 @@ index 0000000..4ce24d4
+ };
+ };
+
-diff --git a/include/dt-bindings/soc/qcom,gsbi.h b/include/dt-bindings/soc/qcom,gsbi.h
-new file mode 100644
-index 0000000..7ac4292
--- /dev/null
+++ b/include/dt-bindings/soc/qcom,gsbi.h
@@ -0,0 +1,26 @@
@@ -130,6 +124,3 @@ index 0000000..7ac4292
+#define GSBI_CRCI_UART 1
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0089-ARM-dts-MSM8974-Add-pinctrl-node.patch b/target/linux/ipq806x/patches/0089-ARM-dts-MSM8974-Add-pinctrl-node.patch
index 1663fbe906..ca064288a9 100644
--- a/target/linux/ipq806x/patches/0089-ARM-dts-MSM8974-Add-pinctrl-node.patch
+++ b/target/linux/ipq806x/patches/0089-ARM-dts-MSM8974-Add-pinctrl-node.patch
@@ -13,8 +13,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8974.dtsi | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
-index f687239..23aa387 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -198,5 +198,34 @@
@@ -52,6 +50,3 @@ index f687239..23aa387 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0090-ARM-dts-msm-Add-SDHC-controller-nodes-for-MSM8974-an.patch b/target/linux/ipq806x/patches/0090-ARM-dts-msm-Add-SDHC-controller-nodes-for-MSM8974-an.patch
index c16258ce32..7788f8a5df 100644
--- a/target/linux/ipq806x/patches/0090-ARM-dts-msm-Add-SDHC-controller-nodes-for-MSM8974-an.patch
+++ b/target/linux/ipq806x/patches/0090-ARM-dts-msm-Add-SDHC-controller-nodes-for-MSM8974-an.patch
@@ -15,8 +15,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8974.dtsi | 22 ++++++++++++++++++++++
2 files changed, 35 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
-index 13ac3e2..92320c4 100644
--- a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
+++ b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
@@ -3,4 +3,17 @@
@@ -37,8 +35,6 @@ index 13ac3e2..92320c4 100644
+ };
+ };
};
-diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
-index 23aa387..c530a33 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -192,6 +192,28 @@
@@ -70,6 +66,3 @@ index 23aa387..c530a33 100644
rng@f9bff000 {
compatible = "qcom,prng";
reg = <0xf9bff000 0x200>;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0091-ARM-dts-qcom-Update-msm8974-apq8074-device-trees.patch b/target/linux/ipq806x/patches/0091-ARM-dts-qcom-Update-msm8974-apq8074-device-trees.patch
index dcaaa3df74..0f6764d22b 100644
--- a/target/linux/ipq806x/patches/0091-ARM-dts-qcom-Update-msm8974-apq8074-device-trees.patch
+++ b/target/linux/ipq806x/patches/0091-ARM-dts-qcom-Update-msm8974-apq8074-device-trees.patch
@@ -18,8 +18,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8974.dtsi | 49 +++++++++---------------
2 files changed, 45 insertions(+), 32 deletions(-)
-diff --git a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
-index 92320c4..b4dfb01 100644
--- a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
+++ b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts
@@ -4,7 +4,11 @@
@@ -63,8 +61,6 @@ index 92320c4..b4dfb01 100644
+ };
};
};
-diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi
-index c530a33..69dca2a 100644
--- a/arch/arm/boot/dts/qcom-msm8974.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8974.dtsi
@@ -13,10 +13,10 @@
@@ -181,6 +177,3 @@ index c530a33..69dca2a 100644
};
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0092-ARM-dts-qcom-Update-msm8960-device-trees.patch b/target/linux/ipq806x/patches/0092-ARM-dts-qcom-Update-msm8960-device-trees.patch
index 5c0c7a5d2b..5b24b4a9bb 100644
--- a/target/linux/ipq806x/patches/0092-ARM-dts-qcom-Update-msm8960-device-trees.patch
+++ b/target/linux/ipq806x/patches/0092-ARM-dts-qcom-Update-msm8960-device-trees.patch
@@ -17,8 +17,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8960.dtsi | 176 ++++++++++++++++++--------------
2 files changed, 108 insertions(+), 78 deletions(-)
-diff --git a/arch/arm/boot/dts/qcom-msm8960-cdp.dts b/arch/arm/boot/dts/qcom-msm8960-cdp.dts
-index a58fb88..8f75cc4 100644
--- a/arch/arm/boot/dts/qcom-msm8960-cdp.dts
+++ b/arch/arm/boot/dts/qcom-msm8960-cdp.dts
@@ -3,4 +3,14 @@
@@ -36,8 +34,6 @@ index a58fb88..8f75cc4 100644
+ };
+ };
};
-diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
-index 997b7b9..5303e53 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -3,6 +3,7 @@
@@ -263,6 +259,3 @@ index 997b7b9..5303e53 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0093-ARM-dts-qcom-Update-msm8660-device-trees.patch b/target/linux/ipq806x/patches/0093-ARM-dts-qcom-Update-msm8660-device-trees.patch
index 72f9939a08..8359faffaa 100644
--- a/target/linux/ipq806x/patches/0093-ARM-dts-qcom-Update-msm8660-device-trees.patch
+++ b/target/linux/ipq806x/patches/0093-ARM-dts-qcom-Update-msm8660-device-trees.patch
@@ -15,8 +15,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/boot/dts/qcom-msm8660.dtsi | 115 ++++++++++++++++++-------------
2 files changed, 78 insertions(+), 47 deletions(-)
-diff --git a/arch/arm/boot/dts/qcom-msm8660-surf.dts b/arch/arm/boot/dts/qcom-msm8660-surf.dts
-index 169bad9..45180ad 100644
--- a/arch/arm/boot/dts/qcom-msm8660-surf.dts
+++ b/arch/arm/boot/dts/qcom-msm8660-surf.dts
@@ -3,4 +3,14 @@
@@ -34,8 +32,6 @@ index 169bad9..45180ad 100644
+ };
+ };
};
-diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
-index c52a9e9..53837aaa2f 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -3,6 +3,7 @@
@@ -83,6 +79,14 @@ index c52a9e9..53837aaa2f 100644
+ #size-cells = <1>;
+ ranges;
+ compatible = "simple-bus";
++
++ intc: interrupt-controller@2080000 {
++ compatible = "qcom,msm-8660-qgic";
++ interrupt-controller;
++ #interrupt-cells = <3>;
++ reg = < 0x02080000 0x1000 >,
++ < 0x02081000 0x1000 >;
++ };
- timer@2000000 {
- compatible = "qcom,scss-timer", "qcom,msm-timer";
@@ -94,24 +98,6 @@ index c52a9e9..53837aaa2f 100644
- <32768>;
- cpu-offset = <0x40000>;
- };
-+ intc: interrupt-controller@2080000 {
-+ compatible = "qcom,msm-8660-qgic";
-+ interrupt-controller;
-+ #interrupt-cells = <3>;
-+ reg = < 0x02080000 0x1000 >,
-+ < 0x02081000 0x1000 >;
-+ };
-
-- msmgpio: gpio@800000 {
-- compatible = "qcom,msm-gpio";
-- reg = <0x00800000 0x4000>;
-- gpio-controller;
-- #gpio-cells = <2>;
-- ngpio = <173>;
-- interrupts = <0 16 0x4>;
-- interrupt-controller;
-- #interrupt-cells = <2>;
-- };
+ timer@2000000 {
+ compatible = "qcom,scss-timer", "qcom,msm-timer";
+ interrupts = <1 0 0x301>,
@@ -123,11 +109,15 @@ index c52a9e9..53837aaa2f 100644
+ cpu-offset = <0x40000>;
+ };
-- gcc: clock-controller@900000 {
-- compatible = "qcom,gcc-msm8660";
-- #clock-cells = <1>;
-- #reset-cells = <1>;
-- reg = <0x900000 0x4000>;
+- msmgpio: gpio@800000 {
+- compatible = "qcom,msm-gpio";
+- reg = <0x00800000 0x4000>;
+- gpio-controller;
+- #gpio-cells = <2>;
+- ngpio = <173>;
+- interrupts = <0 16 0x4>;
+- interrupt-controller;
+- #interrupt-cells = <2>;
- };
+ msmgpio: gpio@800000 {
+ compatible = "qcom,msm-gpio";
@@ -140,6 +130,19 @@ index c52a9e9..53837aaa2f 100644
+ #interrupt-cells = <2>;
+ };
+- gcc: clock-controller@900000 {
+- compatible = "qcom,gcc-msm8660";
+- #clock-cells = <1>;
+- #reset-cells = <1>;
+- reg = <0x900000 0x4000>;
+- };
++ gcc: clock-controller@900000 {
++ compatible = "qcom,gcc-msm8660";
++ #clock-cells = <1>;
++ #reset-cells = <1>;
++ reg = <0x900000 0x4000>;
++ };
+
- serial@19c40000 {
- compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
- reg = <0x19c40000 0x1000>,
@@ -148,13 +151,6 @@ index c52a9e9..53837aaa2f 100644
- clocks = <&gcc GSBI12_UART_CLK>, <&gcc GSBI12_H_CLK>;
- clock-names = "core", "iface";
- };
-+ gcc: clock-controller@900000 {
-+ compatible = "qcom,gcc-msm8660";
-+ #clock-cells = <1>;
-+ #reset-cells = <1>;
-+ reg = <0x900000 0x4000>;
-+ };
-+
+ gsbi12: gsbi@19c00000 {
+ compatible = "qcom,gsbi-v1.0.0";
+ reg = <0x19c00000 0x100>;
@@ -163,11 +159,7 @@ index c52a9e9..53837aaa2f 100644
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
-
-- qcom,ssbi@500000 {
-- compatible = "qcom,ssbi";
-- reg = <0x500000 0x1000>;
-- qcom,controller-type = "pmic-arbiter";
++
+ serial@19c40000 {
+ compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+ reg = <0x19c40000 0x1000>,
@@ -178,7 +170,11 @@ index c52a9e9..53837aaa2f 100644
+ status = "disabled";
+ };
+ };
-+
+
+- qcom,ssbi@500000 {
+- compatible = "qcom,ssbi";
+- reg = <0x500000 0x1000>;
+- qcom,controller-type = "pmic-arbiter";
+ qcom,ssbi@500000 {
+ compatible = "qcom,ssbi";
+ reg = <0x500000 0x1000>;
@@ -186,6 +182,3 @@ index c52a9e9..53837aaa2f 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0094-ARM-dts-qcom-Add-initial-APQ8064-SoC-and-IFC6410-boa.patch b/target/linux/ipq806x/patches/0094-ARM-dts-qcom-Add-initial-APQ8064-SoC-and-IFC6410-boa.patch
index 848cbc7834..fb2910b749 100644
--- a/target/linux/ipq806x/patches/0094-ARM-dts-qcom-Add-initial-APQ8064-SoC-and-IFC6410-boa.patch
+++ b/target/linux/ipq806x/patches/0094-ARM-dts-qcom-Add-initial-APQ8064-SoC-and-IFC6410-boa.patch
@@ -20,11 +20,9 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
create mode 100644 arch/arm/boot/dts/qcom-apq8064-v2.0.dtsi
create mode 100644 arch/arm/boot/dts/qcom-apq8064.dtsi
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 4a89023..ee3dfea 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -231,9 +231,11 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
+@@ -231,9 +231,11 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420
dra7-evm.dtb
dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
@@ -39,9 +37,6 @@ index 4a89023..ee3dfea 100644
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
ste-hrefprev60-stuib.dtb \
ste-hrefprev60-tvk.dtb \
-diff --git a/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts b/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
-new file mode 100644
-index 0000000..7c2441d
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8064-ifc6410.dts
@@ -0,0 +1,16 @@
@@ -61,16 +56,10 @@ index 0000000..7c2441d
+ };
+ };
+};
-diff --git a/arch/arm/boot/dts/qcom-apq8064-v2.0.dtsi b/arch/arm/boot/dts/qcom-apq8064-v2.0.dtsi
-new file mode 100644
-index 0000000..935c394
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8064-v2.0.dtsi
@@ -0,0 +1 @@
+#include "qcom-apq8064.dtsi"
-diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
-new file mode 100644
-index 0000000..92bf793
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -0,0 +1,170 @@
@@ -244,8 +233,6 @@ index 0000000..92bf793
+ };
+ };
+};
-diff --git a/arch/arm/mach-qcom/board.c b/arch/arm/mach-qcom/board.c
-index bae617e..350fa8d 100644
--- a/arch/arm/mach-qcom/board.c
+++ b/arch/arm/mach-qcom/board.c
@@ -15,9 +15,10 @@
@@ -260,6 +247,3 @@ index bae617e..350fa8d 100644
NULL
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0095-ARM-dts-qcom-Add-APQ8084-MTP-board-support.patch b/target/linux/ipq806x/patches/0095-ARM-dts-qcom-Add-APQ8084-MTP-board-support.patch
index a797266766..3c4f22114a 100644
--- a/target/linux/ipq806x/patches/0095-ARM-dts-qcom-Add-APQ8084-MTP-board-support.patch
+++ b/target/linux/ipq806x/patches/0095-ARM-dts-qcom-Add-APQ8084-MTP-board-support.patch
@@ -14,11 +14,9 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
2 files changed, 7 insertions(+)
create mode 100644 arch/arm/boot/dts/qcom-apq8084-mtp.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index ee3dfea..f2aeb95 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -234,6 +234,7 @@ dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
+@@ -234,6 +234,7 @@ dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.
dtb-$(CONFIG_ARCH_QCOM) += \
qcom-apq8064-ifc6410.dtb \
qcom-apq8074-dragonboard.dtb \
@@ -26,9 +24,6 @@ index ee3dfea..f2aeb95 100644
qcom-msm8660-surf.dtb \
qcom-msm8960-cdp.dtb
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
-diff --git a/arch/arm/boot/dts/qcom-apq8084-mtp.dts b/arch/arm/boot/dts/qcom-apq8084-mtp.dts
-new file mode 100644
-index 0000000..9dae387
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8084-mtp.dts
@@ -0,0 +1,6 @@
@@ -38,6 +33,3 @@ index 0000000..9dae387
+ model = "Qualcomm APQ 8084-MTP";
+ compatible = "qcom,apq8084-mtp", "qcom,apq8084";
+};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0096-ARM-dts-qcom-Add-APQ8084-SoC-support.patch b/target/linux/ipq806x/patches/0096-ARM-dts-qcom-Add-APQ8084-SoC-support.patch
index 87d70a54e5..18630595c4 100644
--- a/target/linux/ipq806x/patches/0096-ARM-dts-qcom-Add-APQ8084-SoC-support.patch
+++ b/target/linux/ipq806x/patches/0096-ARM-dts-qcom-Add-APQ8084-SoC-support.patch
@@ -14,9 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
2 files changed, 180 insertions(+)
create mode 100644 arch/arm/boot/dts/qcom-apq8084.dtsi
-diff --git a/arch/arm/boot/dts/qcom-apq8084.dtsi b/arch/arm/boot/dts/qcom-apq8084.dtsi
-new file mode 100644
-index 0000000..e3e009a
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8084.dtsi
@@ -0,0 +1,179 @@
@@ -199,8 +196,6 @@ index 0000000..e3e009a
+ };
+ };
+};
-diff --git a/arch/arm/mach-qcom/board.c b/arch/arm/mach-qcom/board.c
-index 350fa8d..c437a99 100644
--- a/arch/arm/mach-qcom/board.c
+++ b/arch/arm/mach-qcom/board.c
@@ -17,6 +17,7 @@
@@ -211,6 +206,3 @@ index 350fa8d..c437a99 100644
"qcom,msm8660-surf",
"qcom,msm8960-cdp",
NULL
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch b/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch
index 2f9cad735e..1c67fb70ea 100644
--- a/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch
+++ b/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch
@@ -25,8 +25,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/mach-msm/Kconfig | 3 --
3 files changed, 38 insertions(+), 92 deletions(-)
-diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
-index 4491c7b..1a5895d 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -353,56 +353,39 @@ choice
@@ -179,8 +177,6 @@ index 4491c7b..1a5895d 100644
config DEBUG_UART_8250_SHIFT
int "Register offset shift for the 8250 debug UART"
-diff --git a/arch/arm/include/debug/msm.S b/arch/arm/include/debug/msm.S
-index 9d653d4..9ef5761 100644
--- a/arch/arm/include/debug/msm.S
+++ b/arch/arm/include/debug/msm.S
@@ -15,51 +15,15 @@
@@ -248,8 +244,6 @@ index 9d653d4..9ef5761 100644
@ check for TX_EMT in UARTDM_SR
ldr \rd, [\rx, #0x08]
tst \rd, #0x08
-diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
-index a7f959e..9b26976 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -42,9 +42,6 @@ config ARCH_QSD8X50
@@ -262,6 +256,3 @@ index a7f959e..9b26976 100644
config MSM_SOC_REV_A
bool
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0098-ARM-debug-qcom-add-UART-addresses-to-Kconfig-help-fo.patch b/target/linux/ipq806x/patches/0098-ARM-debug-qcom-add-UART-addresses-to-Kconfig-help-fo.patch
index fdb5c67e22..a94a7c9a95 100644
--- a/target/linux/ipq806x/patches/0098-ARM-debug-qcom-add-UART-addresses-to-Kconfig-help-fo.patch
+++ b/target/linux/ipq806x/patches/0098-ARM-debug-qcom-add-UART-addresses-to-Kconfig-help-fo.patch
@@ -13,8 +13,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/Kconfig.debug | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
-index 1a5895d..7820af1 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -380,6 +380,7 @@ choice
@@ -25,6 +23,3 @@ index 1a5895d..7820af1 100644
MSM8X60 0x19c40000 0xf0040000
MSM8960 0x16440000 0xf0040000
MSM8974 0xf991e000 0xfa71e000
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0099-ARM-qcom-Enable-ARM_AMBA-option-for-Qualcomm-SOCs.patch b/target/linux/ipq806x/patches/0099-ARM-qcom-Enable-ARM_AMBA-option-for-Qualcomm-SOCs.patch
index 4e603eaf5e..1212da2204 100644
--- a/target/linux/ipq806x/patches/0099-ARM-qcom-Enable-ARM_AMBA-option-for-Qualcomm-SOCs.patch
+++ b/target/linux/ipq806x/patches/0099-ARM-qcom-Enable-ARM_AMBA-option-for-Qualcomm-SOCs.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/mach-qcom/Kconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig
-index 6440c11..63502cc 100644
--- a/arch/arm/mach-qcom/Kconfig
+++ b/arch/arm/mach-qcom/Kconfig
@@ -2,6 +2,7 @@ config ARCH_QCOM
@@ -26,6 +24,3 @@ index 6440c11..63502cc 100644
select CLKSRC_OF
select GENERIC_CLOCKEVENTS
select HAVE_SMP
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0100-clk-qcom-Fix-msm8660-GCC-probe.patch b/target/linux/ipq806x/patches/0100-clk-qcom-Fix-msm8660-GCC-probe.patch
index 1fbd80602a..f1f1445a44 100644
--- a/target/linux/ipq806x/patches/0100-clk-qcom-Fix-msm8660-GCC-probe.patch
+++ b/target/linux/ipq806x/patches/0100-clk-qcom-Fix-msm8660-GCC-probe.patch
@@ -14,11 +14,9 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/qcom/gcc-msm8660.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/drivers/clk/qcom/gcc-msm8660.c b/drivers/clk/qcom/gcc-msm8660.c
-index 44bc6fa..0c4b727 100644
--- a/drivers/clk/qcom/gcc-msm8660.c
+++ b/drivers/clk/qcom/gcc-msm8660.c
-@@ -2718,6 +2718,18 @@ MODULE_DEVICE_TABLE(of, gcc_msm8660_match_table);
+@@ -2718,6 +2718,18 @@ MODULE_DEVICE_TABLE(of, gcc_msm8660_matc
static int gcc_msm8660_probe(struct platform_device *pdev)
{
@@ -37,6 +35,3 @@ index 44bc6fa..0c4b727 100644
return qcom_cc_probe(pdev, &gcc_msm8660_desc);
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0101-clk-qcom-Fix-blsp2_ahb_clk-register-offset.patch b/target/linux/ipq806x/patches/0101-clk-qcom-Fix-blsp2_ahb_clk-register-offset.patch
index 9555e6b803..705582f538 100644
--- a/target/linux/ipq806x/patches/0101-clk-qcom-Fix-blsp2_ahb_clk-register-offset.patch
+++ b/target/linux/ipq806x/patches/0101-clk-qcom-Fix-blsp2_ahb_clk-register-offset.patch
@@ -12,11 +12,9 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/qcom/gcc-msm8974.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/qcom/gcc-msm8974.c b/drivers/clk/qcom/gcc-msm8974.c
-index 0d1edc1..7a420fc 100644
--- a/drivers/clk/qcom/gcc-msm8974.c
+++ b/drivers/clk/qcom/gcc-msm8974.c
-@@ -1341,7 +1341,7 @@ static struct clk_branch gcc_blsp1_uart6_apps_clk = {
+@@ -1341,7 +1341,7 @@ static struct clk_branch gcc_blsp1_uart6
};
static struct clk_branch gcc_blsp2_ahb_clk = {
@@ -25,6 +23,3 @@ index 0d1edc1..7a420fc 100644
.halt_check = BRANCH_HALT_VOTED,
.clkr = {
.enable_reg = 0x1484,
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0104-clk-qcom-Return-highest-rate-when-round_rate-exceeds.patch b/target/linux/ipq806x/patches/0104-clk-qcom-Return-highest-rate-when-round_rate-exceeds.patch
index 8c959a5372..3312f2fc65 100644
--- a/target/linux/ipq806x/patches/0104-clk-qcom-Return-highest-rate-when-round_rate-exceeds.patch
+++ b/target/linux/ipq806x/patches/0104-clk-qcom-Return-highest-rate-when-round_rate-exceeds.patch
@@ -17,11 +17,9 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/qcom/clk-rcg2.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c
-index 0996a3a..cbecaec 100644
--- a/drivers/clk/qcom/clk-rcg2.c
+++ b/drivers/clk/qcom/clk-rcg2.c
-@@ -181,7 +181,8 @@ struct freq_tbl *find_freq(const struct freq_tbl *f, unsigned long rate)
+@@ -181,7 +181,8 @@ struct freq_tbl *find_freq(const struct
if (rate <= f->freq)
return f;
@@ -31,6 +29,3 @@ index 0996a3a..cbecaec 100644
}
static long _freq_tbl_determine_rate(struct clk_hw *hw,
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0105-clk-qcom-Support-display-RCG-clocks.patch b/target/linux/ipq806x/patches/0105-clk-qcom-Support-display-RCG-clocks.patch
index b95562956c..befdfebe1a 100644
--- a/target/linux/ipq806x/patches/0105-clk-qcom-Support-display-RCG-clocks.patch
+++ b/target/linux/ipq806x/patches/0105-clk-qcom-Support-display-RCG-clocks.patch
@@ -14,8 +14,6 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/qcom/clk-rcg2.c | 299 ++++++++++++++++++++++++++++++++++++++++---
2 files changed, 287 insertions(+), 15 deletions(-)
-diff --git a/drivers/clk/qcom/clk-rcg.h b/drivers/clk/qcom/clk-rcg.h
-index 1d6b6de..b9ec11d 100644
--- a/drivers/clk/qcom/clk-rcg.h
+++ b/drivers/clk/qcom/clk-rcg.h
@@ -155,5 +155,8 @@ struct clk_rcg2 {
@@ -27,8 +25,6 @@ index 1d6b6de..b9ec11d 100644
+extern const struct clk_ops clk_pixel_ops;
#endif
-diff --git a/drivers/clk/qcom/clk-rcg2.c b/drivers/clk/qcom/clk-rcg2.c
-index cbecaec..cd185d5 100644
--- a/drivers/clk/qcom/clk-rcg2.c
+++ b/drivers/clk/qcom/clk-rcg2.c
@@ -19,6 +19,7 @@
@@ -39,7 +35,7 @@ index cbecaec..cd185d5 100644
#include <asm/div64.h>
-@@ -225,31 +226,25 @@ static long clk_rcg2_determine_rate(struct clk_hw *hw, unsigned long rate,
+@@ -225,31 +226,25 @@ static long clk_rcg2_determine_rate(stru
return _freq_tbl_determine_rate(hw, rcg->freq_tbl, rate, p_rate, p);
}
@@ -78,7 +74,7 @@ index cbecaec..cd185d5 100644
if (ret)
return ret;
}
-@@ -260,14 +255,26 @@ static int __clk_rcg2_set_rate(struct clk_hw *hw, unsigned long rate)
+@@ -260,14 +255,26 @@ static int __clk_rcg2_set_rate(struct cl
cfg |= rcg->parent_map[f->src] << CFG_SRC_SEL_SHIFT;
if (rcg->mnd_width && f->n)
cfg |= CFG_MODE_DUAL_EDGE;
@@ -373,6 +369,3 @@ index cbecaec..cd185d5 100644
+ .determine_rate = clk_pixel_determine_rate,
+};
+EXPORT_SYMBOL_GPL(clk_pixel_ops);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0106-clk-qcom-Properly-support-display-clocks-on-msm8974.patch b/target/linux/ipq806x/patches/0106-clk-qcom-Properly-support-display-clocks-on-msm8974.patch
index ce9499afb1..c7989171fc 100644
--- a/target/linux/ipq806x/patches/0106-clk-qcom-Properly-support-display-clocks-on-msm8974.patch
+++ b/target/linux/ipq806x/patches/0106-clk-qcom-Properly-support-display-clocks-on-msm8974.patch
@@ -17,8 +17,6 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/qcom/mmcc-msm8974.c | 105 ++++++++++++++++++++-------------------
1 file changed, 54 insertions(+), 51 deletions(-)
-diff --git a/drivers/clk/qcom/mmcc-msm8974.c b/drivers/clk/qcom/mmcc-msm8974.c
-index 62200bb..c65b905 100644
--- a/drivers/clk/qcom/mmcc-msm8974.c
+++ b/drivers/clk/qcom/mmcc-msm8974.c
@@ -41,9 +41,11 @@
@@ -33,7 +31,7 @@ index 62200bb..c65b905 100644
static const u8 mmcc_xo_mmpll0_mmpll1_gpll0_map[] = {
[P_XO] = 0,
-@@ -161,6 +163,24 @@ static const char *mmcc_xo_dsi_hdmi_edp_gpll0[] = {
+@@ -161,6 +163,24 @@ static const char *mmcc_xo_dsi_hdmi_edp_
"dsi1pll",
};
@@ -162,7 +160,7 @@ index 62200bb..c65b905 100644
},
};
-@@ -826,12 +836,12 @@ static struct clk_rcg2 edplink_clk_src = {
+@@ -826,12 +836,12 @@ static struct clk_rcg2 edplink_clk_src =
.parent_names = mmcc_xo_dsi_hdmi_edp_gpll0,
.num_parents = 6,
.ops = &clk_rcg2_ops,
@@ -178,7 +176,7 @@ index 62200bb..c65b905 100644
{ }
};
-@@ -840,12 +850,12 @@ static struct clk_rcg2 edppixel_clk_src = {
+@@ -840,12 +850,12 @@ static struct clk_rcg2 edppixel_clk_src
.mnd_width = 8,
.hid_width = 5,
.parent_map = mmcc_xo_dsi_hdmi_edp_map,
@@ -193,7 +191,7 @@ index 62200bb..c65b905 100644
},
};
-@@ -857,11 +867,11 @@ static struct freq_tbl ftbl_mdss_esc0_1_clk[] = {
+@@ -857,11 +867,11 @@ static struct freq_tbl ftbl_mdss_esc0_1_
static struct clk_rcg2 esc0_clk_src = {
.cmd_rcgr = 0x2160,
.hid_width = 5,
@@ -238,7 +236,7 @@ index 62200bb..c65b905 100644
{ }
};
-@@ -897,12 +899,13 @@ static struct clk_rcg2 extpclk_clk_src = {
+@@ -897,12 +899,13 @@ static struct clk_rcg2 extpclk_clk_src =
.cmd_rcgr = 0x2060,
.hid_width = 5,
.parent_map = mmcc_xo_dsi_hdmi_edp_gpll0_map,
@@ -254,6 +252,3 @@ index 62200bb..c65b905 100644
},
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0107-clk-qcom-Support-msm8974pro-global-clock-control-har.patch b/target/linux/ipq806x/patches/0107-clk-qcom-Support-msm8974pro-global-clock-control-har.patch
index 1d0ee4573f..670acad9dc 100644
--- a/target/linux/ipq806x/patches/0107-clk-qcom-Support-msm8974pro-global-clock-control-har.patch
+++ b/target/linux/ipq806x/patches/0107-clk-qcom-Support-msm8974pro-global-clock-control-har.patch
@@ -16,8 +16,6 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
include/dt-bindings/clock/qcom,gcc-msm8974.h | 4 +
3 files changed, 130 insertions(+), 6 deletions(-)
-diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.txt b/Documentation/devicetree/bindings/clock/qcom,gcc.txt
-index 7b7104e..9cfcb4f 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc.txt
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc.txt
@@ -8,6 +8,8 @@ Required properties :
@@ -29,8 +27,6 @@ index 7b7104e..9cfcb4f 100644
- reg : shall contain base register location and length
- #clock-cells : shall contain 1
-diff --git a/drivers/clk/qcom/gcc-msm8974.c b/drivers/clk/qcom/gcc-msm8974.c
-index 7a420fc..7af7c18 100644
--- a/drivers/clk/qcom/gcc-msm8974.c
+++ b/drivers/clk/qcom/gcc-msm8974.c
@@ -35,6 +35,7 @@
@@ -94,7 +90,7 @@ index 7a420fc..7af7c18 100644
static const struct freq_tbl ftbl_gcc_usb30_master_clk[] = {
F(125000000, P_GPLL0, 1, 5, 24),
{ }
-@@ -812,18 +852,33 @@ static const struct freq_tbl ftbl_gcc_sdcc1_4_apps_clk[] = {
+@@ -812,18 +852,33 @@ static const struct freq_tbl ftbl_gcc_sd
{ }
};
@@ -134,7 +130,7 @@ index 7a420fc..7af7c18 100644
};
static struct clk_rcg2 sdcc2_apps_clk_src = {
-@@ -1995,6 +2050,38 @@ static struct clk_branch gcc_sdcc1_apps_clk = {
+@@ -1995,6 +2050,38 @@ static struct clk_branch gcc_sdcc1_apps_
},
};
@@ -173,7 +169,7 @@ index 7a420fc..7af7c18 100644
static struct clk_branch gcc_sdcc2_ahb_clk = {
.halt_reg = 0x0508,
.clkr = {
-@@ -2484,6 +2571,10 @@ static struct clk_regmap *gcc_msm8974_clocks[] = {
+@@ -2484,6 +2571,10 @@ static struct clk_regmap *gcc_msm8974_cl
[GCC_USB_HSIC_IO_CAL_SLEEP_CLK] = &gcc_usb_hsic_io_cal_sleep_clk.clkr,
[GCC_USB_HSIC_SYSTEM_CLK] = &gcc_usb_hsic_system_clk.clkr,
[GCC_MMSS_GPLL0_CLK_SRC] = &gcc_mmss_gpll0_clk_src,
@@ -184,7 +180,7 @@ index 7a420fc..7af7c18 100644
};
static const struct qcom_reset_map gcc_msm8974_resets[] = {
-@@ -2585,14 +2676,41 @@ static const struct qcom_cc_desc gcc_msm8974_desc = {
+@@ -2585,14 +2676,41 @@ static const struct qcom_cc_desc gcc_msm
static const struct of_device_id gcc_msm8974_match_table[] = {
{ .compatible = "qcom,gcc-msm8974" },
@@ -226,8 +222,6 @@ index 7a420fc..7af7c18 100644
/* Temporary until RPM clocks supported */
clk = clk_register_fixed_rate(dev, "xo", NULL, CLK_IS_ROOT, 19200000);
-diff --git a/include/dt-bindings/clock/qcom,gcc-msm8974.h b/include/dt-bindings/clock/qcom,gcc-msm8974.h
-index 223ca17..51e51c8 100644
--- a/include/dt-bindings/clock/qcom,gcc-msm8974.h
+++ b/include/dt-bindings/clock/qcom,gcc-msm8974.h
@@ -316,5 +316,9 @@
@@ -240,6 +234,3 @@ index 223ca17..51e51c8 100644
+#define GCC_SDCC1_CDCCAL_FF_CLK 305
#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0108-clk-qcom-Return-error-pointers-for-unimplemented-clo.patch b/target/linux/ipq806x/patches/0108-clk-qcom-Return-error-pointers-for-unimplemented-clo.patch
index 37806f154b..52d497fea7 100644
--- a/target/linux/ipq806x/patches/0108-clk-qcom-Return-error-pointers-for-unimplemented-clo.patch
+++ b/target/linux/ipq806x/patches/0108-clk-qcom-Return-error-pointers-for-unimplemented-clo.patch
@@ -16,11 +16,9 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/qcom/common.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/drivers/clk/qcom/common.c b/drivers/clk/qcom/common.c
-index 86b45fb..9b5a1cf 100644
--- a/drivers/clk/qcom/common.c
+++ b/drivers/clk/qcom/common.c
-@@ -62,8 +62,10 @@ int qcom_cc_probe(struct platform_device *pdev, const struct qcom_cc_desc *desc)
+@@ -62,8 +62,10 @@ int qcom_cc_probe(struct platform_device
data->clk_num = num_clks;
for (i = 0; i < num_clks; i++) {
@@ -32,6 +30,3 @@ index 86b45fb..9b5a1cf 100644
clk = devm_clk_register_regmap(dev, rclks[i]);
if (IS_ERR(clk))
return PTR_ERR(clk);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch b/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch
index 102fd4f6c3..b727e2693e 100644
--- a/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch
+++ b/target/linux/ipq806x/patches/0109-libahci-Allow-drivers-to-override-start_engine.patch
@@ -21,11 +21,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/sata_highbank.c | 3 ++-
4 files changed, 31 insertions(+), 10 deletions(-)
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index c81d809..8bfc477 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
-@@ -578,6 +578,7 @@ static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class,
+@@ -583,6 +583,7 @@ static int ahci_vt8251_hardreset(struct
unsigned long deadline)
{
struct ata_port *ap = link->ap;
@@ -33,7 +31,7 @@ index c81d809..8bfc477 100644
bool online;
int rc;
-@@ -588,7 +589,7 @@ static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class,
+@@ -593,7 +594,7 @@ static int ahci_vt8251_hardreset(struct
rc = sata_link_hardreset(link, sata_ehc_deb_timing(&link->eh_context),
deadline, &online, NULL);
@@ -42,7 +40,7 @@ index c81d809..8bfc477 100644
DPRINTK("EXIT, rc=%d, class=%u\n", rc, *class);
-@@ -603,6 +604,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class,
+@@ -608,6 +609,7 @@ static int ahci_p5wdh_hardreset(struct a
{
struct ata_port *ap = link->ap;
struct ahci_port_priv *pp = ap->private_data;
@@ -50,7 +48,7 @@ index c81d809..8bfc477 100644
u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG;
struct ata_taskfile tf;
bool online;
-@@ -618,7 +620,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class,
+@@ -623,7 +625,7 @@ static int ahci_p5wdh_hardreset(struct a
rc = sata_link_hardreset(link, sata_ehc_deb_timing(&link->eh_context),
deadline, &online, NULL);
@@ -59,11 +57,9 @@ index c81d809..8bfc477 100644
/* The pseudo configuration device on SIMG4726 attached to
* ASUS P5W-DH Deluxe doesn't send signature FIS after
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 2289efd..64d1a99 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
-@@ -323,6 +323,12 @@ struct ahci_host_priv {
+@@ -324,6 +324,12 @@ struct ahci_host_priv {
u32 em_msg_type; /* EM message type */
struct clk *clk; /* Only for platforms supporting clk */
void *plat_data; /* Other platform data */
@@ -76,11 +72,9 @@ index 2289efd..64d1a99 100644
};
extern int ahci_ignore_sss;
-diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
-index 36605ab..f839bb3 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
-@@ -394,6 +394,9 @@ static ssize_t ahci_show_em_supported(struct device *dev,
+@@ -394,6 +394,9 @@ static ssize_t ahci_show_em_supported(st
*
* If inconsistent, config values are fixed up by this function.
*
@@ -90,7 +84,7 @@ index 36605ab..f839bb3 100644
* LOCKING:
* None.
*/
-@@ -500,6 +503,9 @@ void ahci_save_initial_config(struct device *dev,
+@@ -500,6 +503,9 @@ void ahci_save_initial_config(struct dev
hpriv->cap = cap;
hpriv->cap2 = cap2;
hpriv->port_map = port_map;
@@ -100,7 +94,7 @@ index 36605ab..f839bb3 100644
}
EXPORT_SYMBOL_GPL(ahci_save_initial_config);
-@@ -766,7 +772,7 @@ static void ahci_start_port(struct ata_port *ap)
+@@ -766,7 +772,7 @@ static void ahci_start_port(struct ata_p
/* enable DMA */
if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE))
@@ -109,7 +103,7 @@ index 36605ab..f839bb3 100644
/* turn on LEDs */
if (ap->flags & ATA_FLAG_EM) {
-@@ -1234,7 +1240,7 @@ int ahci_kick_engine(struct ata_port *ap)
+@@ -1234,7 +1240,7 @@ int ahci_kick_engine(struct ata_port *ap
/* restart engine */
out_restart:
@@ -118,7 +112,7 @@ index 36605ab..f839bb3 100644
return rc;
}
EXPORT_SYMBOL_GPL(ahci_kick_engine);
-@@ -1426,6 +1432,7 @@ static int ahci_hardreset(struct ata_link *link, unsigned int *class,
+@@ -1426,6 +1432,7 @@ static int ahci_hardreset(struct ata_lin
const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context);
struct ata_port *ap = link->ap;
struct ahci_port_priv *pp = ap->private_data;
@@ -126,7 +120,7 @@ index 36605ab..f839bb3 100644
u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG;
struct ata_taskfile tf;
bool online;
-@@ -1443,7 +1450,7 @@ static int ahci_hardreset(struct ata_link *link, unsigned int *class,
+@@ -1443,7 +1450,7 @@ static int ahci_hardreset(struct ata_lin
rc = sata_link_hardreset(link, timing, deadline, &online,
ahci_check_ready);
@@ -135,7 +129,7 @@ index 36605ab..f839bb3 100644
if (online)
*class = ahci_dev_classify(ap);
-@@ -2007,10 +2014,12 @@ static void ahci_thaw(struct ata_port *ap)
+@@ -2007,10 +2014,12 @@ static void ahci_thaw(struct ata_port *a
void ahci_error_handler(struct ata_port *ap)
{
@@ -149,7 +143,7 @@ index 36605ab..f839bb3 100644
}
sata_pmp_error_handler(ap);
-@@ -2031,6 +2040,7 @@ static void ahci_post_internal_cmd(struct ata_queued_cmd *qc)
+@@ -2031,6 +2040,7 @@ static void ahci_post_internal_cmd(struc
static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep)
{
@@ -157,7 +151,7 @@ index 36605ab..f839bb3 100644
void __iomem *port_mmio = ahci_port_base(ap);
struct ata_device *dev = ap->link.device;
u32 devslp, dm, dito, mdat, deto;
-@@ -2094,7 +2104,7 @@ static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep)
+@@ -2094,7 +2104,7 @@ static void ahci_set_aggressive_devslp(s
PORT_DEVSLP_ADSE);
writel(devslp, port_mmio + PORT_DEVSLP);
@@ -166,7 +160,7 @@ index 36605ab..f839bb3 100644
/* enable device sleep feature for the drive */
err_mask = ata_dev_set_feature(dev,
-@@ -2106,6 +2116,7 @@ static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep)
+@@ -2106,6 +2116,7 @@ static void ahci_set_aggressive_devslp(s
static void ahci_enable_fbs(struct ata_port *ap)
{
@@ -174,7 +168,7 @@ index 36605ab..f839bb3 100644
struct ahci_port_priv *pp = ap->private_data;
void __iomem *port_mmio = ahci_port_base(ap);
u32 fbs;
-@@ -2134,11 +2145,12 @@ static void ahci_enable_fbs(struct ata_port *ap)
+@@ -2134,11 +2145,12 @@ static void ahci_enable_fbs(struct ata_p
} else
dev_err(ap->host->dev, "Failed to enable FBS\n");
@@ -188,7 +182,7 @@ index 36605ab..f839bb3 100644
struct ahci_port_priv *pp = ap->private_data;
void __iomem *port_mmio = ahci_port_base(ap);
u32 fbs;
-@@ -2166,7 +2178,7 @@ static void ahci_disable_fbs(struct ata_port *ap)
+@@ -2166,7 +2178,7 @@ static void ahci_disable_fbs(struct ata_
pp->fbs_enabled = false;
}
@@ -197,11 +191,9 @@ index 36605ab..f839bb3 100644
}
static void ahci_pmp_attach(struct ata_port *ap)
-diff --git a/drivers/ata/sata_highbank.c b/drivers/ata/sata_highbank.c
-index 870b11e..b3b18d1 100644
--- a/drivers/ata/sata_highbank.c
+++ b/drivers/ata/sata_highbank.c
-@@ -403,6 +403,7 @@ static int ahci_highbank_hardreset(struct ata_link *link, unsigned int *class,
+@@ -403,6 +403,7 @@ static int ahci_highbank_hardreset(struc
static const unsigned long timing[] = { 5, 100, 500};
struct ata_port *ap = link->ap;
struct ahci_port_priv *pp = ap->private_data;
@@ -209,7 +201,7 @@ index 870b11e..b3b18d1 100644
u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG;
struct ata_taskfile tf;
bool online;
-@@ -431,7 +432,7 @@ static int ahci_highbank_hardreset(struct ata_link *link, unsigned int *class,
+@@ -431,7 +432,7 @@ static int ahci_highbank_hardreset(struc
break;
} while (!online && retry--);
@@ -218,6 +210,3 @@ index 870b11e..b3b18d1 100644
if (online)
*class = ahci_dev_classify(ap);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0110-ahci-platform-Add-support-for-devices-with-more-then.patch b/target/linux/ipq806x/patches/0110-ahci-platform-Add-support-for-devices-with-more-then.patch
index 09c4f220b4..54f84ee072 100644
--- a/target/linux/ipq806x/patches/0110-ahci-platform-Add-support-for-devices-with-more-then.patch
+++ b/target/linux/ipq806x/patches/0110-ahci-platform-Add-support-for-devices-with-more-then.patch
@@ -18,8 +18,6 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/ahci_platform.h | 4 +
4 files changed, 93 insertions(+), 28 deletions(-)
-diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-index 89de156..3ced07d 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
@@ -10,6 +10,7 @@ Required properties:
@@ -30,8 +28,6 @@ index 89de156..3ced07d 100644
Example:
sata@ffe08000 {
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 64d1a99..c12862b 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -51,6 +51,7 @@
@@ -42,7 +38,7 @@ index 64d1a99..c12862b 100644
AHCI_MAX_SG = 168, /* hardware max is 64K */
AHCI_DMA_BOUNDARY = 0xffffffff,
AHCI_MAX_CMDS = 32,
-@@ -321,7 +322,7 @@ struct ahci_host_priv {
+@@ -322,7 +323,7 @@ struct ahci_host_priv {
u32 em_loc; /* enclosure management location */
u32 em_buf_sz; /* EM buffer size in byte */
u32 em_msg_type; /* EM message type */
@@ -51,11 +47,9 @@ index 64d1a99..c12862b 100644
void *plat_data; /* Other platform data */
/*
* Optional ahci_start_engine override, if not set this gets set to the
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 4b231ba..2342a42 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -87,6 +87,60 @@ static struct scsi_host_template ahci_platform_sht = {
+@@ -87,6 +87,60 @@ static struct scsi_host_template ahci_pl
AHCI_SHT("ahci_platform"),
};
@@ -116,7 +110,7 @@ index 4b231ba..2342a42 100644
static int ahci_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
-@@ -97,6 +151,7 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -97,6 +151,7 @@ static int ahci_probe(struct platform_de
struct ahci_host_priv *hpriv;
struct ata_host *host;
struct resource *mem;
@@ -124,7 +118,7 @@ index 4b231ba..2342a42 100644
int irq;
int n_ports;
int i;
-@@ -131,17 +186,31 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -131,17 +186,31 @@ static int ahci_probe(struct platform_de
return -ENOMEM;
}
@@ -178,7 +172,7 @@ index 4b231ba..2342a42 100644
return rc;
}
-@@ -239,10 +306,8 @@ static void ahci_host_stop(struct ata_host *host)
+@@ -239,10 +306,8 @@ static void ahci_host_stop(struct ata_ho
if (pdata && pdata->exit)
pdata->exit(dev);
@@ -191,7 +185,7 @@ index 4b231ba..2342a42 100644
}
#ifdef CONFIG_PM_SLEEP
-@@ -277,8 +342,7 @@ static int ahci_suspend(struct device *dev)
+@@ -277,8 +342,7 @@ static int ahci_suspend(struct device *d
if (pdata && pdata->suspend)
return pdata->suspend(dev);
@@ -201,7 +195,7 @@ index 4b231ba..2342a42 100644
return 0;
}
-@@ -290,13 +354,9 @@ static int ahci_resume(struct device *dev)
+@@ -290,13 +354,9 @@ static int ahci_resume(struct device *de
struct ahci_host_priv *hpriv = host->private_data;
int rc;
@@ -218,7 +212,7 @@ index 4b231ba..2342a42 100644
if (pdata && pdata->resume) {
rc = pdata->resume(dev);
-@@ -317,8 +377,7 @@ static int ahci_resume(struct device *dev)
+@@ -317,8 +377,7 @@ static int ahci_resume(struct device *de
return 0;
disable_unprepare_clk:
@@ -228,8 +222,6 @@ index 4b231ba..2342a42 100644
return rc;
}
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index 73a2500..769d065 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
@@ -19,6 +19,7 @@
@@ -248,6 +240,3 @@ index 73a2500..769d065 100644
+void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
+
#endif /* _AHCI_PLATFORM_H */
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0111-ahci-platform-Add-support-for-an-optional-regulator-.patch b/target/linux/ipq806x/patches/0111-ahci-platform-Add-support-for-an-optional-regulator-.patch
index 2d6ac0bd98..a8b1c6f8dd 100644
--- a/target/linux/ipq806x/patches/0111-ahci-platform-Add-support-for-an-optional-regulator-.patch
+++ b/target/linux/ipq806x/patches/0111-ahci-platform-Add-support-for-an-optional-regulator-.patch
@@ -12,8 +12,6 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_platform.c | 36 ++++++++++++++++++--
3 files changed, 37 insertions(+), 2 deletions(-)
-diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-index 3ced07d..1ac807f 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
@@ -11,6 +11,7 @@ Required properties:
@@ -24,8 +22,6 @@ index 3ced07d..1ac807f 100644
Example:
sata@ffe08000 {
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index c12862b..bf8100c 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -37,6 +37,7 @@
@@ -36,7 +32,7 @@ index c12862b..bf8100c 100644
/* Enclosure Management Control */
#define EM_CTRL_MSG_TYPE 0x000f0000
-@@ -323,6 +324,7 @@ struct ahci_host_priv {
+@@ -324,6 +325,7 @@ struct ahci_host_priv {
u32 em_buf_sz; /* EM buffer size in byte */
u32 em_msg_type; /* EM message type */
struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
@@ -44,11 +40,9 @@ index c12862b..bf8100c 100644
void *plat_data; /* Other platform data */
/*
* Optional ahci_start_engine override, if not set this gets set to the
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 2342a42..8f18ebe 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -186,6 +186,14 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -186,6 +186,14 @@ static int ahci_probe(struct platform_de
return -ENOMEM;
}
@@ -63,7 +57,7 @@ index 2342a42..8f18ebe 100644
for (i = 0; i < AHCI_MAX_CLKS; i++) {
/*
* For now we must use clk_get(dev, NULL) for the first clock,
-@@ -207,9 +215,15 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -207,9 +215,15 @@ static int ahci_probe(struct platform_de
hpriv->clks[i] = clk;
}
@@ -90,7 +84,7 @@ index 2342a42..8f18ebe 100644
free_clk:
ahci_put_clks(hpriv);
return rc;
-@@ -308,6 +325,9 @@ static void ahci_host_stop(struct ata_host *host)
+@@ -308,6 +325,9 @@ static void ahci_host_stop(struct ata_ho
ahci_disable_clks(hpriv);
ahci_put_clks(hpriv);
@@ -100,7 +94,7 @@ index 2342a42..8f18ebe 100644
}
#ifdef CONFIG_PM_SLEEP
-@@ -344,6 +364,9 @@ static int ahci_suspend(struct device *dev)
+@@ -344,6 +364,9 @@ static int ahci_suspend(struct device *d
ahci_disable_clks(hpriv);
@@ -110,7 +104,7 @@ index 2342a42..8f18ebe 100644
return 0;
}
-@@ -354,9 +377,15 @@ static int ahci_resume(struct device *dev)
+@@ -354,9 +377,15 @@ static int ahci_resume(struct device *de
struct ahci_host_priv *hpriv = host->private_data;
int rc;
@@ -127,7 +121,7 @@ index 2342a42..8f18ebe 100644
if (pdata && pdata->resume) {
rc = pdata->resume(dev);
-@@ -378,6 +407,9 @@ static int ahci_resume(struct device *dev)
+@@ -378,6 +407,9 @@ static int ahci_resume(struct device *de
disable_unprepare_clk:
ahci_disable_clks(hpriv);
@@ -137,6 +131,3 @@ index 2342a42..8f18ebe 100644
return rc;
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0112-ahci-platform-Add-enable_-disable_resources-helper-f.patch b/target/linux/ipq806x/patches/0112-ahci-platform-Add-enable_-disable_resources-helper-f.patch
index ad6adbebf5..888ee324f8 100644
--- a/target/linux/ipq806x/patches/0112-ahci-platform-Add-enable_-disable_resources-helper-f.patch
+++ b/target/linux/ipq806x/patches/0112-ahci-platform-Add-enable_-disable_resources-helper-f.patch
@@ -13,11 +13,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/ahci_platform.h | 2 +
2 files changed, 71 insertions(+), 37 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 8f18ebe..656d285 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -133,6 +133,62 @@ void ahci_platform_disable_clks(struct ahci_host_priv *hpriv)
+@@ -133,6 +133,62 @@ void ahci_platform_disable_clks(struct a
}
EXPORT_SYMBOL_GPL(ahci_platform_disable_clks);
@@ -80,7 +78,7 @@ index 8f18ebe..656d285 100644
static void ahci_put_clks(struct ahci_host_priv *hpriv)
{
int c;
-@@ -215,15 +271,9 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -215,15 +271,9 @@ static int ahci_probe(struct platform_de
hpriv->clks[i] = clk;
}
@@ -98,7 +96,7 @@ index 8f18ebe..656d285 100644
/*
* Some platforms might need to prepare for mmio region access,
-@@ -234,7 +284,7 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -234,7 +284,7 @@ static int ahci_probe(struct platform_de
if (pdata && pdata->init) {
rc = pdata->init(dev, hpriv->mmio);
if (rc)
@@ -107,7 +105,7 @@ index 8f18ebe..656d285 100644
}
ahci_save_initial_config(dev, hpriv,
-@@ -304,11 +354,8 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -304,11 +354,8 @@ static int ahci_probe(struct platform_de
pdata_exit:
if (pdata && pdata->exit)
pdata->exit(dev);
@@ -121,7 +119,7 @@ index 8f18ebe..656d285 100644
free_clk:
ahci_put_clks(hpriv);
return rc;
-@@ -323,11 +370,8 @@ static void ahci_host_stop(struct ata_host *host)
+@@ -323,11 +370,8 @@ static void ahci_host_stop(struct ata_ho
if (pdata && pdata->exit)
pdata->exit(dev);
@@ -134,7 +132,7 @@ index 8f18ebe..656d285 100644
}
#ifdef CONFIG_PM_SLEEP
-@@ -362,10 +406,7 @@ static int ahci_suspend(struct device *dev)
+@@ -362,10 +406,7 @@ static int ahci_suspend(struct device *d
if (pdata && pdata->suspend)
return pdata->suspend(dev);
@@ -146,7 +144,7 @@ index 8f18ebe..656d285 100644
return 0;
}
-@@ -377,26 +418,20 @@ static int ahci_resume(struct device *dev)
+@@ -377,26 +418,20 @@ static int ahci_resume(struct device *de
struct ahci_host_priv *hpriv = host->private_data;
int rc;
@@ -177,7 +175,7 @@ index 8f18ebe..656d285 100644
ahci_init_controller(host);
}
-@@ -405,11 +440,8 @@ static int ahci_resume(struct device *dev)
+@@ -405,11 +440,8 @@ static int ahci_resume(struct device *de
return 0;
@@ -191,8 +189,6 @@ index 8f18ebe..656d285 100644
return rc;
}
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index 769d065..b674b01 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
@@ -33,5 +33,7 @@ struct ahci_platform_data {
@@ -203,6 +199,3 @@ index 769d065..b674b01 100644
+void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
#endif /* _AHCI_PLATFORM_H */
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0113-ata-delete-non-required-instances-of-include-linux-i.patch b/target/linux/ipq806x/patches/0113-ata-delete-non-required-instances-of-include-linux-i.patch
index c7db74020d..18e034e23e 100644
--- a/target/linux/ipq806x/patches/0113-ata-delete-non-required-instances-of-include-linux-i.patch
+++ b/target/linux/ipq806x/patches/0113-ata-delete-non-required-instances-of-include-linux-i.patch
@@ -83,8 +83,6 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/sata_vsc.c | 1 -
68 files changed, 68 deletions(-)
-diff --git a/drivers/ata/acard-ahci.c b/drivers/ata/acard-ahci.c
-index fd665d9..b51605a 100644
--- a/drivers/ata/acard-ahci.c
+++ b/drivers/ata/acard-ahci.c
@@ -36,7 +36,6 @@
@@ -95,8 +93,6 @@ index fd665d9..b51605a 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index 8bfc477..a52a5b6 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -35,7 +35,6 @@
@@ -107,8 +103,6 @@ index 8bfc477..a52a5b6 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 656d285..a32df31 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -17,7 +17,6 @@
@@ -119,8 +113,6 @@ index 656d285..a32df31 100644
#include <linux/interrupt.h>
#include <linux/device.h>
#include <linux/platform_device.h>
-diff --git a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c
-index 7d19665..9498a7d 100644
--- a/drivers/ata/ata_generic.c
+++ b/drivers/ata/ata_generic.c
@@ -19,7 +19,6 @@
@@ -131,8 +123,6 @@ index 7d19665..9498a7d 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
-index f839bb3..fa02770 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -35,7 +35,6 @@
@@ -143,8 +133,6 @@ index f839bb3..fa02770 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/pata_acpi.c b/drivers/ata/pata_acpi.c
-index 62c9ac8..5108b87 100644
--- a/drivers/ata/pata_acpi.c
+++ b/drivers/ata/pata_acpi.c
@@ -7,7 +7,6 @@
@@ -155,8 +143,6 @@ index 62c9ac8..5108b87 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
-index d23e2b3..1206fa6 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -17,7 +17,6 @@
@@ -167,8 +153,6 @@ index d23e2b3..1206fa6 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c
-index 1581dee..3aa4e65 100644
--- a/drivers/ata/pata_artop.c
+++ b/drivers/ata/pata_artop.c
@@ -19,7 +19,6 @@
@@ -179,8 +163,6 @@ index 1581dee..3aa4e65 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_at91.c b/drivers/ata/pata_at91.c
-index d63ee8f..e9c8727 100644
--- a/drivers/ata/pata_at91.c
+++ b/drivers/ata/pata_at91.c
@@ -18,7 +18,6 @@
@@ -191,8 +173,6 @@ index d63ee8f..e9c8727 100644
#include <linux/blkdev.h>
#include <linux/gfp.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_atiixp.c b/drivers/ata/pata_atiixp.c
-index 24e5105..30fa4ca 100644
--- a/drivers/ata/pata_atiixp.c
+++ b/drivers/ata/pata_atiixp.c
@@ -15,7 +15,6 @@
@@ -203,8 +183,6 @@ index 24e5105..30fa4ca 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_atp867x.c b/drivers/ata/pata_atp867x.c
-index 2ca5026..7e73a0f 100644
--- a/drivers/ata/pata_atp867x.c
+++ b/drivers/ata/pata_atp867x.c
@@ -29,7 +29,6 @@
@@ -215,8 +193,6 @@ index 2ca5026..7e73a0f 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_cmd640.c b/drivers/ata/pata_cmd640.c
-index 8fb69e5..57f1be6 100644
--- a/drivers/ata/pata_cmd640.c
+++ b/drivers/ata/pata_cmd640.c
@@ -15,7 +15,6 @@
@@ -227,8 +203,6 @@ index 8fb69e5..57f1be6 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/gfp.h>
-diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c
-index 1275a8d..6bca350 100644
--- a/drivers/ata/pata_cmd64x.c
+++ b/drivers/ata/pata_cmd64x.c
@@ -26,7 +26,6 @@
@@ -239,8 +213,6 @@ index 1275a8d..6bca350 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_cs5520.c b/drivers/ata/pata_cs5520.c
-index f10baab..bcde4b7 100644
--- a/drivers/ata/pata_cs5520.c
+++ b/drivers/ata/pata_cs5520.c
@@ -34,7 +34,6 @@
@@ -251,8 +223,6 @@ index f10baab..bcde4b7 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_cs5530.c b/drivers/ata/pata_cs5530.c
-index f07f229..8afe854 100644
--- a/drivers/ata/pata_cs5530.c
+++ b/drivers/ata/pata_cs5530.c
@@ -26,7 +26,6 @@
@@ -263,8 +233,6 @@ index f07f229..8afe854 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c
-index 997e16a..2c0986f 100644
--- a/drivers/ata/pata_cs5535.c
+++ b/drivers/ata/pata_cs5535.c
@@ -31,7 +31,6 @@
@@ -275,8 +243,6 @@ index 997e16a..2c0986f 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c
-index 0448860..32ddcae 100644
--- a/drivers/ata/pata_cs5536.c
+++ b/drivers/ata/pata_cs5536.c
@@ -33,7 +33,6 @@
@@ -287,8 +253,6 @@ index 0448860..32ddcae 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/libata.h>
-diff --git a/drivers/ata/pata_cypress.c b/drivers/ata/pata_cypress.c
-index 810bc99..3435bd6 100644
--- a/drivers/ata/pata_cypress.c
+++ b/drivers/ata/pata_cypress.c
@@ -11,7 +11,6 @@
@@ -299,8 +263,6 @@ index 810bc99..3435bd6 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_efar.c b/drivers/ata/pata_efar.c
-index 3c12fd7..f440892 100644
--- a/drivers/ata/pata_efar.c
+++ b/drivers/ata/pata_efar.c
@@ -14,7 +14,6 @@
@@ -311,8 +273,6 @@ index 3c12fd7..f440892 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_ep93xx.c b/drivers/ata/pata_ep93xx.c
-index 980b88e..cad9d45 100644
--- a/drivers/ata/pata_ep93xx.c
+++ b/drivers/ata/pata_ep93xx.c
@@ -34,7 +34,6 @@
@@ -323,8 +283,6 @@ index 980b88e..cad9d45 100644
#include <linux/blkdev.h>
#include <scsi/scsi_host.h>
#include <linux/ata.h>
-diff --git a/drivers/ata/pata_hpt366.c b/drivers/ata/pata_hpt366.c
-index 35b5213..8e76f79 100644
--- a/drivers/ata/pata_hpt366.c
+++ b/drivers/ata/pata_hpt366.c
@@ -19,7 +19,6 @@
@@ -335,8 +293,6 @@ index 35b5213..8e76f79 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_hpt37x.c b/drivers/ata/pata_hpt37x.c
-index a9d74ef..3ba843f 100644
--- a/drivers/ata/pata_hpt37x.c
+++ b/drivers/ata/pata_hpt37x.c
@@ -19,7 +19,6 @@
@@ -347,8 +303,6 @@ index a9d74ef..3ba843f 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_hpt3x2n.c b/drivers/ata/pata_hpt3x2n.c
-index 4be0398..b93c0f0 100644
--- a/drivers/ata/pata_hpt3x2n.c
+++ b/drivers/ata/pata_hpt3x2n.c
@@ -20,7 +20,6 @@
@@ -359,8 +313,6 @@ index 4be0398..b93c0f0 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_hpt3x3.c b/drivers/ata/pata_hpt3x3.c
-index 85cf286..255c5aa 100644
--- a/drivers/ata/pata_hpt3x3.c
+++ b/drivers/ata/pata_hpt3x3.c
@@ -16,7 +16,6 @@
@@ -371,8 +323,6 @@ index 85cf286..255c5aa 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_imx.c b/drivers/ata/pata_imx.c
-index b0b18ec..7e69797 100644
--- a/drivers/ata/pata_imx.c
+++ b/drivers/ata/pata_imx.c
@@ -15,7 +15,6 @@
@@ -383,8 +333,6 @@ index b0b18ec..7e69797 100644
#include <linux/blkdev.h>
#include <scsi/scsi_host.h>
#include <linux/ata.h>
-diff --git a/drivers/ata/pata_it8213.c b/drivers/ata/pata_it8213.c
-index 2a8dd95..81369d1 100644
--- a/drivers/ata/pata_it8213.c
+++ b/drivers/ata/pata_it8213.c
@@ -10,7 +10,6 @@
@@ -395,8 +343,6 @@ index 2a8dd95..81369d1 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c
-index 581e04d..dc3d787 100644
--- a/drivers/ata/pata_it821x.c
+++ b/drivers/ata/pata_it821x.c
@@ -72,7 +72,6 @@
@@ -407,8 +353,6 @@ index 581e04d..dc3d787 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/slab.h>
-diff --git a/drivers/ata/pata_jmicron.c b/drivers/ata/pata_jmicron.c
-index 76e739b0..b1cfa02 100644
--- a/drivers/ata/pata_jmicron.c
+++ b/drivers/ata/pata_jmicron.c
@@ -10,7 +10,6 @@
@@ -419,8 +363,6 @@ index 76e739b0..b1cfa02 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c
-index a4f5e78..6bad3df 100644
--- a/drivers/ata/pata_marvell.c
+++ b/drivers/ata/pata_marvell.c
@@ -11,7 +11,6 @@
@@ -431,8 +373,6 @@ index a4f5e78..6bad3df 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_mpiix.c b/drivers/ata/pata_mpiix.c
-index 1f5f28b..f39a537 100644
--- a/drivers/ata/pata_mpiix.c
+++ b/drivers/ata/pata_mpiix.c
@@ -28,7 +28,6 @@
@@ -443,8 +383,6 @@ index 1f5f28b..f39a537 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_netcell.c b/drivers/ata/pata_netcell.c
-index ad1a0fe..e3b9709 100644
--- a/drivers/ata/pata_netcell.c
+++ b/drivers/ata/pata_netcell.c
@@ -7,7 +7,6 @@
@@ -455,8 +393,6 @@ index ad1a0fe..e3b9709 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_ninja32.c b/drivers/ata/pata_ninja32.c
-index 9513e07..56201a6 100644
--- a/drivers/ata/pata_ninja32.c
+++ b/drivers/ata/pata_ninja32.c
@@ -37,7 +37,6 @@
@@ -467,8 +403,6 @@ index 9513e07..56201a6 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_ns87410.c b/drivers/ata/pata_ns87410.c
-index 0c424da..6154c3e 100644
--- a/drivers/ata/pata_ns87410.c
+++ b/drivers/ata/pata_ns87410.c
@@ -20,7 +20,6 @@
@@ -479,8 +413,6 @@ index 0c424da..6154c3e 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_ns87415.c b/drivers/ata/pata_ns87415.c
-index 16dc3a6..d44df7c 100644
--- a/drivers/ata/pata_ns87415.c
+++ b/drivers/ata/pata_ns87415.c
@@ -25,7 +25,6 @@
@@ -491,8 +423,6 @@ index 16dc3a6..d44df7c 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_oldpiix.c b/drivers/ata/pata_oldpiix.c
-index d77b2e1..319b644 100644
--- a/drivers/ata/pata_oldpiix.c
+++ b/drivers/ata/pata_oldpiix.c
@@ -16,7 +16,6 @@
@@ -503,8 +433,6 @@ index d77b2e1..319b644 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_opti.c b/drivers/ata/pata_opti.c
-index 4ea70cd..fb042e0 100644
--- a/drivers/ata/pata_opti.c
+++ b/drivers/ata/pata_opti.c
@@ -26,7 +26,6 @@
@@ -515,8 +443,6 @@ index 4ea70cd..fb042e0 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_optidma.c b/drivers/ata/pata_optidma.c
-index 78ede3f..bb71ea2 100644
--- a/drivers/ata/pata_optidma.c
+++ b/drivers/ata/pata_optidma.c
@@ -25,7 +25,6 @@
@@ -527,8 +453,6 @@ index 78ede3f..bb71ea2 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_pcmcia.c b/drivers/ata/pata_pcmcia.c
-index 40254f4..bcc4b96 100644
--- a/drivers/ata/pata_pcmcia.c
+++ b/drivers/ata/pata_pcmcia.c
@@ -26,7 +26,6 @@
@@ -539,8 +463,6 @@ index 40254f4..bcc4b96 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/slab.h>
-diff --git a/drivers/ata/pata_pdc2027x.c b/drivers/ata/pata_pdc2027x.c
-index 9d874c8..1151f23 100644
--- a/drivers/ata/pata_pdc2027x.c
+++ b/drivers/ata/pata_pdc2027x.c
@@ -25,7 +25,6 @@
@@ -551,8 +473,6 @@ index 9d874c8..1151f23 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_pdc202xx_old.c b/drivers/ata/pata_pdc202xx_old.c
-index c34fc50..defa050 100644
--- a/drivers/ata/pata_pdc202xx_old.c
+++ b/drivers/ata/pata_pdc202xx_old.c
@@ -15,7 +15,6 @@
@@ -563,8 +483,6 @@ index c34fc50..defa050 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_piccolo.c b/drivers/ata/pata_piccolo.c
-index 2beb6b5..0b46be1 100644
--- a/drivers/ata/pata_piccolo.c
+++ b/drivers/ata/pata_piccolo.c
@@ -18,7 +18,6 @@
@@ -575,8 +493,6 @@ index 2beb6b5..0b46be1 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c
-index 0279488..a5579b5 100644
--- a/drivers/ata/pata_platform.c
+++ b/drivers/ata/pata_platform.c
@@ -13,7 +13,6 @@
@@ -587,8 +503,6 @@ index 0279488..a5579b5 100644
#include <linux/blkdev.h>
#include <scsi/scsi_host.h>
#include <linux/ata.h>
-diff --git a/drivers/ata/pata_pxa.c b/drivers/ata/pata_pxa.c
-index a6f05ac..73259bf 100644
--- a/drivers/ata/pata_pxa.c
+++ b/drivers/ata/pata_pxa.c
@@ -20,7 +20,6 @@
@@ -599,8 +513,6 @@ index a6f05ac..73259bf 100644
#include <linux/blkdev.h>
#include <linux/ata.h>
#include <linux/libata.h>
-diff --git a/drivers/ata/pata_radisys.c b/drivers/ata/pata_radisys.c
-index f582ba1..be3f102 100644
--- a/drivers/ata/pata_radisys.c
+++ b/drivers/ata/pata_radisys.c
@@ -15,7 +15,6 @@
@@ -611,8 +523,6 @@ index f582ba1..be3f102 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_rdc.c b/drivers/ata/pata_rdc.c
-index 79a970f..521b213 100644
--- a/drivers/ata/pata_rdc.c
+++ b/drivers/ata/pata_rdc.c
@@ -24,7 +24,6 @@
@@ -623,8 +533,6 @@ index 79a970f..521b213 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_rz1000.c b/drivers/ata/pata_rz1000.c
-index 040b093..caedc90 100644
--- a/drivers/ata/pata_rz1000.c
+++ b/drivers/ata/pata_rz1000.c
@@ -14,7 +14,6 @@
@@ -635,8 +543,6 @@ index 040b093..caedc90 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_sc1200.c b/drivers/ata/pata_sc1200.c
-index ce2f828..96a232f 100644
--- a/drivers/ata/pata_sc1200.c
+++ b/drivers/ata/pata_sc1200.c
@@ -32,7 +32,6 @@
@@ -647,8 +553,6 @@ index ce2f828..96a232f 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
-index f35f15f..f1f5b5a 100644
--- a/drivers/ata/pata_scc.c
+++ b/drivers/ata/pata_scc.c
@@ -35,7 +35,6 @@
@@ -659,8 +563,6 @@ index f35f15f..f1f5b5a 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_sch.c b/drivers/ata/pata_sch.c
-index d3830c4..5a1cde0 100644
--- a/drivers/ata/pata_sch.c
+++ b/drivers/ata/pata_sch.c
@@ -27,7 +27,6 @@
@@ -671,8 +573,6 @@ index d3830c4..5a1cde0 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_serverworks.c b/drivers/ata/pata_serverworks.c
-index 96c6a79..e27f31f 100644
--- a/drivers/ata/pata_serverworks.c
+++ b/drivers/ata/pata_serverworks.c
@@ -34,7 +34,6 @@
@@ -683,8 +583,6 @@ index 96c6a79..e27f31f 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c
-index c4b0b07..73fe362 100644
--- a/drivers/ata/pata_sil680.c
+++ b/drivers/ata/pata_sil680.c
@@ -25,7 +25,6 @@
@@ -695,8 +593,6 @@ index c4b0b07..73fe362 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_sis.c b/drivers/ata/pata_sis.c
-index 1e83636..78d913a 100644
--- a/drivers/ata/pata_sis.c
+++ b/drivers/ata/pata_sis.c
@@ -26,7 +26,6 @@
@@ -707,8 +603,6 @@ index 1e83636..78d913a 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/pata_sl82c105.c b/drivers/ata/pata_sl82c105.c
-index 6816911..900f0e4 100644
--- a/drivers/ata/pata_sl82c105.c
+++ b/drivers/ata/pata_sl82c105.c
@@ -19,7 +19,6 @@
@@ -719,8 +613,6 @@ index 6816911..900f0e4 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_triflex.c b/drivers/ata/pata_triflex.c
-index 94473da..7bc78e2 100644
--- a/drivers/ata/pata_triflex.c
+++ b/drivers/ata/pata_triflex.c
@@ -36,7 +36,6 @@
@@ -731,8 +623,6 @@ index 94473da..7bc78e2 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
-diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
-index c3ab9a6..f6c9632 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -55,7 +55,6 @@
@@ -743,8 +633,6 @@ index c3ab9a6..f6c9632 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/gfp.h>
-diff --git a/drivers/ata/pdc_adma.c b/drivers/ata/pdc_adma.c
-index 8ea6e6a..f10631b 100644
--- a/drivers/ata/pdc_adma.c
+++ b/drivers/ata/pdc_adma.c
@@ -36,7 +36,6 @@
@@ -755,8 +643,6 @@ index 8ea6e6a..f10631b 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_dwc_460ex.c b/drivers/ata/sata_dwc_460ex.c
-index 523524b..73510d0 100644
--- a/drivers/ata/sata_dwc_460ex.c
+++ b/drivers/ata/sata_dwc_460ex.c
@@ -29,7 +29,6 @@
@@ -767,8 +653,6 @@ index 523524b..73510d0 100644
#include <linux/device.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
-diff --git a/drivers/ata/sata_highbank.c b/drivers/ata/sata_highbank.c
-index b3b18d1..d4df0bf 100644
--- a/drivers/ata/sata_highbank.c
+++ b/drivers/ata/sata_highbank.c
@@ -19,7 +19,6 @@
@@ -779,8 +663,6 @@ index b3b18d1..d4df0bf 100644
#include <linux/types.h>
#include <linux/err.h>
#include <linux/io.h>
-diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
-index d74def8..ba5f271 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -40,7 +40,6 @@
@@ -791,8 +673,6 @@ index d74def8..ba5f271 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
-index 97f4acb..3638887 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -35,7 +35,6 @@
@@ -803,8 +683,6 @@ index 97f4acb..3638887 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_qstor.c b/drivers/ata/sata_qstor.c
-index 3b0dd57..9a6bd4c 100644
--- a/drivers/ata/sata_qstor.c
+++ b/drivers/ata/sata_qstor.c
@@ -31,7 +31,6 @@
@@ -815,8 +693,6 @@ index 3b0dd57..9a6bd4c 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c
-index b7695e8..3062f86 100644
--- a/drivers/ata/sata_sil.c
+++ b/drivers/ata/sata_sil.c
@@ -37,7 +37,6 @@
@@ -827,8 +703,6 @@ index b7695e8..3062f86 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_sis.c b/drivers/ata/sata_sis.c
-index 1ad2f62..b513428 100644
--- a/drivers/ata/sata_sis.c
+++ b/drivers/ata/sata_sis.c
@@ -33,7 +33,6 @@
@@ -839,8 +713,6 @@ index 1ad2f62..b513428 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_svw.c b/drivers/ata/sata_svw.c
-index dc4f701..c630fa8 100644
--- a/drivers/ata/sata_svw.c
+++ b/drivers/ata/sata_svw.c
@@ -39,7 +39,6 @@
@@ -851,8 +723,6 @@ index dc4f701..c630fa8 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
-index 9947010..6cd0312 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -82,7 +82,6 @@
@@ -863,8 +733,6 @@ index 9947010..6cd0312 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_uli.c b/drivers/ata/sata_uli.c
-index 6d64891..08f98c3 100644
--- a/drivers/ata/sata_uli.c
+++ b/drivers/ata/sata_uli.c
@@ -28,7 +28,6 @@
@@ -875,8 +743,6 @@ index 6d64891..08f98c3 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
-diff --git a/drivers/ata/sata_via.c b/drivers/ata/sata_via.c
-index 87f056e..f72e842 100644
--- a/drivers/ata/sata_via.c
+++ b/drivers/ata/sata_via.c
@@ -36,7 +36,6 @@
@@ -887,8 +753,6 @@ index 87f056e..f72e842 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/device.h>
-diff --git a/drivers/ata/sata_vsc.c b/drivers/ata/sata_vsc.c
-index 44f304b..29e847a 100644
--- a/drivers/ata/sata_vsc.c
+++ b/drivers/ata/sata_vsc.c
@@ -37,7 +37,6 @@
@@ -899,6 +763,3 @@ index 44f304b..29e847a 100644
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0114-ahci-platform-Library-ise-ahci_probe-functionality.patch b/target/linux/ipq806x/patches/0114-ahci-platform-Library-ise-ahci_probe-functionality.patch
index 9b9c7afd47..3b638d45ac 100644
--- a/target/linux/ipq806x/patches/0114-ahci-platform-Library-ise-ahci_probe-functionality.patch
+++ b/target/linux/ipq806x/patches/0114-ahci-platform-Library-ise-ahci_probe-functionality.patch
@@ -28,11 +28,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/ahci_platform.h | 14 +++
2 files changed, 137 insertions(+), 65 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index a32df31..19e9eaa 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -188,64 +188,60 @@ void ahci_platform_disable_resources(struct ahci_host_priv *hpriv)
+@@ -188,64 +188,60 @@ void ahci_platform_disable_resources(str
}
EXPORT_SYMBOL_GPL(ahci_platform_disable_resources);
@@ -85,31 +83,31 @@ index a32df31..19e9eaa 100644
- dev_err(dev, "no mmio space\n");
- return -EINVAL;
- }
--
++ if (!devres_open_group(dev, NULL, GFP_KERNEL))
++ return ERR_PTR(-ENOMEM);
+
- irq = platform_get_irq(pdev, 0);
- if (irq <= 0) {
- dev_err(dev, "no irq\n");
- return -EINVAL;
- }
-+ if (!devres_open_group(dev, NULL, GFP_KERNEL))
-+ return ERR_PTR(-ENOMEM);
-
+-
- if (pdata && pdata->ata_port_info)
- pi = *pdata->ata_port_info;
--
-- hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL);
-- if (!hpriv) {
-- dev_err(dev, "can't alloc ahci_host_priv\n");
-- return -ENOMEM;
-- }
+ hpriv = devres_alloc(ahci_platform_put_resources, sizeof(*hpriv),
+ GFP_KERNEL);
+ if (!hpriv)
+ goto err_out;
-- hpriv->flags |= (unsigned long)pi.private_data;
+- hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL);
+- if (!hpriv) {
+- dev_err(dev, "can't alloc ahci_host_priv\n");
+- return -ENOMEM;
+- }
+ devres_add(dev, hpriv);
+- hpriv->flags |= (unsigned long)pi.private_data;
+-
- hpriv->mmio = devm_ioremap(dev, mem->start, resource_size(mem));
+ hpriv->mmio = devm_ioremap_resource(dev,
+ platform_get_resource(pdev, IORESOURCE_MEM, 0));
@@ -129,7 +127,7 @@ index a32df31..19e9eaa 100644
hpriv->target_pwr = NULL;
}
-@@ -264,33 +260,59 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -264,33 +260,59 @@ static int ahci_probe(struct platform_de
if (IS_ERR(clk)) {
rc = PTR_ERR(clk);
if (rc == -EPROBE_DEFER)
@@ -207,7 +205,7 @@ index a32df31..19e9eaa 100644
if (hpriv->cap & HOST_CAP_NCQ)
pi.flags |= ATA_FLAG_NCQ;
-@@ -307,10 +329,8 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -307,10 +329,8 @@ static int ahci_probe(struct platform_de
n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map));
host = ata_host_alloc_pinfo(dev, ppi, n_ports);
@@ -220,7 +218,7 @@ index a32df31..19e9eaa 100644
host->private_data = hpriv;
-@@ -325,7 +345,8 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -325,7 +345,8 @@ static int ahci_probe(struct platform_de
for (i = 0; i < host->n_ports; i++) {
struct ata_port *ap = host->ports[i];
@@ -230,7 +228,7 @@ index a32df31..19e9eaa 100644
ata_port_desc(ap, "port 0x%x", 0x100 + ap->port_no * 0x80);
/* set enclosure management message type */
-@@ -339,13 +360,53 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -339,13 +360,53 @@ static int ahci_probe(struct platform_de
rc = ahci_reset_controller(host);
if (rc)
@@ -296,7 +294,7 @@ index a32df31..19e9eaa 100644
return rc;
}
-@@ -370,7 +429,6 @@ static void ahci_host_stop(struct ata_host *host)
+@@ -370,7 +429,6 @@ static void ahci_host_stop(struct ata_ho
pdata->exit(dev);
ahci_platform_disable_resources(hpriv);
@@ -304,8 +302,6 @@ index a32df31..19e9eaa 100644
}
#ifdef CONFIG_PM_SLEEP
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index b674b01..b80c51c 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
@@ -20,7 +20,14 @@
@@ -323,7 +319,7 @@ index b674b01..b80c51c 100644
struct ahci_platform_data {
int (*init)(struct device *dev, void __iomem *addr);
void (*exit)(struct device *dev);
-@@ -35,5 +42,12 @@ int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
+@@ -35,5 +42,12 @@ int ahci_platform_enable_clks(struct ahc
void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
@@ -336,6 +332,3 @@ index b674b01..b80c51c 100644
+ unsigned int mask_port_map);
#endif /* _AHCI_PLATFORM_H */
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0115-ahci-platform-Library-ise-suspend-resume-functionali.patch b/target/linux/ipq806x/patches/0115-ahci-platform-Library-ise-suspend-resume-functionali.patch
index 9a9cb074e8..8cc7d7acc9 100644
--- a/target/linux/ipq806x/patches/0115-ahci-platform-Library-ise-suspend-resume-functionali.patch
+++ b/target/linux/ipq806x/patches/0115-ahci-platform-Library-ise-suspend-resume-functionali.patch
@@ -17,11 +17,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/ahci_platform.h | 5 +++
2 files changed, 87 insertions(+), 15 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 19e9eaa..01f7bbe 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -432,14 +432,23 @@ static void ahci_host_stop(struct ata_host *host)
+@@ -432,14 +432,23 @@ static void ahci_host_stop(struct ata_ho
}
#ifdef CONFIG_PM_SLEEP
@@ -48,7 +46,7 @@ index 19e9eaa..01f7bbe 100644
if (hpriv->flags & AHCI_HFLAG_NO_SUSPEND) {
dev_err(dev, "firmware update required for suspend/resume\n");
-@@ -456,7 +465,58 @@ static int ahci_suspend(struct device *dev)
+@@ -456,7 +465,58 @@ static int ahci_suspend(struct device *d
writel(ctl, mmio + HOST_CTL);
readl(mmio + HOST_CTL); /* flush */
@@ -108,7 +106,7 @@ index 19e9eaa..01f7bbe 100644
if (rc)
return rc;
-@@ -467,8 +527,19 @@ static int ahci_suspend(struct device *dev)
+@@ -467,8 +527,19 @@ static int ahci_suspend(struct device *d
return 0;
}
@@ -129,7 +127,7 @@ index 19e9eaa..01f7bbe 100644
{
struct ahci_platform_data *pdata = dev_get_platdata(dev);
struct ata_host *host = dev_get_drvdata(dev);
-@@ -485,15 +556,9 @@ static int ahci_resume(struct device *dev)
+@@ -485,15 +556,9 @@ static int ahci_resume(struct device *de
goto disable_resources;
}
@@ -161,11 +159,9 @@ index 19e9eaa..01f7bbe 100644
static const struct of_device_id ahci_of_match[] = {
{ .compatible = "snps,spear-ahci", },
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index b80c51c..542f268 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
-@@ -50,4 +50,9 @@ int ahci_platform_init_host(struct platform_device *pdev,
+@@ -50,4 +50,9 @@ int ahci_platform_init_host(struct platf
unsigned int force_port_map,
unsigned int mask_port_map);
@@ -175,6 +171,3 @@ index b80c51c..542f268 100644
+int ahci_platform_resume(struct device *dev);
+
#endif /* _AHCI_PLATFORM_H */
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0116-ata-ahci_platform-Add-DT-compatible-for-Synopsis-DWC.patch b/target/linux/ipq806x/patches/0116-ata-ahci_platform-Add-DT-compatible-for-Synopsis-DWC.patch
index 72c2c2e07d..e64e5c9eaa 100644
--- a/target/linux/ipq806x/patches/0116-ata-ahci_platform-Add-DT-compatible-for-Synopsis-DWC.patch
+++ b/target/linux/ipq806x/patches/0116-ata-ahci_platform-Add-DT-compatible-for-Synopsis-DWC.patch
@@ -15,11 +15,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_platform.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 01f7bbe..968e7d9 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -577,6 +577,7 @@ static const struct of_device_id ahci_of_match[] = {
+@@ -577,6 +577,7 @@ static const struct of_device_id ahci_of
{ .compatible = "snps,spear-ahci", },
{ .compatible = "snps,exynos5440-ahci", },
{ .compatible = "ibm,476gtr-ahci", },
@@ -27,6 +25,3 @@ index 01f7bbe..968e7d9 100644
{},
};
MODULE_DEVICE_TABLE(of, ahci_of_match);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0117-ata-ahci_platform-Manage-SATA-PHY.patch b/target/linux/ipq806x/patches/0117-ata-ahci_platform-Manage-SATA-PHY.patch
index fab7e57635..20211dcc1d 100644
--- a/target/linux/ipq806x/patches/0117-ata-ahci_platform-Manage-SATA-PHY.patch
+++ b/target/linux/ipq806x/patches/0117-ata-ahci_platform-Manage-SATA-PHY.patch
@@ -18,8 +18,6 @@ Signed-off-by: Tejun Heo<tj@kernel.org>
drivers/ata/ahci_platform.c | 47 +++++++++++++++++++++++++++++++++++++++++--
2 files changed, 47 insertions(+), 2 deletions(-)
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index bf8100c..3ab7ac9 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -37,6 +37,7 @@
@@ -30,7 +28,7 @@ index bf8100c..3ab7ac9 100644
#include <linux/regulator/consumer.h>
/* Enclosure Management Control */
-@@ -325,6 +326,7 @@ struct ahci_host_priv {
+@@ -326,6 +327,7 @@ struct ahci_host_priv {
u32 em_msg_type; /* EM message type */
struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
struct regulator *target_pwr; /* Optional */
@@ -38,8 +36,6 @@ index bf8100c..3ab7ac9 100644
void *plat_data; /* Other platform data */
/*
* Optional ahci_start_engine override, if not set this gets set to the
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 968e7d9..243dde3 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -22,6 +22,7 @@
@@ -50,7 +46,7 @@ index 968e7d9..243dde3 100644
#include "ahci.h"
static void ahci_host_stop(struct ata_host *host);
-@@ -140,6 +141,7 @@ EXPORT_SYMBOL_GPL(ahci_platform_disable_clks);
+@@ -140,6 +141,7 @@ EXPORT_SYMBOL_GPL(ahci_platform_disable_
* following order:
* 1) Regulator
* 2) Clocks (through ahci_platform_enable_clks)
@@ -58,7 +54,7 @@ index 968e7d9..243dde3 100644
*
* If resource enabling fails at any point the previous enabled resources
* are disabled in reverse order.
-@@ -161,8 +163,23 @@ int ahci_platform_enable_resources(struct ahci_host_priv *hpriv)
+@@ -161,8 +163,23 @@ int ahci_platform_enable_resources(struc
if (rc)
goto disable_regulator;
@@ -82,7 +78,7 @@ index 968e7d9..243dde3 100644
disable_regulator:
if (hpriv->target_pwr)
regulator_disable(hpriv->target_pwr);
-@@ -176,11 +193,17 @@ EXPORT_SYMBOL_GPL(ahci_platform_enable_resources);
+@@ -176,11 +193,17 @@ EXPORT_SYMBOL_GPL(ahci_platform_enable_r
*
* This function disables all ahci_platform managed resources in the
* following order:
@@ -102,7 +98,7 @@ index 968e7d9..243dde3 100644
ahci_platform_disable_clks(hpriv);
if (hpriv->target_pwr)
-@@ -208,6 +231,7 @@ static void ahci_platform_put_resources(struct device *dev, void *res)
+@@ -208,6 +231,7 @@ static void ahci_platform_put_resources(
* 2) regulator for controlling the targets power (optional)
* 3) 0 - AHCI_MAX_CLKS clocks, as specified in the devs devicetree node,
* or for non devicetree enabled platforms a single clock
@@ -110,7 +106,7 @@ index 968e7d9..243dde3 100644
*
* RETURNS:
* The allocated ahci_host_priv on success, otherwise an ERR_PTR value
-@@ -266,6 +290,25 @@ struct ahci_host_priv *ahci_platform_get_resources(
+@@ -266,6 +290,25 @@ struct ahci_host_priv *ahci_platform_get
hpriv->clks[i] = clk;
}
@@ -136,6 +132,3 @@ index 968e7d9..243dde3 100644
devres_remove_group(dev, NULL);
return hpriv;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0118-ata-ahci_platform-runtime-resume-the-device-before-u.patch b/target/linux/ipq806x/patches/0118-ata-ahci_platform-runtime-resume-the-device-before-u.patch
index 2f3e707c31..6603bb9537 100644
--- a/target/linux/ipq806x/patches/0118-ata-ahci_platform-runtime-resume-the-device-before-u.patch
+++ b/target/linux/ipq806x/patches/0118-ata-ahci_platform-runtime-resume-the-device-before-u.patch
@@ -22,11 +22,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_platform.c | 15 +++++++++++++++
2 files changed, 16 insertions(+)
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 3ab7ac9..51af275 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
-@@ -324,6 +324,7 @@ struct ahci_host_priv {
+@@ -325,6 +325,7 @@ struct ahci_host_priv {
u32 em_loc; /* enclosure management location */
u32 em_buf_sz; /* EM buffer size in byte */
u32 em_msg_type; /* EM message type */
@@ -34,8 +32,6 @@ index 3ab7ac9..51af275 100644
struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
struct regulator *target_pwr; /* Optional */
struct phy *phy; /* If platform uses phy */
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 243dde3..fc32863 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -23,6 +23,7 @@
@@ -46,7 +42,7 @@ index 243dde3..fc32863 100644
#include "ahci.h"
static void ahci_host_stop(struct ata_host *host);
-@@ -216,6 +217,11 @@ static void ahci_platform_put_resources(struct device *dev, void *res)
+@@ -216,6 +217,11 @@ static void ahci_platform_put_resources(
struct ahci_host_priv *hpriv = res;
int c;
@@ -58,7 +54,7 @@ index 243dde3..fc32863 100644
for (c = 0; c < AHCI_MAX_CLKS && hpriv->clks[c]; c++)
clk_put(hpriv->clks[c]);
}
-@@ -309,6 +315,10 @@ struct ahci_host_priv *ahci_platform_get_resources(
+@@ -309,6 +315,10 @@ struct ahci_host_priv *ahci_platform_get
}
}
@@ -69,7 +65,7 @@ index 243dde3..fc32863 100644
devres_remove_group(dev, NULL);
return hpriv;
-@@ -603,6 +613,11 @@ int ahci_platform_resume(struct device *dev)
+@@ -603,6 +613,11 @@ int ahci_platform_resume(struct device *
if (rc)
goto disable_resources;
@@ -81,6 +77,3 @@ index 243dde3..fc32863 100644
return 0;
disable_resources:
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0119-ahci_platform-Drop-support-for-ahci-strict-platform-.patch b/target/linux/ipq806x/patches/0119-ahci_platform-Drop-support-for-ahci-strict-platform-.patch
index efccae45af..2e833ce757 100644
--- a/target/linux/ipq806x/patches/0119-ahci_platform-Drop-support-for-ahci-strict-platform-.patch
+++ b/target/linux/ipq806x/patches/0119-ahci_platform-Drop-support-for-ahci-strict-platform-.patch
@@ -13,11 +13,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_platform.c | 11 -----------
1 file changed, 11 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index fc32863..d3d2bad 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -31,7 +31,6 @@ static void ahci_host_stop(struct ata_host *host);
+@@ -31,7 +31,6 @@ static void ahci_host_stop(struct ata_ho
enum ahci_type {
AHCI, /* standard platform ahci */
IMX53_AHCI, /* ahci on i.mx53 */
@@ -25,7 +23,7 @@ index fc32863..d3d2bad 100644
};
static struct platform_device_id ahci_devtype[] = {
-@@ -42,9 +41,6 @@ static struct platform_device_id ahci_devtype[] = {
+@@ -42,9 +41,6 @@ static struct platform_device_id ahci_de
.name = "imx53-ahci",
.driver_data = IMX53_AHCI,
}, {
@@ -35,7 +33,7 @@ index fc32863..d3d2bad 100644
/* sentinel */
}
};
-@@ -75,13 +71,6 @@ static const struct ata_port_info ahci_port_info[] = {
+@@ -75,13 +71,6 @@ static const struct ata_port_info ahci_p
.udma_mask = ATA_UDMA6,
.port_ops = &ahci_platform_retry_srst_ops,
},
@@ -49,6 +47,3 @@ index fc32863..d3d2bad 100644
};
static struct scsi_host_template ahci_platform_sht = {
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0120-ahci_platform-Drop-support-for-imx53-ahci-platform-d.patch b/target/linux/ipq806x/patches/0120-ahci_platform-Drop-support-for-imx53-ahci-platform-d.patch
index 8d0f64ce35..b18c04f8ee 100644
--- a/target/linux/ipq806x/patches/0120-ahci_platform-Drop-support-for-imx53-ahci-platform-d.patch
+++ b/target/linux/ipq806x/patches/0120-ahci_platform-Drop-support-for-imx53-ahci-platform-d.patch
@@ -21,8 +21,6 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_platform.c | 46 ++++++-------------------------------------
1 file changed, 6 insertions(+), 40 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index d3d2bad..8fab4bf 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -28,49 +28,17 @@
@@ -80,7 +78,7 @@ index d3d2bad..8fab4bf 100644
};
static struct scsi_host_template ahci_platform_sht = {
-@@ -416,7 +384,6 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -416,7 +384,6 @@ static int ahci_probe(struct platform_de
{
struct device *dev = &pdev->dev;
struct ahci_platform_data *pdata = dev_get_platdata(dev);
@@ -88,7 +86,7 @@ index d3d2bad..8fab4bf 100644
const struct ata_port_info *pi_template;
struct ahci_host_priv *hpriv;
int rc;
-@@ -444,7 +411,7 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -444,7 +411,7 @@ static int ahci_probe(struct platform_de
if (pdata && pdata->ata_port_info)
pi_template = pdata->ata_port_info;
else
@@ -97,7 +95,7 @@ index d3d2bad..8fab4bf 100644
rc = ahci_platform_init_host(pdev, hpriv, pi_template,
pdata ? pdata->force_port_map : 0,
-@@ -638,7 +605,6 @@ static struct platform_driver ahci_driver = {
+@@ -638,7 +605,6 @@ static struct platform_driver ahci_drive
.of_match_table = ahci_of_match,
.pm = &ahci_pm_ops,
},
@@ -105,6 +103,3 @@ index d3d2bad..8fab4bf 100644
};
module_platform_driver(ahci_driver);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0121-ahci_platform-Drop-unused-ahci_platform_data-members.patch b/target/linux/ipq806x/patches/0121-ahci_platform-Drop-unused-ahci_platform_data-members.patch
index e8f2378b02..2895a2b6e5 100644
--- a/target/linux/ipq806x/patches/0121-ahci_platform-Drop-unused-ahci_platform_data-members.patch
+++ b/target/linux/ipq806x/patches/0121-ahci_platform-Drop-unused-ahci_platform_data-members.patch
@@ -15,11 +15,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
include/linux/ahci_platform.h | 3 ---
2 files changed, 1 insertion(+), 12 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 8fab4bf..db24d2a 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -384,7 +384,6 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -384,7 +384,6 @@ static int ahci_probe(struct platform_de
{
struct device *dev = &pdev->dev;
struct ahci_platform_data *pdata = dev_get_platdata(dev);
@@ -27,7 +25,7 @@ index 8fab4bf..db24d2a 100644
struct ahci_host_priv *hpriv;
int rc;
-@@ -408,14 +407,7 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -408,14 +407,7 @@ static int ahci_probe(struct platform_de
goto disable_resources;
}
@@ -43,8 +41,6 @@ index 8fab4bf..db24d2a 100644
if (rc)
goto pdata_exit;
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index 542f268..1f16d50 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
@@ -33,9 +33,6 @@ struct ahci_platform_data {
@@ -57,6 +53,3 @@ index 542f268..1f16d50 100644
};
int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0122-ata-ahci_platform-fix-devm_ioremap_resource-return-v.patch b/target/linux/ipq806x/patches/0122-ata-ahci_platform-fix-devm_ioremap_resource-return-v.patch
index 1a5925b48a..322a039606 100644
--- a/target/linux/ipq806x/patches/0122-ata-ahci_platform-fix-devm_ioremap_resource-return-v.patch
+++ b/target/linux/ipq806x/patches/0122-ata-ahci_platform-fix-devm_ioremap_resource-return-v.patch
@@ -16,11 +16,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_platform.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index db24d2a..70fbf66 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -199,8 +199,7 @@ static void ahci_platform_put_resources(struct device *dev, void *res)
+@@ -199,8 +199,7 @@ static void ahci_platform_put_resources(
* RETURNS:
* The allocated ahci_host_priv on success, otherwise an ERR_PTR value
*/
@@ -30,7 +28,7 @@ index db24d2a..70fbf66 100644
{
struct device *dev = &pdev->dev;
struct ahci_host_priv *hpriv;
-@@ -219,8 +218,9 @@ struct ahci_host_priv *ahci_platform_get_resources(
+@@ -219,8 +218,9 @@ struct ahci_host_priv *ahci_platform_get
hpriv->mmio = devm_ioremap_resource(dev,
platform_get_resource(pdev, IORESOURCE_MEM, 0));
@@ -41,6 +39,3 @@ index db24d2a..70fbf66 100644
goto err_out;
}
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0123-ata-ahci_platform-fix-ahci_platform_data-suspend-met.patch b/target/linux/ipq806x/patches/0123-ata-ahci_platform-fix-ahci_platform_data-suspend-met.patch
index ce1d840b90..1a9e6d174c 100644
--- a/target/linux/ipq806x/patches/0123-ata-ahci_platform-fix-ahci_platform_data-suspend-met.patch
+++ b/target/linux/ipq806x/patches/0123-ata-ahci_platform-fix-ahci_platform_data-suspend-met.patch
@@ -19,11 +19,9 @@ Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_platform.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 70fbf66..7bd6adf 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -521,12 +521,19 @@ int ahci_platform_suspend(struct device *dev)
+@@ -521,12 +521,19 @@ int ahci_platform_suspend(struct device
if (rc)
return rc;
@@ -45,6 +43,3 @@ index 70fbf66..7bd6adf 100644
}
EXPORT_SYMBOL_GPL(ahci_platform_suspend);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0124-ata-move-library-code-from-ahci_platform.c-to-libahc.patch b/target/linux/ipq806x/patches/0124-ata-move-library-code-from-ahci_platform.c-to-libahc.patch
index bd45720661..d35b1dc950 100644
--- a/target/linux/ipq806x/patches/0124-ata-move-library-code-from-ahci_platform.c-to-libahc.patch
+++ b/target/linux/ipq806x/patches/0124-ata-move-library-code-from-ahci_platform.c-to-libahc.patch
@@ -23,8 +23,6 @@ Conflicts:
4 files changed, 544 insertions(+), 518 deletions(-)
create mode 100644 drivers/ata/libahci_platform.c
-diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
-index 868429a..dc950f3 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -99,7 +99,7 @@ config SATA_AHCI_PLATFORM
@@ -36,8 +34,6 @@ index 868429a..dc950f3 100644
help
This option enables support for the Freescale i.MX SoC's
onboard AHCI SATA.
-diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
-index 46518c6..366b743 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -4,13 +4,13 @@ obj-$(CONFIG_ATA) += libata.o
@@ -56,8 +52,6 @@ index 46518c6..366b743 100644
# SFF w/ custom DMA
obj-$(CONFIG_PDC_ADMA) += pdc_adma.o
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 7bd6adf..ef67e79 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -12,28 +12,15 @@
@@ -89,7 +83,7 @@ index 7bd6adf..ef67e79 100644
static const struct ata_port_info ahci_port_info = {
.flags = AHCI_FLAG_COMMON,
.pio_mask = ATA_PIO4,
-@@ -41,345 +28,6 @@ static const struct ata_port_info ahci_port_info = {
+@@ -41,345 +28,6 @@ static const struct ata_port_info ahci_p
.port_ops = &ahci_platform_ops,
};
@@ -605,9 +599,6 @@ index 7bd6adf..ef67e79 100644
static SIMPLE_DEV_PM_OPS(ahci_pm_ops, ahci_platform_suspend,
ahci_platform_resume);
-diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c
-new file mode 100644
-index 0000000..7cb3a85
--- /dev/null
+++ b/drivers/ata/libahci_platform.c
@@ -0,0 +1,541 @@
@@ -1152,6 +1143,3 @@ index 0000000..7cb3a85
+MODULE_DESCRIPTION("AHCI SATA platform library");
+MODULE_AUTHOR("Anton Vorontsov <avorontsov@ru.mvista.com>");
+MODULE_LICENSE("GPL");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0125-clk-qcom-Add-support-for-IPQ8064-s-global-clock-cont.patch b/target/linux/ipq806x/patches/0125-clk-qcom-Add-support-for-IPQ8064-s-global-clock-cont.patch
index 250ca6e85d..4c4e2634f7 100644
--- a/target/linux/ipq806x/patches/0125-clk-qcom-Add-support-for-IPQ8064-s-global-clock-cont.patch
+++ b/target/linux/ipq806x/patches/0125-clk-qcom-Add-support-for-IPQ8064-s-global-clock-cont.patch
@@ -24,8 +24,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
create mode 100644 include/dt-bindings/clock/qcom,gcc-ipq806x.h
create mode 100644 include/dt-bindings/reset/qcom,gcc-ipq806x.h
-diff --git a/Documentation/devicetree/bindings/clock/qcom,gcc.txt b/Documentation/devicetree/bindings/clock/qcom,gcc.txt
-index 9cfcb4f..0171509 100644
--- a/Documentation/devicetree/bindings/clock/qcom,gcc.txt
+++ b/Documentation/devicetree/bindings/clock/qcom,gcc.txt
@@ -5,6 +5,7 @@ Required properties :
@@ -36,8 +34,6 @@ index 9cfcb4f..0171509 100644
"qcom,gcc-msm8660"
"qcom,gcc-msm8960"
"qcom,gcc-msm8974"
-diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
-index 7f696b7..cfaa54c 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -4,6 +4,14 @@ config COMMON_CLK_QCOM
@@ -55,8 +51,6 @@ index 7f696b7..cfaa54c 100644
config MSM_GCC_8660
tristate "MSM8660 Global Clock Controller"
depends on COMMON_CLK_QCOM
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index 689e05b..df2a1b3 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -8,6 +8,7 @@ clk-qcom-y += clk-rcg2.o
@@ -67,9 +61,6 @@ index 689e05b..df2a1b3 100644
obj-$(CONFIG_MSM_GCC_8660) += gcc-msm8660.o
obj-$(CONFIG_MSM_GCC_8960) += gcc-msm8960.o
obj-$(CONFIG_MSM_GCC_8974) += gcc-msm8974.o
-diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
-new file mode 100644
-index 0000000..278c5fe
--- /dev/null
+++ b/drivers/clk/qcom/gcc-ipq806x.c
@@ -0,0 +1,2424 @@
@@ -2497,9 +2488,6 @@ index 0000000..278c5fe
+MODULE_DESCRIPTION("QCOM GCC IPQ806x Driver");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:gcc-ipq806x");
-diff --git a/include/dt-bindings/clock/qcom,gcc-ipq806x.h b/include/dt-bindings/clock/qcom,gcc-ipq806x.h
-new file mode 100644
-index 0000000..3b0f8e7
--- /dev/null
+++ b/include/dt-bindings/clock/qcom,gcc-ipq806x.h
@@ -0,0 +1,293 @@
@@ -2796,9 +2784,6 @@ index 0000000..3b0f8e7
+#define UBI32_CORE2_CLK 279
+
+#endif
-diff --git a/include/dt-bindings/reset/qcom,gcc-ipq806x.h b/include/dt-bindings/reset/qcom,gcc-ipq806x.h
-new file mode 100644
-index 0000000..0ad5ef9
--- /dev/null
+++ b/include/dt-bindings/reset/qcom,gcc-ipq806x.h
@@ -0,0 +1,132 @@
@@ -2934,6 +2919,3 @@ index 0000000..0ad5ef9
+#define NSSFB0_RESET 113
+#define NSSFB1_RESET 114
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0126-clk-Add-safe-switch-hook.patch b/target/linux/ipq806x/patches/0126-clk-Add-safe-switch-hook.patch
index bda409363e..4ee9350180 100644
--- a/target/linux/ipq806x/patches/0126-clk-Add-safe-switch-hook.patch
+++ b/target/linux/ipq806x/patches/0126-clk-Add-safe-switch-hook.patch
@@ -19,11 +19,9 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
include/linux/clk-provider.h | 1 +
3 files changed, 49 insertions(+), 7 deletions(-)
-diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
-index b94a311..0582068 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
-@@ -1356,6 +1356,7 @@ static void clk_calc_subtree(struct clk *clk, unsigned long new_rate,
+@@ -1356,6 +1356,7 @@ static void clk_calc_subtree(struct clk
struct clk *new_parent, u8 p_index)
{
struct clk *child;
@@ -31,7 +29,7 @@ index b94a311..0582068 100644
clk->new_rate = new_rate;
clk->new_parent = new_parent;
-@@ -1365,6 +1366,17 @@ static void clk_calc_subtree(struct clk *clk, unsigned long new_rate,
+@@ -1365,6 +1366,17 @@ static void clk_calc_subtree(struct clk
if (new_parent && new_parent != clk->parent)
new_parent->new_child = clk;
@@ -95,7 +93,7 @@ index b94a311..0582068 100644
fail_clk = clk;
}
-@@ -1499,7 +1539,8 @@ static void clk_change_rate(struct clk *clk)
+@@ -1499,7 +1539,8 @@ static void clk_change_rate(struct clk *
else if (clk->parent)
best_parent_rate = clk->parent->rate;
@@ -105,7 +103,7 @@ index b94a311..0582068 100644
old_parent = __clk_set_parent_before(clk, clk->new_parent);
if (clk->ops->set_rate_and_parent) {
-@@ -1522,9 +1563,6 @@ static void clk_change_rate(struct clk *clk)
+@@ -1522,9 +1563,6 @@ static void clk_change_rate(struct clk *
else
clk->rate = best_parent_rate;
@@ -115,7 +113,7 @@ index b94a311..0582068 100644
hlist_for_each_entry(child, &clk->children, child_node) {
/* Skip children who will be reparented to another clock */
if (child->new_parent && child->new_parent != clk)
-@@ -1598,6 +1636,7 @@ int clk_set_rate(struct clk *clk, unsigned long rate)
+@@ -1598,6 +1636,7 @@ int clk_set_rate(struct clk *clk, unsign
/* change the rates */
clk_change_rate(top);
@@ -123,8 +121,6 @@ index b94a311..0582068 100644
out:
clk_prepare_unlock();
-diff --git a/include/linux/clk-private.h b/include/linux/clk-private.h
-index efbf70b..f48684a 100644
--- a/include/linux/clk-private.h
+++ b/include/linux/clk-private.h
@@ -38,8 +38,10 @@ struct clk {
@@ -138,8 +134,6 @@ index efbf70b..f48684a 100644
struct clk *new_parent;
struct clk *new_child;
unsigned long flags;
-diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
-index 939533d..300fcb8 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -157,6 +157,7 @@ struct clk_ops {
@@ -150,6 +144,3 @@ index 939533d..300fcb8 100644
int (*set_rate)(struct clk_hw *hw, unsigned long,
unsigned long);
int (*set_rate_and_parent)(struct clk_hw *hw,
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0127-clk-qcom-Add-support-for-setting-rates-on-PLLs.patch b/target/linux/ipq806x/patches/0127-clk-qcom-Add-support-for-setting-rates-on-PLLs.patch
index 2983b8444b..07ffdacc77 100644
--- a/target/linux/ipq806x/patches/0127-clk-qcom-Add-support-for-setting-rates-on-PLLs.patch
+++ b/target/linux/ipq806x/patches/0127-clk-qcom-Add-support-for-setting-rates-on-PLLs.patch
@@ -12,8 +12,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/qcom/clk-pll.h | 20 +++++++++++++
2 files changed, 87 insertions(+), 1 deletion(-)
-diff --git a/drivers/clk/qcom/clk-pll.c b/drivers/clk/qcom/clk-pll.c
-index 0f927c5..80c7a76 100644
--- a/drivers/clk/qcom/clk-pll.c
+++ b/drivers/clk/qcom/clk-pll.c
@@ -97,7 +97,7 @@ static unsigned long
@@ -25,7 +23,7 @@ index 0f927c5..80c7a76 100644
unsigned long rate;
u64 tmp;
-@@ -116,13 +116,79 @@ clk_pll_recalc_rate(struct clk_hw *hw, unsigned long parent_rate)
+@@ -116,13 +116,79 @@ clk_pll_recalc_rate(struct clk_hw *hw, u
do_div(tmp, n);
rate += tmp;
}
@@ -105,8 +103,6 @@ index 0f927c5..80c7a76 100644
};
EXPORT_SYMBOL_GPL(clk_pll_ops);
-diff --git a/drivers/clk/qcom/clk-pll.h b/drivers/clk/qcom/clk-pll.h
-index 0775a99..5f9928b 100644
--- a/drivers/clk/qcom/clk-pll.h
+++ b/drivers/clk/qcom/clk-pll.h
@@ -18,6 +18,21 @@
@@ -150,6 +146,3 @@ index 0775a99..5f9928b 100644
struct clk_regmap clkr;
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0128-clk-qcom-Add-support-for-banked-MD-RCGs.patch b/target/linux/ipq806x/patches/0128-clk-qcom-Add-support-for-banked-MD-RCGs.patch
index 0b9e237c71..b55d709381 100644
--- a/target/linux/ipq806x/patches/0128-clk-qcom-Add-support-for-banked-MD-RCGs.patch
+++ b/target/linux/ipq806x/patches/0128-clk-qcom-Add-support-for-banked-MD-RCGs.patch
@@ -15,11 +15,9 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/qcom/mmcc-msm8960.c | 24 +++++++---
3 files changed, 73 insertions(+), 55 deletions(-)
-diff --git a/drivers/clk/qcom/clk-rcg.c b/drivers/clk/qcom/clk-rcg.c
-index abfc2b6..7bce729 100644
--- a/drivers/clk/qcom/clk-rcg.c
+++ b/drivers/clk/qcom/clk-rcg.c
-@@ -67,16 +67,16 @@ static u8 clk_dyn_rcg_get_parent(struct clk_hw *hw)
+@@ -67,16 +67,16 @@ static u8 clk_dyn_rcg_get_parent(struct
{
struct clk_dyn_rcg *rcg = to_clk_dyn_rcg(hw);
int num_parents = __clk_get_num_parents(hw->clk);
@@ -40,7 +38,7 @@ index abfc2b6..7bce729 100644
ns = ns_to_src(s, ns);
for (i = 0; i < num_parents; i++)
-@@ -192,90 +192,93 @@ static u32 mn_to_reg(struct mn *mn, u32 m, u32 n, u32 val)
+@@ -192,90 +192,93 @@ static u32 mn_to_reg(struct mn *mn, u32
static void configure_bank(struct clk_dyn_rcg *rcg, const struct freq_tbl *f)
{
@@ -166,7 +164,7 @@ index abfc2b6..7bce729 100644
configure_bank(rcg, &f);
return 0;
-@@ -336,28 +339,30 @@ clk_dyn_rcg_recalc_rate(struct clk_hw *hw, unsigned long parent_rate)
+@@ -336,28 +339,30 @@ clk_dyn_rcg_recalc_rate(struct clk_hw *h
u32 m, n, pre_div, ns, md, mode, reg;
int bank;
struct mn *mn;
@@ -208,8 +206,6 @@ index abfc2b6..7bce729 100644
}
static const
-diff --git a/drivers/clk/qcom/clk-rcg.h b/drivers/clk/qcom/clk-rcg.h
-index b9ec11d..5f8b06d 100644
--- a/drivers/clk/qcom/clk-rcg.h
+++ b/drivers/clk/qcom/clk-rcg.h
@@ -102,7 +102,7 @@ extern const struct clk_ops clk_rcg_ops;
@@ -232,11 +228,9 @@ index b9ec11d..5f8b06d 100644
u8 mux_sel_bit;
-diff --git a/drivers/clk/qcom/mmcc-msm8960.c b/drivers/clk/qcom/mmcc-msm8960.c
-index 12f3c0b..ce48ad1 100644
--- a/drivers/clk/qcom/mmcc-msm8960.c
+++ b/drivers/clk/qcom/mmcc-msm8960.c
-@@ -726,9 +726,11 @@ static struct freq_tbl clk_tbl_gfx2d[] = {
+@@ -726,9 +726,11 @@ static struct freq_tbl clk_tbl_gfx2d[] =
};
static struct clk_dyn_rcg gfx2d0_src = {
@@ -262,7 +256,7 @@ index 12f3c0b..ce48ad1 100644
.mn[0] = {
.mnctr_en_bit = 8,
.mnctr_reset_bit = 25,
-@@ -862,9 +866,11 @@ static struct freq_tbl clk_tbl_gfx3d[] = {
+@@ -862,9 +866,11 @@ static struct freq_tbl clk_tbl_gfx3d[] =
};
static struct clk_dyn_rcg gfx3d_src = {
@@ -299,7 +293,7 @@ index 12f3c0b..ce48ad1 100644
.p[0] = {
.pre_div_shift = 22,
.pre_div_width = 4,
-@@ -1355,9 +1365,11 @@ static struct freq_tbl clk_tbl_vcodec[] = {
+@@ -1355,9 +1365,11 @@ static struct freq_tbl clk_tbl_vcodec[]
};
static struct clk_dyn_rcg vcodec_src = {
@@ -312,6 +306,3 @@ index 12f3c0b..ce48ad1 100644
.mn[0] = {
.mnctr_en_bit = 5,
.mnctr_reset_bit = 31,
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0129-clk-qcom-Add-support-for-NSS-GMAC-clocks-and-resets.patch b/target/linux/ipq806x/patches/0129-clk-qcom-Add-support-for-NSS-GMAC-clocks-and-resets.patch
index 4c59580372..8b8839ad04 100644
--- a/target/linux/ipq806x/patches/0129-clk-qcom-Add-support-for-NSS-GMAC-clocks-and-resets.patch
+++ b/target/linux/ipq806x/patches/0129-clk-qcom-Add-support-for-NSS-GMAC-clocks-and-resets.patch
@@ -18,8 +18,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
include/dt-bindings/reset/qcom,gcc-ipq806x.h | 43 ++
3 files changed, 755 insertions(+), 1 deletion(-)
-diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
-index 278c5fe..f7916be 100644
--- a/drivers/clk/qcom/gcc-ipq806x.c
+++ b/drivers/clk/qcom/gcc-ipq806x.c
@@ -32,6 +32,33 @@
@@ -103,7 +101,7 @@ index 278c5fe..f7916be 100644
static const u8 gcc_pxo_pll8_map[] = {
[P_PXO] = 0,
-@@ -157,6 +219,22 @@ static const char *gcc_pxo_pll8_pll0_map[] = {
+@@ -157,6 +219,22 @@ static const char *gcc_pxo_pll8_pll0_map
"pll0",
};
@@ -126,7 +124,7 @@ index 278c5fe..f7916be 100644
static struct freq_tbl clk_tbl_gsbi_uart[] = {
{ 1843200, P_PLL8, 2, 6, 625 },
{ 3686400, P_PLL8, 2, 12, 625 },
-@@ -2132,12 +2210,567 @@ static struct clk_branch usb_fs1_h_clk = {
+@@ -2132,12 +2210,567 @@ static struct clk_branch usb_fs1_h_clk =
},
};
@@ -694,7 +692,7 @@ index 278c5fe..f7916be 100644
[GSBI1_UART_SRC] = &gsbi1_uart_src.clkr,
[GSBI1_UART_CLK] = &gsbi1_uart_clk.clkr,
[GSBI2_UART_SRC] = &gsbi2_uart_src.clkr,
-@@ -2232,6 +2865,19 @@ static struct clk_regmap *gcc_ipq806x_clks[] = {
+@@ -2232,6 +2865,19 @@ static struct clk_regmap *gcc_ipq806x_cl
[USB_FS1_XCVR_SRC] = &usb_fs1_xcvr_clk_src.clkr,
[USB_FS1_XCVR_CLK] = &usb_fs1_xcvr_clk.clkr,
[USB_FS1_SYSTEM_CLK] = &usb_fs1_sys_clk.clkr,
@@ -714,7 +712,7 @@ index 278c5fe..f7916be 100644
};
static const struct qcom_reset_map gcc_ipq806x_resets[] = {
-@@ -2350,6 +2996,48 @@ static const struct qcom_reset_map gcc_ipq806x_resets[] = {
+@@ -2350,6 +2996,48 @@ static const struct qcom_reset_map gcc_i
[USB30_1_PHY_RESET] = { 0x3b58, 0 },
[NSSFB0_RESET] = { 0x3b60, 6 },
[NSSFB1_RESET] = { 0x3b60, 7 },
@@ -763,7 +761,7 @@ index 278c5fe..f7916be 100644
};
static const struct regmap_config gcc_ipq806x_regmap_config = {
-@@ -2378,6 +3066,8 @@ static int gcc_ipq806x_probe(struct platform_device *pdev)
+@@ -2378,6 +3066,8 @@ static int gcc_ipq806x_probe(struct plat
{
struct clk *clk;
struct device *dev = &pdev->dev;
@@ -772,7 +770,7 @@ index 278c5fe..f7916be 100644
/* Temporary until RPM clocks supported */
clk = clk_register_fixed_rate(dev, "cxo", NULL, CLK_IS_ROOT, 25000000);
-@@ -2388,7 +3078,25 @@ static int gcc_ipq806x_probe(struct platform_device *pdev)
+@@ -2388,7 +3078,25 @@ static int gcc_ipq806x_probe(struct plat
if (IS_ERR(clk))
return PTR_ERR(clk);
@@ -799,8 +797,6 @@ index 278c5fe..f7916be 100644
}
static int gcc_ipq806x_remove(struct platform_device *pdev)
-diff --git a/include/dt-bindings/clock/qcom,gcc-ipq806x.h b/include/dt-bindings/clock/qcom,gcc-ipq806x.h
-index 3b0f8e7..0fd3e8a 100644
--- a/include/dt-bindings/clock/qcom,gcc-ipq806x.h
+++ b/include/dt-bindings/clock/qcom,gcc-ipq806x.h
@@ -289,5 +289,8 @@
@@ -812,8 +808,6 @@ index 3b0f8e7..0fd3e8a 100644
+#define NSS_CORE_CLK 282 /* Virtual */
#endif
-diff --git a/include/dt-bindings/reset/qcom,gcc-ipq806x.h b/include/dt-bindings/reset/qcom,gcc-ipq806x.h
-index 0ad5ef9..de9c814 100644
--- a/include/dt-bindings/reset/qcom,gcc-ipq806x.h
+++ b/include/dt-bindings/reset/qcom,gcc-ipq806x.h
@@ -129,4 +129,47 @@
@@ -864,6 +858,3 @@ index 0ad5ef9..de9c814 100644
+#define NSS_SRDS_N_RESET 156
+
#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0130-ARM-qcom-Add-initial-IPQ8064-SoC-and-AP148-device-tr.patch b/target/linux/ipq806x/patches/0130-ARM-qcom-Add-initial-IPQ8064-SoC-and-AP148-device-tr.patch
index 4c0eed85ca..8fda0a17c4 100644
--- a/target/linux/ipq806x/patches/0130-ARM-qcom-Add-initial-IPQ8064-SoC-and-AP148-device-tr.patch
+++ b/target/linux/ipq806x/patches/0130-ARM-qcom-Add-initial-IPQ8064-SoC-and-AP148-device-tr.patch
@@ -19,8 +19,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
create mode 100644 arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
create mode 100644 arch/arm/boot/dts/qcom-ipq8064.dtsi
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index f2aeb95..f22c51d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -235,6 +235,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
@@ -31,9 +29,6 @@ index f2aeb95..f22c51d 100644
qcom-msm8660-surf.dtb \
qcom-msm8960-cdp.dtb
dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-new file mode 100644
-index 0000000..100b6eb
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -0,0 +1,25 @@
@@ -62,16 +57,10 @@ index 0000000..100b6eb
+ };
+ };
+};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi b/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
-new file mode 100644
-index 0000000..7093b07
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-ipq8064-v1.0.dtsi
@@ -0,0 +1 @@
+#include "qcom-ipq8064.dtsi"
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-new file mode 100644
-index 0000000..952afb7
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -0,0 +1,176 @@
@@ -251,11 +240,9 @@ index 0000000..952afb7
+ };
+ };
+};
-diff --git a/arch/arm/mach-qcom/board.c b/arch/arm/mach-qcom/board.c
-index c437a99..6d8bbf7 100644
--- a/arch/arm/mach-qcom/board.c
+++ b/arch/arm/mach-qcom/board.c
-@@ -18,6 +18,8 @@ static const char * const qcom_dt_match[] __initconst = {
+@@ -18,6 +18,8 @@ static const char * const qcom_dt_match[
"qcom,apq8064",
"qcom,apq8074-dragonboard",
"qcom,apq8084",
@@ -264,6 +251,3 @@ index c437a99..6d8bbf7 100644
"qcom,msm8660-surf",
"qcom,msm8960-cdp",
NULL
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0131-ARM-qcom-config-Enable-IPQ806x-support.patch b/target/linux/ipq806x/patches/0131-ARM-qcom-config-Enable-IPQ806x-support.patch
index 8b20c4b68d..3a0e3ead2a 100644
--- a/target/linux/ipq806x/patches/0131-ARM-qcom-config-Enable-IPQ806x-support.patch
+++ b/target/linux/ipq806x/patches/0131-ARM-qcom-config-Enable-IPQ806x-support.patch
@@ -8,8 +8,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/configs/qcom_defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index 42ebd72..1752a4d 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -133,6 +133,7 @@ CONFIG_QCOM_BAM_DMA=y
@@ -20,6 +18,3 @@ index 42ebd72..1752a4d 100644
CONFIG_MSM_GCC_8660=y
CONFIG_MSM_MMCC_8960=y
CONFIG_MSM_MMCC_8974=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0132-XXX-Add-boot-support-for-u-boot.ipq-image.patch b/target/linux/ipq806x/patches/0132-XXX-Add-boot-support-for-u-boot.ipq-image.patch
index c94c75abe2..c09c3a68f3 100644
--- a/target/linux/ipq806x/patches/0132-XXX-Add-boot-support-for-u-boot.ipq-image.patch
+++ b/target/linux/ipq806x/patches/0132-XXX-Add-boot-support-for-u-boot.ipq-image.patch
@@ -8,11 +8,9 @@ Subject: [PATCH 132/182] XXX: Add boot support for u-boot.ipq image
arch/arm/boot/Makefile | 11 ++++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/Makefile b/arch/arm/Makefile
-index 51e5bed..e9fc731 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
-@@ -297,7 +297,7 @@ archprepare:
+@@ -302,7 +302,7 @@ archprepare:
# Convert bzImage to zImage
bzImage: zImage
@@ -21,8 +19,6 @@ index 51e5bed..e9fc731 100644
INSTALL_TARGETS = zinstall uinstall install
PHONY += bzImage $(BOOT_TARGETS) $(INSTALL_TARGETS)
-diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile
-index ec2f806..3cbc83e 100644
--- a/arch/arm/boot/Makefile
+++ b/arch/arm/boot/Makefile
@@ -25,7 +25,7 @@ INITRD_PHYS := $(initrd_phys-y)
@@ -50,6 +46,3 @@ index ec2f806..3cbc83e 100644
$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE
$(Q)$(MAKE) $(build)=$(obj)/bootp $@
@:
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0133-spi-qup-Remove-chip-select-function.patch b/target/linux/ipq806x/patches/0133-spi-qup-Remove-chip-select-function.patch
index 3881064b6b..14ae782b49 100644
--- a/target/linux/ipq806x/patches/0133-spi-qup-Remove-chip-select-function.patch
+++ b/target/linux/ipq806x/patches/0133-spi-qup-Remove-chip-select-function.patch
@@ -13,8 +13,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/spi/spi-qup.c | 33 ++++----------------
2 files changed, 12 insertions(+), 27 deletions(-)
-diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
-index b82a268..bee6ff2 100644
--- a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
+++ b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
@@ -23,6 +23,12 @@ Optional properties:
@@ -30,11 +28,9 @@ index b82a268..bee6ff2 100644
SPI slave nodes must be children of the SPI master node and can contain
properties described in Documentation/devicetree/bindings/spi/spi-bus.txt
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index 65bf18e..dc128ac 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
-@@ -424,31 +424,6 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
+@@ -424,31 +424,6 @@ static int spi_qup_io_config(struct spi_
return 0;
}
@@ -66,7 +62,7 @@ index 65bf18e..dc128ac 100644
static int spi_qup_transfer_one(struct spi_master *master,
struct spi_device *spi,
struct spi_transfer *xfer)
-@@ -571,12 +546,16 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -571,12 +546,16 @@ static int spi_qup_probe(struct platform
return -ENOMEM;
}
@@ -85,6 +81,3 @@ index 65bf18e..dc128ac 100644
master->transfer_one = spi_qup_transfer_one;
master->dev.of_node = pdev->dev.of_node;
master->auto_runtime_pm = true;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0134-spi-qup-Fix-order-of-spi_register_master.patch b/target/linux/ipq806x/patches/0134-spi-qup-Fix-order-of-spi_register_master.patch
index c8738ccac8..93afe28f15 100644
--- a/target/linux/ipq806x/patches/0134-spi-qup-Fix-order-of-spi_register_master.patch
+++ b/target/linux/ipq806x/patches/0134-spi-qup-Fix-order-of-spi_register_master.patch
@@ -13,11 +13,9 @@ Acked-by: Ivan T. Ivanov <iivanov@mm-sol.com>
drivers/spi/spi-qup.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index dc128ac..a404298 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
-@@ -619,16 +619,19 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -619,16 +619,19 @@ static int spi_qup_probe(struct platform
if (ret)
goto error;
@@ -41,6 +39,3 @@ index dc128ac..a404298 100644
error:
clk_disable_unprepare(cclk);
clk_disable_unprepare(iclk);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0135-spi-qup-Add-support-for-v1.1.1.patch b/target/linux/ipq806x/patches/0135-spi-qup-Add-support-for-v1.1.1.patch
index c1ccc21197..86cce61322 100644
--- a/target/linux/ipq806x/patches/0135-spi-qup-Add-support-for-v1.1.1.patch
+++ b/target/linux/ipq806x/patches/0135-spi-qup-Add-support-for-v1.1.1.patch
@@ -11,11 +11,9 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/spi/spi-qup.c | 36 ++++++++++++--------
2 files changed, 27 insertions(+), 15 deletions(-)
-diff --git a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
-index bee6ff2..e2c88df 100644
--- a/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
+++ b/Documentation/devicetree/bindings/spi/qcom,spi-qup.txt
-@@ -7,7 +7,11 @@ SPI in master mode supports up to 50MHz, up to four chip selects, programmable
+@@ -7,7 +7,11 @@ SPI in master mode supports up to 50MHz,
data path from 4 bits to 32 bits and numerous protocol variants.
Required properties:
@@ -28,8 +26,6 @@ index bee6ff2..e2c88df 100644
- reg: Should contain base register location and length
- interrupts: Interrupt number used by this controller
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index a404298..c137226 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -142,6 +142,7 @@ struct spi_qup {
@@ -40,7 +36,7 @@ index a404298..c137226 100644
};
-@@ -420,7 +421,9 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
+@@ -420,7 +421,9 @@ static int spi_qup_io_config(struct spi_
config |= QUP_CONFIG_SPI_MODE;
writel_relaxed(config, controller->base + QUP_CONFIG);
@@ -51,7 +47,7 @@ index a404298..c137226 100644
return 0;
}
-@@ -486,7 +489,7 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -486,7 +489,7 @@ static int spi_qup_probe(struct platform
struct resource *res;
struct device *dev;
void __iomem *base;
@@ -60,7 +56,7 @@ index a404298..c137226 100644
int ret, irq, size;
dev = &pdev->dev;
-@@ -529,15 +532,6 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -529,15 +532,6 @@ static int spi_qup_probe(struct platform
return ret;
}
@@ -76,7 +72,7 @@ index a404298..c137226 100644
master = spi_alloc_master(dev, sizeof(struct spi_qup));
if (!master) {
clk_disable_unprepare(cclk);
-@@ -570,6 +564,10 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -570,6 +564,10 @@ static int spi_qup_probe(struct platform
controller->cclk = cclk;
controller->irq = irq;
@@ -87,7 +83,7 @@ index a404298..c137226 100644
spin_lock_init(&controller->lock);
init_completion(&controller->done);
-@@ -593,8 +591,8 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -593,8 +591,8 @@ static int spi_qup_probe(struct platform
size = QUP_IO_M_INPUT_FIFO_SIZE(iomode);
controller->in_fifo_sz = controller->in_blk_sz * (2 << size);
@@ -98,7 +94,7 @@ index a404298..c137226 100644
controller->out_blk_sz, controller->out_fifo_sz);
writel_relaxed(1, base + QUP_SW_RESET);
-@@ -607,10 +605,19 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -607,10 +605,19 @@ static int spi_qup_probe(struct platform
writel_relaxed(0, base + QUP_OPERATIONAL);
writel_relaxed(0, base + QUP_IO_M_MODES);
@@ -119,7 +115,7 @@ index a404298..c137226 100644
writel_relaxed(0, base + SPI_CONFIG);
writel_relaxed(SPI_IO_C_NO_TRI_STATE, base + SPI_IO_CONTROL);
-@@ -732,6 +739,7 @@ static int spi_qup_remove(struct platform_device *pdev)
+@@ -732,6 +739,7 @@ static int spi_qup_remove(struct platfor
}
static struct of_device_id spi_qup_dt_match[] = {
@@ -127,6 +123,3 @@ index a404298..c137226 100644
{ .compatible = "qcom,spi-qup-v2.1.1", },
{ .compatible = "qcom,spi-qup-v2.2.1", },
{ }
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0136-ARM-ipq8064-ap148-Add-i2c-pinctrl-nodes.patch b/target/linux/ipq806x/patches/0136-ARM-ipq8064-ap148-Add-i2c-pinctrl-nodes.patch
index 7c4757da99..7e9776e57f 100644
--- a/target/linux/ipq806x/patches/0136-ARM-ipq8064-ap148-Add-i2c-pinctrl-nodes.patch
+++ b/target/linux/ipq806x/patches/0136-ARM-ipq8064-ap148-Add-i2c-pinctrl-nodes.patch
@@ -9,8 +9,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
arch/arm/boot/dts/qcom-ipq8064.dtsi | 27 +++++++++++++++++++++++++++
2 files changed, 44 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-index 100b6eb..dbb546d 100644
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -14,12 +14,29 @@
@@ -43,8 +41,6 @@ index 100b6eb..dbb546d 100644
};
};
};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index 952afb7..b39c1ef 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -137,6 +137,20 @@
@@ -88,6 +84,3 @@ index 952afb7..b39c1ef 100644
};
qcom,ssbi@500000 {
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0137-ARM-qcom-ipq8064-ap148-Add-SPI-related-bindings.patch b/target/linux/ipq806x/patches/0137-ARM-qcom-ipq8064-ap148-Add-SPI-related-bindings.patch
index 4a0385db27..f72446eb9e 100644
--- a/target/linux/ipq806x/patches/0137-ARM-qcom-ipq8064-ap148-Add-SPI-related-bindings.patch
+++ b/target/linux/ipq806x/patches/0137-ARM-qcom-ipq8064-ap148-Add-SPI-related-bindings.patch
@@ -9,8 +9,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
arch/arm/boot/dts/qcom-ipq8064.dtsi | 47 ++++++++++++++++++++++++++++++
2 files changed, 89 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-index dbb546d..158a09f 100644
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -20,6 +20,15 @@
@@ -68,8 +66,6 @@ index dbb546d..158a09f 100644
+ };
};
};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index b39c1ef..244f857 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -187,6 +187,53 @@
@@ -126,6 +122,3 @@ index b39c1ef..244f857 100644
qcom,ssbi@500000 {
compatible = "qcom,ssbi";
reg = <0x00500000 0x1000>;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0138-PCI-qcom-Add-support-for-pcie-controllers-on-IPQ8064.patch b/target/linux/ipq806x/patches/0138-PCI-qcom-Add-support-for-pcie-controllers-on-IPQ8064.patch
index b1ff04b90d..8aaa766bcb 100644
--- a/target/linux/ipq806x/patches/0138-PCI-qcom-Add-support-for-pcie-controllers-on-IPQ8064.patch
+++ b/target/linux/ipq806x/patches/0138-PCI-qcom-Add-support-for-pcie-controllers-on-IPQ8064.patch
@@ -11,8 +11,6 @@ Subject: [PATCH 138/182] PCI: qcom: Add support for pcie controllers on
3 files changed, 685 insertions(+)
create mode 100644 drivers/pci/host/pci-qcom.c
-diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig
-index 63502cc..4d242e5 100644
--- a/arch/arm/mach-qcom/Kconfig
+++ b/arch/arm/mach-qcom/Kconfig
@@ -7,6 +7,8 @@ config ARCH_QCOM
@@ -24,8 +22,6 @@ index 63502cc..4d242e5 100644
select QCOM_SCM if SMP
help
Support for Qualcomm's devicetree based systems.
-diff --git a/drivers/pci/host/Makefile b/drivers/pci/host/Makefile
-index 13fb333..be80744 100644
--- a/drivers/pci/host/Makefile
+++ b/drivers/pci/host/Makefile
@@ -4,3 +4,4 @@ obj-$(CONFIG_PCI_IMX6) += pci-imx6.o
@@ -33,9 +29,6 @@ index 13fb333..be80744 100644
obj-$(CONFIG_PCI_TEGRA) += pci-tegra.o
obj-$(CONFIG_PCI_RCAR_GEN2) += pci-rcar-gen2.o
+obj-$(CONFIG_ARCH_QCOM) += pci-qcom.o
-diff --git a/drivers/pci/host/pci-qcom.c b/drivers/pci/host/pci-qcom.c
-new file mode 100644
-index 0000000..76d7b88
--- /dev/null
+++ b/drivers/pci/host/pci-qcom.c
@@ -0,0 +1,682 @@
@@ -721,6 +714,3 @@ index 0000000..76d7b88
+ dev->class = (dev->class & 0xff) | (PCI_CLASS_BRIDGE_PCI << 8);
+}
+DECLARE_PCI_FIXUP_EARLY(PCIE_VENDOR_ID_RCP, PCIE_DEVICE_ID_RCP, msm_pcie_fixup_early);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0139-ARM-dts-msm-Add-PCIe-related-nodes-for-IPQ8064-AP148.patch b/target/linux/ipq806x/patches/0139-ARM-dts-msm-Add-PCIe-related-nodes-for-IPQ8064-AP148.patch
index 1105f140e7..1fd205256d 100644
--- a/target/linux/ipq806x/patches/0139-ARM-dts-msm-Add-PCIe-related-nodes-for-IPQ8064-AP148.patch
+++ b/target/linux/ipq806x/patches/0139-ARM-dts-msm-Add-PCIe-related-nodes-for-IPQ8064-AP148.patch
@@ -9,8 +9,6 @@ Subject: [PATCH 139/182] ARM: dts: msm: Add PCIe related nodes for
arch/arm/boot/dts/qcom-ipq8064.dtsi | 93 ++++++++++++++++++++++++++++++
2 files changed, 131 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-index 158a09f..11f7a77 100644
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -21,6 +21,22 @@
@@ -64,8 +62,6 @@ index 158a09f..11f7a77 100644
+ };
};
};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index 244f857..42a651f 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -2,6 +2,7 @@
@@ -174,6 +170,3 @@ index 244f857..42a651f 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0140-ARM-qcom-config-Enable-PCI-support-for-IPQ806x.patch b/target/linux/ipq806x/patches/0140-ARM-qcom-config-Enable-PCI-support-for-IPQ806x.patch
index e8519e1107..14a5db48ba 100644
--- a/target/linux/ipq806x/patches/0140-ARM-qcom-config-Enable-PCI-support-for-IPQ806x.patch
+++ b/target/linux/ipq806x/patches/0140-ARM-qcom-config-Enable-PCI-support-for-IPQ806x.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 140/182] ARM: qcom: config: Enable PCI support for IPQ806x
arch/arm/configs/qcom_defconfig | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index 1752a4d..4866dec 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -21,6 +21,8 @@ CONFIG_ARCH_QCOM=y
@@ -28,6 +26,3 @@ index 1752a4d..4866dec 100644
CONFIG_SERIAL_MSM=y
CONFIG_SERIAL_MSM_CONSOLE=y
CONFIG_HW_RANDOM=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0141-ahci-platform-Bump-max-number-of-clocks-to-5.patch b/target/linux/ipq806x/patches/0141-ahci-platform-Bump-max-number-of-clocks-to-5.patch
index 0a41b3e866..2f5adcaf41 100644
--- a/target/linux/ipq806x/patches/0141-ahci-platform-Bump-max-number-of-clocks-to-5.patch
+++ b/target/linux/ipq806x/patches/0141-ahci-platform-Bump-max-number-of-clocks-to-5.patch
@@ -10,8 +10,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
drivers/ata/ahci.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 51af275..6357e34 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
@@ -53,7 +53,7 @@
@@ -23,6 +21,3 @@ index 51af275..6357e34 100644
AHCI_MAX_SG = 168, /* hardware max is 64K */
AHCI_DMA_BOUNDARY = 0xffffffff,
AHCI_MAX_CMDS = 32,
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch b/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch
index 678a33f472..aaedbb374b 100644
--- a/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch
+++ b/target/linux/ipq806x/patches/0142-ata-Add-Qualcomm-ARM-SoC-AHCI-SATA-host-controller-d.patch
@@ -16,8 +16,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
3 files changed, 97 insertions(+)
create mode 100644 drivers/ata/ahci_qcom.c
-diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
-index dc950f3..da05034 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -106,6 +106,16 @@ config AHCI_IMX
@@ -37,8 +35,6 @@ index dc950f3..da05034 100644
config SATA_FSL
tristate "Freescale 3.0Gbps SATA support"
depends on FSL_SOC
-diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
-index 366b743..e08044f 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_SATA_SIL24) += sata_sil24.o
@@ -49,9 +45,6 @@ index 366b743..e08044f 100644
# SFF w/ custom DMA
obj-$(CONFIG_PDC_ADMA) += pdc_adma.o
-diff --git a/drivers/ata/ahci_qcom.c b/drivers/ata/ahci_qcom.c
-new file mode 100644
-index 0000000..bfb7a77
--- /dev/null
+++ b/drivers/ata/ahci_qcom.c
@@ -0,0 +1,86 @@
@@ -141,6 +134,3 @@ index 0000000..bfb7a77
+MODULE_DESCRIPTION("Qualcomm AHCI SATA platform driver");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("ahci:qcom");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0143-ata-qcom-Add-device-tree-bindings-information.patch b/target/linux/ipq806x/patches/0143-ata-qcom-Add-device-tree-bindings-information.patch
index ef795bf054..01ca7336ee 100644
--- a/target/linux/ipq806x/patches/0143-ata-qcom-Add-device-tree-bindings-information.patch
+++ b/target/linux/ipq806x/patches/0143-ata-qcom-Add-device-tree-bindings-information.patch
@@ -12,9 +12,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
1 file changed, 40 insertions(+)
create mode 100644 Documentation/devicetree/bindings/ata/qcom-sata.txt
-diff --git a/Documentation/devicetree/bindings/ata/qcom-sata.txt b/Documentation/devicetree/bindings/ata/qcom-sata.txt
-new file mode 100644
-index 0000000..5e74e41
--- /dev/null
+++ b/Documentation/devicetree/bindings/ata/qcom-sata.txt
@@ -0,0 +1,40 @@
@@ -58,6 +55,3 @@ index 0000000..5e74e41
+ phys = <&sata_phy>;
+ phy-names = "sata-phy";
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0144-phy-qcom-Add-driver-for-QCOM-IPQ806x-SATA-PHY.patch b/target/linux/ipq806x/patches/0144-phy-qcom-Add-driver-for-QCOM-IPQ806x-SATA-PHY.patch
index 862be0835e..9a5457df6c 100644
--- a/target/linux/ipq806x/patches/0144-phy-qcom-Add-driver-for-QCOM-IPQ806x-SATA-PHY.patch
+++ b/target/linux/ipq806x/patches/0144-phy-qcom-Add-driver-for-QCOM-IPQ806x-SATA-PHY.patch
@@ -14,8 +14,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
3 files changed, 219 insertions(+)
create mode 100644 drivers/phy/phy-qcom-ipq806x-sata.c
-diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
-index c7a551c..3642a65 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -65,4 +65,11 @@ config BCM_KONA_USB2_PHY
@@ -30,18 +28,13 @@ index c7a551c..3642a65 100644
+ select GENERIC_PHY
+
endmenu
-diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
-index b57c253..74f78cc 100644
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
-@@ -9,3 +9,4 @@ obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
+@@ -9,3 +9,4 @@ obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += p
obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
+obj-$(CONFIG_PHY_QCOM_IPQ806X_SATA) += phy-qcom-ipq806x-sata.o
-diff --git a/drivers/phy/phy-qcom-ipq806x-sata.c b/drivers/phy/phy-qcom-ipq806x-sata.c
-new file mode 100644
-index 0000000..e931aee
--- /dev/null
+++ b/drivers/phy/phy-qcom-ipq806x-sata.c
@@ -0,0 +1,211 @@
@@ -256,6 +249,3 @@ index 0000000..e931aee
+
+MODULE_DESCRIPTION("QCOM IPQ806x SATA PHY driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0145-phy-qcom-Add-device-tree-bindings-information.patch b/target/linux/ipq806x/patches/0145-phy-qcom-Add-device-tree-bindings-information.patch
index 1791228113..bd5e5d4fb3 100644
--- a/target/linux/ipq806x/patches/0145-phy-qcom-Add-device-tree-bindings-information.patch
+++ b/target/linux/ipq806x/patches/0145-phy-qcom-Add-device-tree-bindings-information.patch
@@ -12,9 +12,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
1 file changed, 23 insertions(+)
create mode 100644 Documentation/devicetree/bindings/phy/qcom-phy.txt
-diff --git a/Documentation/devicetree/bindings/phy/qcom-phy.txt b/Documentation/devicetree/bindings/phy/qcom-phy.txt
-new file mode 100644
-index 0000000..76bfbd0
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/qcom-phy.txt
@@ -0,0 +1,23 @@
@@ -41,6 +38,3 @@ index 0000000..76bfbd0
+
+ #phy-cells = <0>;
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0146-ARM-dts-qcom-Add-SATA-support-for-IPQ8064-and-AP148-.patch b/target/linux/ipq806x/patches/0146-ARM-dts-qcom-Add-SATA-support-for-IPQ8064-and-AP148-.patch
index 0d196ad212..da124c74d1 100644
--- a/target/linux/ipq806x/patches/0146-ARM-dts-qcom-Add-SATA-support-for-IPQ8064-and-AP148-.patch
+++ b/target/linux/ipq806x/patches/0146-ARM-dts-qcom-Add-SATA-support-for-IPQ8064-and-AP148-.patch
@@ -9,8 +9,6 @@ Subject: [PATCH 146/182] ARM: dts: qcom: Add SATA support for IPQ8064 and
arch/arm/boot/dts/qcom-ipq8064.dtsi | 30 ++++++++++++++++++++++++++++++
2 files changed, 38 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-index 11f7a77..c752889 100644
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -118,5 +118,13 @@
@@ -27,8 +25,6 @@ index 11f7a77..c752889 100644
+ };
};
};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index 42a651f..93c0315 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -339,5 +339,35 @@
@@ -67,6 +63,3 @@ index 42a651f..93c0315 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0147-ARM-qcom-Enable-SATA-SATA-PHY-drivers-in-defconfig.patch b/target/linux/ipq806x/patches/0147-ARM-qcom-Enable-SATA-SATA-PHY-drivers-in-defconfig.patch
index 43e9dff160..7465f56e4f 100644
--- a/target/linux/ipq806x/patches/0147-ARM-qcom-Enable-SATA-SATA-PHY-drivers-in-defconfig.patch
+++ b/target/linux/ipq806x/patches/0147-ARM-qcom-Enable-SATA-SATA-PHY-drivers-in-defconfig.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 147/182] ARM: qcom: Enable SATA/SATA-PHY drivers in defconfig
arch/arm/configs/qcom_defconfig | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index 4866dec..84c6639 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -57,7 +57,6 @@ CONFIG_MTD_BLOCK=y
@@ -37,6 +35,3 @@ index 4866dec..84c6639 100644
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT3_FS=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0148-ARM-qcom-enable-default-CPU_IDLE-to-get-wfi-support-.patch b/target/linux/ipq806x/patches/0148-ARM-qcom-enable-default-CPU_IDLE-to-get-wfi-support-.patch
index 29d712679d..c68a23b2fe 100644
--- a/target/linux/ipq806x/patches/0148-ARM-qcom-enable-default-CPU_IDLE-to-get-wfi-support-.patch
+++ b/target/linux/ipq806x/patches/0148-ARM-qcom-enable-default-CPU_IDLE-to-get-wfi-support-.patch
@@ -9,8 +9,6 @@ Signed-off-by: Kumar Gala <galak@codeaurora.org>
arch/arm/configs/qcom_defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index 84c6639..85a35af 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -31,6 +31,7 @@ CONFIG_HIGHPTE=y
@@ -21,6 +19,3 @@ index 84c6639..85a35af 100644
CONFIG_VFP=y
CONFIG_NEON=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0149-pinctrl-qcom-Add-BUS_HOLD-Keeper-bias.patch b/target/linux/ipq806x/patches/0149-pinctrl-qcom-Add-BUS_HOLD-Keeper-bias.patch
index 8e21ee8a97..8b2e18ab84 100644
--- a/target/linux/ipq806x/patches/0149-pinctrl-qcom-Add-BUS_HOLD-Keeper-bias.patch
+++ b/target/linux/ipq806x/patches/0149-pinctrl-qcom-Add-BUS_HOLD-Keeper-bias.patch
@@ -10,11 +10,9 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/pinctrl/pinctrl-msm.c | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/drivers/pinctrl/pinctrl-msm.c b/drivers/pinctrl/pinctrl-msm.c
-index 7d67d34..f054b25 100644
--- a/drivers/pinctrl/pinctrl-msm.c
+++ b/drivers/pinctrl/pinctrl-msm.c
-@@ -207,6 +207,7 @@ static int msm_config_reg(struct msm_pinctrl *pctrl,
+@@ -207,6 +207,7 @@ static int msm_config_reg(struct msm_pin
case PIN_CONFIG_BIAS_DISABLE:
case PIN_CONFIG_BIAS_PULL_DOWN:
case PIN_CONFIG_BIAS_PULL_UP:
@@ -22,7 +20,7 @@ index 7d67d34..f054b25 100644
*bit = g->pull_bit;
*mask = 3;
break;
-@@ -243,6 +244,7 @@ static int msm_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
+@@ -243,6 +244,7 @@ static int msm_config_set(struct pinctrl
#define MSM_NO_PULL 0
#define MSM_PULL_DOWN 1
@@ -30,7 +28,7 @@ index 7d67d34..f054b25 100644
#define MSM_PULL_UP 3
static unsigned msm_regval_to_drive(u32 val)
-@@ -280,6 +282,9 @@ static int msm_config_group_get(struct pinctrl_dev *pctldev,
+@@ -280,6 +282,9 @@ static int msm_config_group_get(struct p
case PIN_CONFIG_BIAS_PULL_DOWN:
arg = arg == MSM_PULL_DOWN;
break;
@@ -40,7 +38,7 @@ index 7d67d34..f054b25 100644
case PIN_CONFIG_BIAS_PULL_UP:
arg = arg == MSM_PULL_UP;
break;
-@@ -339,6 +344,9 @@ static int msm_config_group_set(struct pinctrl_dev *pctldev,
+@@ -339,6 +344,9 @@ static int msm_config_group_set(struct p
case PIN_CONFIG_BIAS_PULL_DOWN:
arg = MSM_PULL_DOWN;
break;
@@ -50,6 +48,3 @@ index 7d67d34..f054b25 100644
case PIN_CONFIG_BIAS_PULL_UP:
arg = MSM_PULL_UP;
break;
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0150-mtd-nand-Add-Qualcomm-NAND-controller.patch b/target/linux/ipq806x/patches/0150-mtd-nand-Add-Qualcomm-NAND-controller.patch
index 5a9fb51f03..f19045ed73 100644
--- a/target/linux/ipq806x/patches/0150-mtd-nand-Add-Qualcomm-NAND-controller.patch
+++ b/target/linux/ipq806x/patches/0150-mtd-nand-Add-Qualcomm-NAND-controller.patch
@@ -19,8 +19,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
create mode 100644 drivers/mtd/nand/qcom_nand.c
create mode 100644 drivers/mtd/nand/qcom_nand.h
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index 90ff447..6e3842f 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -510,4 +510,22 @@ config MTD_NAND_XWAY
@@ -46,11 +44,9 @@ index 90ff447..6e3842f 100644
+ Support for some NAND chips connected to the QCOM NAND controller.
+
endif # MTD_NAND
-diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
-index 542b568..6ef3c02 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -49,5 +49,7 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740_nand.o
+@@ -49,5 +49,7 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740
obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/
obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o
obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/
@@ -58,9 +54,6 @@ index 542b568..6ef3c02 100644
+obj-$(CONFIG_MTD_QCOM_DMA) += qcom_adm_dma.o
nand-objs := nand_base.o nand_bbt.o
-diff --git a/drivers/mtd/nand/qcom_adm_dma.c b/drivers/mtd/nand/qcom_adm_dma.c
-new file mode 100644
-index 0000000..46d8473
--- /dev/null
+++ b/drivers/mtd/nand/qcom_adm_dma.c
@@ -0,0 +1,797 @@
@@ -861,9 +854,6 @@ index 0000000..46d8473
+ return 0;
+}
+arch_initcall(msm_init_datamover);
-diff --git a/drivers/mtd/nand/qcom_adm_dma.h b/drivers/mtd/nand/qcom_adm_dma.h
-new file mode 100644
-index 0000000..1014d57
--- /dev/null
+++ b/drivers/mtd/nand/qcom_adm_dma.h
@@ -0,0 +1,268 @@
@@ -1135,9 +1125,6 @@ index 0000000..1014d57
+#define CMD_SRC_CRCI(n) (((n) & 15) << 3)
+
+#endif
-diff --git a/drivers/mtd/nand/qcom_nand.c b/drivers/mtd/nand/qcom_nand.c
-new file mode 100644
-index 0000000..9314132
--- /dev/null
+++ b/drivers/mtd/nand/qcom_nand.c
@@ -0,0 +1,7455 @@
@@ -8596,9 +8583,6 @@ index 0000000..9314132
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("msm_nand flash driver code");
-diff --git a/drivers/mtd/nand/qcom_nand.h b/drivers/mtd/nand/qcom_nand.h
-new file mode 100644
-index 0000000..468186c
--- /dev/null
+++ b/drivers/mtd/nand/qcom_nand.h
@@ -0,0 +1,196 @@
@@ -8798,6 +8782,3 @@ index 0000000..468186c
+extern struct flash_platform_data msm_nand_data;
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0151-ARM-ipq8064-Add-nand-device-info.patch b/target/linux/ipq806x/patches/0151-ARM-ipq8064-Add-nand-device-info.patch
index b79c16f34e..b460454352 100644
--- a/target/linux/ipq806x/patches/0151-ARM-ipq8064-Add-nand-device-info.patch
+++ b/target/linux/ipq806x/patches/0151-ARM-ipq8064-Add-nand-device-info.patch
@@ -9,8 +9,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
arch/arm/boot/dts/qcom-ipq8064.dtsi | 33 +++++++++++++++++++++++++++++
2 files changed, 67 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-index c752889..4062eb6 100644
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -45,6 +45,29 @@
@@ -60,8 +58,6 @@ index c752889..4062eb6 100644
+ };
};
};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index 93c0315..d9fce15 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -76,6 +76,7 @@
@@ -110,6 +106,3 @@ index 93c0315..d9fce15 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0152-ARM-qcom-config-Add-NAND-config-options.patch b/target/linux/ipq806x/patches/0152-ARM-qcom-config-Add-NAND-config-options.patch
index 97f012dfb6..a2489e49e5 100644
--- a/target/linux/ipq806x/patches/0152-ARM-qcom-config-Add-NAND-config-options.patch
+++ b/target/linux/ipq806x/patches/0152-ARM-qcom-config-Add-NAND-config-options.patch
@@ -10,8 +10,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
arch/arm/configs/qcom_defconfig | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index 85a35af..e3f9013 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -56,6 +56,7 @@ CONFIG_DEVTMPFS_MOUNT=y
@@ -22,6 +20,3 @@ index 85a35af..e3f9013 100644
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_SCSI_TGT=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0153-soc-qcom-tcsr-Add-TCSR-driver.patch b/target/linux/ipq806x/patches/0153-soc-qcom-tcsr-Add-TCSR-driver.patch
index 03b65e6872..65e4c2ff33 100644
--- a/target/linux/ipq806x/patches/0153-soc-qcom-tcsr-Add-TCSR-driver.patch
+++ b/target/linux/ipq806x/patches/0153-soc-qcom-tcsr-Add-TCSR-driver.patch
@@ -17,9 +17,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
create mode 100644 drivers/soc/qcom/qcom_tcsr.c
create mode 100644 include/dt-bindings/soc/qcom,tcsr.h
-diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,tcsr.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,tcsr.txt
-new file mode 100644
-index 0000000..6ea74c1
--- /dev/null
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,tcsr.txt
@@ -0,0 +1,25 @@
@@ -48,8 +45,6 @@ index 0000000..6ea74c1
+ };
+
+
-diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
-index 7bd2c94..3e4486a 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -9,3 +9,9 @@ config QCOM_GSBI
@@ -62,16 +57,11 @@ index 7bd2c94..3e4486a 100644
+ help
+ Say y here to enable TCSR support. The TCSR provides control
+ functions for various peripherals.
-diff --git a/drivers/soc/qcom/Makefile b/drivers/soc/qcom/Makefile
-index 4389012..d299492 100644
--- a/drivers/soc/qcom/Makefile
+++ b/drivers/soc/qcom/Makefile
@@ -1 +1,2 @@
obj-$(CONFIG_QCOM_GSBI) += qcom_gsbi.o
+obj-$(CONFIG_QCOM_TCSR) += qcom_tcsr.o
-diff --git a/drivers/soc/qcom/qcom_tcsr.c b/drivers/soc/qcom/qcom_tcsr.c
-new file mode 100644
-index 0000000..dd33153
--- /dev/null
+++ b/drivers/soc/qcom/qcom_tcsr.c
@@ -0,0 +1,64 @@
@@ -139,9 +129,6 @@ index 0000000..dd33153
+MODULE_AUTHOR("Andy Gross <agross@codeaurora.org>");
+MODULE_DESCRIPTION("QCOM TCSR driver");
+MODULE_LICENSE("GPL v2");
-diff --git a/include/dt-bindings/soc/qcom,tcsr.h b/include/dt-bindings/soc/qcom,tcsr.h
-new file mode 100644
-index 0000000..c9d497a
--- /dev/null
+++ b/include/dt-bindings/soc/qcom,tcsr.h
@@ -0,0 +1,19 @@
@@ -164,6 +151,3 @@ index 0000000..c9d497a
+#define TCSR_USB_SELECT_USB3_DUAL 0x3
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0154-clk-qcom-Correct-UTMI-clock-frequency-table.patch b/target/linux/ipq806x/patches/0154-clk-qcom-Correct-UTMI-clock-frequency-table.patch
index 28951ab18b..1d81970c96 100644
--- a/target/linux/ipq806x/patches/0154-clk-qcom-Correct-UTMI-clock-frequency-table.patch
+++ b/target/linux/ipq806x/patches/0154-clk-qcom-Correct-UTMI-clock-frequency-table.patch
@@ -11,11 +11,9 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/clk/qcom/gcc-ipq806x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
-index f7916be..d80dc69 100644
--- a/drivers/clk/qcom/gcc-ipq806x.c
+++ b/drivers/clk/qcom/gcc-ipq806x.c
-@@ -1992,7 +1992,7 @@ static struct clk_branch usb30_1_branch_clk = {
+@@ -1992,7 +1992,7 @@ static struct clk_branch usb30_1_branch_
};
static const struct freq_tbl clk_tbl_usb30_utmi[] = {
@@ -24,6 +22,3 @@ index f7916be..d80dc69 100644
{ }
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0155-clk-qcom-Fix-incorrect-UTMI-DT-include-values.patch b/target/linux/ipq806x/patches/0155-clk-qcom-Fix-incorrect-UTMI-DT-include-values.patch
index 7bfbbcb8f1..a05fc2c331 100644
--- a/target/linux/ipq806x/patches/0155-clk-qcom-Fix-incorrect-UTMI-DT-include-values.patch
+++ b/target/linux/ipq806x/patches/0155-clk-qcom-Fix-incorrect-UTMI-DT-include-values.patch
@@ -10,8 +10,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
include/dt-bindings/clock/qcom,gcc-ipq806x.h | 38 +++++++++++++-------------
1 file changed, 19 insertions(+), 19 deletions(-)
-diff --git a/include/dt-bindings/clock/qcom,gcc-ipq806x.h b/include/dt-bindings/clock/qcom,gcc-ipq806x.h
-index 0fd3e8a..163ba85 100644
--- a/include/dt-bindings/clock/qcom,gcc-ipq806x.h
+++ b/include/dt-bindings/clock/qcom,gcc-ipq806x.h
@@ -273,24 +273,24 @@
@@ -58,6 +56,3 @@ index 0fd3e8a..163ba85 100644
+#define NSS_CORE_CLK 283 /* Virtual */
#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0156-usb-dwc3-Add-Qualcomm-DWC3-glue-layer-driver.patch b/target/linux/ipq806x/patches/0156-usb-dwc3-Add-Qualcomm-DWC3-glue-layer-driver.patch
index f8ad3cdbcb..a69a5bd3a5 100644
--- a/target/linux/ipq806x/patches/0156-usb-dwc3-Add-Qualcomm-DWC3-glue-layer-driver.patch
+++ b/target/linux/ipq806x/patches/0156-usb-dwc3-Add-Qualcomm-DWC3-glue-layer-driver.patch
@@ -15,8 +15,6 @@ Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
3 files changed, 165 insertions(+)
create mode 100644 drivers/usb/dwc3/dwc3-qcom.c
-diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
-index e2c730f..2d01983 100644
--- a/drivers/usb/dwc3/Kconfig
+++ b/drivers/usb/dwc3/Kconfig
@@ -59,6 +59,14 @@ config USB_DWC3_EXYNOS
@@ -34,8 +32,6 @@ index e2c730f..2d01983 100644
config USB_DWC3_PCI
tristate "PCIe-based Platforms"
depends on PCI
-diff --git a/drivers/usb/dwc3/Makefile b/drivers/usb/dwc3/Makefile
-index 10ac3e7..4066e4e 100644
--- a/drivers/usb/dwc3/Makefile
+++ b/drivers/usb/dwc3/Makefile
@@ -31,5 +31,6 @@ endif
@@ -45,9 +41,6 @@ index 10ac3e7..4066e4e 100644
+obj-$(CONFIG_USB_DWC3_QCOM) += dwc3-qcom.o
obj-$(CONFIG_USB_DWC3_PCI) += dwc3-pci.o
obj-$(CONFIG_USB_DWC3_KEYSTONE) += dwc3-keystone.o
-diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
-new file mode 100644
-index 0000000..8d17360
--- /dev/null
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -0,0 +1,156 @@
@@ -207,6 +200,3 @@ index 0000000..8d17360
+MODULE_ALIAS("platform:qcom-dwc3");
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("DesignWare USB3 QCOM Glue Layer");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0157-usb-phy-Add-Qualcomm-DWC3-HS-SS-PHY-drivers.patch b/target/linux/ipq806x/patches/0157-usb-phy-Add-Qualcomm-DWC3-HS-SS-PHY-drivers.patch
index 332a32c910..d7fafed5ce 100644
--- a/target/linux/ipq806x/patches/0157-usb-phy-Add-Qualcomm-DWC3-HS-SS-PHY-drivers.patch
+++ b/target/linux/ipq806x/patches/0157-usb-phy-Add-Qualcomm-DWC3-HS-SS-PHY-drivers.patch
@@ -18,8 +18,6 @@ Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
create mode 100644 drivers/usb/phy/phy-qcom-hsusb.c
create mode 100644 drivers/usb/phy/phy-qcom-ssusb.c
-diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig
-index 7d1451d..ddb65be 100644
--- a/drivers/usb/phy/Kconfig
+++ b/drivers/usb/phy/Kconfig
@@ -193,7 +193,7 @@ config USB_ISP1301
@@ -49,11 +47,9 @@ index 7d1451d..ddb65be 100644
config USB_ULPI
bool "Generic ULPI Transceiver Driver"
depends on ARM
-diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile
-index be58ada..857f04e 100644
--- a/drivers/usb/phy/Makefile
+++ b/drivers/usb/phy/Makefile
-@@ -26,6 +26,8 @@ obj-$(CONFIG_USB_EHCI_TEGRA) += phy-tegra-usb.o
+@@ -26,6 +26,8 @@ obj-$(CONFIG_USB_EHCI_TEGRA) += phy-teg
obj-$(CONFIG_USB_GPIO_VBUS) += phy-gpio-vbus-usb.o
obj-$(CONFIG_USB_ISP1301) += phy-isp1301.o
obj-$(CONFIG_USB_MSM_OTG) += phy-msm-usb.o
@@ -62,9 +58,6 @@ index be58ada..857f04e 100644
obj-$(CONFIG_USB_MV_OTG) += phy-mv-usb.o
obj-$(CONFIG_USB_MXS_PHY) += phy-mxs-usb.o
obj-$(CONFIG_USB_RCAR_PHY) += phy-rcar-usb.o
-diff --git a/drivers/usb/phy/phy-qcom-hsusb.c b/drivers/usb/phy/phy-qcom-hsusb.c
-new file mode 100644
-index 0000000..f96b2b9
--- /dev/null
+++ b/drivers/usb/phy/phy-qcom-hsusb.c
@@ -0,0 +1,340 @@
@@ -408,9 +401,6 @@ index 0000000..f96b2b9
+MODULE_ALIAS("platform:qcom-dwc3-hsphy");
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("DesignWare USB3 QCOM HSPHY driver");
-diff --git a/drivers/usb/phy/phy-qcom-ssusb.c b/drivers/usb/phy/phy-qcom-ssusb.c
-new file mode 100644
-index 0000000..3da778f
--- /dev/null
+++ b/drivers/usb/phy/phy-qcom-ssusb.c
@@ -0,0 +1,455 @@
@@ -869,6 +859,3 @@ index 0000000..3da778f
+MODULE_ALIAS("platform:qcom-dwc3-ssphy");
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("DesignWare USB3 QCOM SSPHY driver");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0158-usb-dwc3-qcom-Add-device-tree-binding.patch b/target/linux/ipq806x/patches/0158-usb-dwc3-qcom-Add-device-tree-binding.patch
index cf1b300b50..ffe2a8d597 100644
--- a/target/linux/ipq806x/patches/0158-usb-dwc3-qcom-Add-device-tree-binding.patch
+++ b/target/linux/ipq806x/patches/0158-usb-dwc3-qcom-Add-device-tree-binding.patch
@@ -16,9 +16,6 @@ Acked-by: Stephen Warren <swarren@nvidia.com>
1 file changed, 104 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.txt
-diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.txt b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
-new file mode 100644
-index 0000000..105b6b7
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
@@ -0,0 +1,104 @@
@@ -126,6 +123,3 @@ index 0000000..105b6b7
+ dr_mode = "host";
+ };
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0159-arm-ipq8064-Add-USB3-DT-information.patch b/target/linux/ipq806x/patches/0159-arm-ipq8064-Add-USB3-DT-information.patch
index 5a0d099af8..843e94f2ff 100644
--- a/target/linux/ipq806x/patches/0159-arm-ipq8064-Add-USB3-DT-information.patch
+++ b/target/linux/ipq806x/patches/0159-arm-ipq8064-Add-USB3-DT-information.patch
@@ -11,8 +11,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
arch/arm/boot/dts/qcom-ipq8064.dtsi | 90 ++++++++++++++++++++++++++++++
2 files changed, 119 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-index 4062eb6..2b2d63c 100644
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -160,5 +160,34 @@
@@ -50,8 +48,6 @@ index 4062eb6..2b2d63c 100644
+ };
};
};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index d9fce15..6be6ac9 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -4,6 +4,7 @@
@@ -157,6 +153,3 @@ index d9fce15..6be6ac9 100644
+ };
};
};
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0160-ARM-qcom-config-Add-TCSR-and-USB3-options.patch b/target/linux/ipq806x/patches/0160-ARM-qcom-config-Add-TCSR-and-USB3-options.patch
index b74db3edbc..400c87e76b 100644
--- a/target/linux/ipq806x/patches/0160-ARM-qcom-config-Add-TCSR-and-USB3-options.patch
+++ b/target/linux/ipq806x/patches/0160-ARM-qcom-config-Add-TCSR-and-USB3-options.patch
@@ -10,8 +10,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
arch/arm/configs/qcom_defconfig | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index e3f9013..3d55d79 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -122,9 +122,14 @@ CONFIG_HID_BATTERY_STRENGTH=y
@@ -37,6 +35,3 @@ index e3f9013..3d55d79 100644
CONFIG_COMMON_CLK_QCOM=y
CONFIG_IPQ_GCC_806X=y
CONFIG_MSM_GCC_8660=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0161-ARM-Remove-ARCH_HAS_CPUFREQ-config-option.patch b/target/linux/ipq806x/patches/0161-ARM-Remove-ARCH_HAS_CPUFREQ-config-option.patch
index 41dae6e81b..32f2b5d8ea 100644
--- a/target/linux/ipq806x/patches/0161-ARM-Remove-ARCH_HAS_CPUFREQ-config-option.patch
+++ b/target/linux/ipq806x/patches/0161-ARM-Remove-ARCH_HAS_CPUFREQ-config-option.patch
@@ -28,11 +28,9 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
arch/arm/mach-vt8500/Kconfig | 1 -
11 files changed, 29 deletions(-)
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 4332e8d..1a61d4a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -180,13 +180,6 @@ config ARCH_HAS_ILOG2_U32
+@@ -181,13 +181,6 @@ config ARCH_HAS_ILOG2_U32
config ARCH_HAS_ILOG2_U64
bool
@@ -46,7 +44,7 @@ index 4332e8d..1a61d4a 100644
config ARCH_HAS_BANDGAP
bool
-@@ -315,7 +308,6 @@ config ARCH_MULTIPLATFORM
+@@ -316,7 +309,6 @@ config ARCH_MULTIPLATFORM
config ARCH_INTEGRATOR
bool "ARM Ltd. Integrator family"
@@ -54,7 +52,7 @@ index 4332e8d..1a61d4a 100644
select ARM_AMBA
select ARM_PATCH_PHYS_VIRT
select AUTO_ZRELADDR
-@@ -540,7 +532,6 @@ config ARCH_DOVE
+@@ -541,7 +533,6 @@ config ARCH_DOVE
config ARCH_KIRKWOOD
bool "Marvell Kirkwood"
@@ -62,7 +60,7 @@ index 4332e8d..1a61d4a 100644
select ARCH_REQUIRE_GPIOLIB
select CPU_FEROCEON
select GENERIC_CLOCKEVENTS
-@@ -641,7 +632,6 @@ config ARCH_LPC32XX
+@@ -642,7 +633,6 @@ config ARCH_LPC32XX
config ARCH_PXA
bool "PXA2xx/PXA3xx-based"
depends on MMU
@@ -70,7 +68,7 @@ index 4332e8d..1a61d4a 100644
select ARCH_MTD_XIP
select ARCH_REQUIRE_GPIOLIB
select ARM_CPU_SUSPEND if PM
-@@ -710,7 +700,6 @@ config ARCH_RPC
+@@ -711,7 +701,6 @@ config ARCH_RPC
config ARCH_SA1100
bool "SA1100-based"
@@ -78,7 +76,7 @@ index 4332e8d..1a61d4a 100644
select ARCH_MTD_XIP
select ARCH_REQUIRE_GPIOLIB
select ARCH_SPARSEMEM_ENABLE
-@@ -728,7 +717,6 @@ config ARCH_SA1100
+@@ -729,7 +718,6 @@ config ARCH_SA1100
config ARCH_S3C24XX
bool "Samsung S3C24XX SoCs"
@@ -86,7 +84,7 @@ index 4332e8d..1a61d4a 100644
select ARCH_REQUIRE_GPIOLIB
select CLKDEV_LOOKUP
select CLKSRC_SAMSUNG_PWM
-@@ -748,7 +736,6 @@ config ARCH_S3C24XX
+@@ -749,7 +737,6 @@ config ARCH_S3C24XX
config ARCH_S3C64XX
bool "Samsung S3C64XX"
@@ -94,7 +92,7 @@ index 4332e8d..1a61d4a 100644
select ARCH_REQUIRE_GPIOLIB
select ARM_AMBA
select ARM_VIC
-@@ -809,7 +796,6 @@ config ARCH_S5PC100
+@@ -810,7 +797,6 @@ config ARCH_S5PC100
config ARCH_S5PV210
bool "Samsung S5PV210/S5PC110"
@@ -102,7 +100,7 @@ index 4332e8d..1a61d4a 100644
select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_SPARSEMEM_ENABLE
select CLKDEV_LOOKUP
-@@ -863,7 +849,6 @@ config ARCH_DAVINCI
+@@ -864,7 +850,6 @@ config ARCH_DAVINCI
config ARCH_OMAP1
bool "TI OMAP1"
depends on MMU
@@ -110,7 +108,7 @@ index 4332e8d..1a61d4a 100644
select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_OMAP
select ARCH_REQUIRE_GPIOLIB
-@@ -2170,9 +2155,7 @@ endmenu
+@@ -2171,9 +2156,7 @@ endmenu
menu "CPU Power Management"
@@ -120,8 +118,6 @@ index 4332e8d..1a61d4a 100644
source "drivers/cpuidle/Kconfig"
-diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
-index a075b3e..34cfecc 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -39,7 +39,6 @@ config ARCH_DAVINCI_DA830
@@ -132,8 +128,6 @@ index a075b3e..34cfecc 100644
select CP_INTC
config ARCH_DAVINCI_DA8XX
-diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig
-index 0aded64..9f74755 100644
--- a/arch/arm/mach-highbank/Kconfig
+++ b/arch/arm/mach-highbank/Kconfig
@@ -1,7 +1,6 @@
@@ -144,8 +138,6 @@ index 0aded64..9f74755 100644
select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_HAS_OPP
select ARCH_SUPPORTS_BIG_ENDIAN
-diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
-index 33567aa..e7ae0ee 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -103,7 +103,6 @@ config SOC_IMX25
@@ -164,8 +156,6 @@ index 33567aa..e7ae0ee 100644
select ARCH_HAS_OPP
select ARCH_MXC_IOMUX_V3
select CPU_V7
-diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
-index 0af7ca0..0674cb7 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -93,7 +93,6 @@ config SOC_DRA7XX
@@ -176,8 +166,6 @@ index 0af7ca0..0674cb7 100644
select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_OMAP
select ARCH_REQUIRE_GPIOLIB
-diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
-index 05fa505..61d4d31 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -85,7 +85,6 @@ config ARCH_R8A73A4
@@ -196,8 +184,6 @@ index 05fa505..61d4d31 100644
select ARCH_HAS_OPP
select ARCH_REQUIRE_GPIOLIB
select REGULATOR_FIXED_VOLTAGE if REGULATOR
-diff --git a/arch/arm/mach-spear/Kconfig b/arch/arm/mach-spear/Kconfig
-index ac1710e6..811ba13 100644
--- a/arch/arm/mach-spear/Kconfig
+++ b/arch/arm/mach-spear/Kconfig
@@ -16,7 +16,6 @@ if PLAT_SPEAR
@@ -208,8 +194,6 @@ index ac1710e6..811ba13 100644
select ARM_GIC
select CPU_V7
select GPIO_SPEAR_SPICS
-diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
-index b1232d8..52bfc9e 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -1,6 +1,5 @@
@@ -219,8 +203,6 @@ index b1232d8..52bfc9e 100644
select ARCH_REQUIRE_GPIOLIB
select ARCH_SUPPORTS_TRUSTED_FOUNDATIONS
select ARM_GIC
-diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
-index 0034d2c..cb1176e 100644
--- a/arch/arm/mach-ux500/Kconfig
+++ b/arch/arm/mach-ux500/Kconfig
@@ -3,7 +3,6 @@ config ARCH_U8500
@@ -231,8 +213,6 @@ index 0034d2c..cb1176e 100644
select ARCH_REQUIRE_GPIOLIB
select ARM_AMBA
select ARM_ERRATA_754322
-diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
-index 4a70be4..ca5b7e5 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -67,7 +67,6 @@ config ARCH_VEXPRESS_DCSCB
@@ -243,8 +223,6 @@ index 4a70be4..ca5b7e5 100644
select ARCH_HAS_OPP
select PM_OPP
help
-diff --git a/arch/arm/mach-vt8500/Kconfig b/arch/arm/mach-vt8500/Kconfig
-index 927be93..788d0b4 100644
--- a/arch/arm/mach-vt8500/Kconfig
+++ b/arch/arm/mach-vt8500/Kconfig
@@ -1,6 +1,5 @@
@@ -254,6 +232,3 @@ index 927be93..788d0b4 100644
select ARCH_REQUIRE_GPIOLIB
select CLKDEV_LOOKUP
select CLKSRC_OF
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0162-PM-OPP-Remove-ARCH_HAS_OPP.patch b/target/linux/ipq806x/patches/0162-PM-OPP-Remove-ARCH_HAS_OPP.patch
index 979212fe8f..d07b9e0c60 100644
--- a/target/linux/ipq806x/patches/0162-PM-OPP-Remove-ARCH_HAS_OPP.patch
+++ b/target/linux/ipq806x/patches/0162-PM-OPP-Remove-ARCH_HAS_OPP.patch
@@ -21,11 +21,9 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
kernel/power/Kconfig | 3 ---
8 files changed, 13 deletions(-)
-diff --git a/Documentation/power/opp.txt b/Documentation/power/opp.txt
-index b8a907d..7b6a021 100644
--- a/Documentation/power/opp.txt
+++ b/Documentation/power/opp.txt
-@@ -52,9 +52,6 @@ Typical usage of the OPP library is as follows:
+@@ -52,9 +52,6 @@ Typical usage of the OPP library is as f
SoC framework -> modifies on required cases certain OPPs -> OPP layer
-> queries to search/retrieve information ->
@@ -35,8 +33,6 @@ index b8a907d..7b6a021 100644
OPP layer expects each domain to be represented by a unique device pointer. SoC
framework registers a set of initial OPPs per device with the OPP layer. This
list is expected to be an optimally small number typically around 5 per device.
-diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
-index 4c414af..67e69a8 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -107,7 +107,6 @@ config SOC_EXYNOS5440
@@ -47,8 +43,6 @@ index 4c414af..67e69a8 100644
select HAVE_ARM_ARCH_TIMER
select AUTO_ZRELADDR
select MIGHT_HAVE_PCI
-diff --git a/arch/arm/mach-highbank/Kconfig b/arch/arm/mach-highbank/Kconfig
-index 9f74755..43bd782 100644
--- a/arch/arm/mach-highbank/Kconfig
+++ b/arch/arm/mach-highbank/Kconfig
@@ -2,7 +2,6 @@ config ARCH_HIGHBANK
@@ -59,8 +53,6 @@ index 9f74755..43bd782 100644
select ARCH_SUPPORTS_BIG_ENDIAN
select ARCH_WANT_OPTIONAL_GPIOLIB
select ARM_AMBA
-diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
-index 0674cb7..3e6596c 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -13,7 +13,6 @@ config ARCH_OMAP3
@@ -71,8 +63,6 @@ index 0674cb7..3e6596c 100644
select ARM_CPU_SUSPEND if PM
select CPU_V7
select MULTI_IRQ_HANDLER
-diff --git a/arch/arm/mach-shmobile/Kconfig b/arch/arm/mach-shmobile/Kconfig
-index 61d4d31..9fc2dd2 100644
--- a/arch/arm/mach-shmobile/Kconfig
+++ b/arch/arm/mach-shmobile/Kconfig
@@ -85,7 +85,6 @@ config ARCH_R8A73A4
@@ -91,8 +81,6 @@ index 61d4d31..9fc2dd2 100644
select ARCH_REQUIRE_GPIOLIB
select REGULATOR_FIXED_VOLTAGE if REGULATOR
select SND_SOC_AK4642 if SND_SIMPLE_CARD
-diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
-index ca5b7e5..4ed6e97 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -67,7 +67,6 @@ config ARCH_VEXPRESS_DCSCB
@@ -103,8 +91,6 @@ index ca5b7e5..4ed6e97 100644
select PM_OPP
help
The TC2 (A15x2 A7x3) versatile express core tile integrates a logic
-diff --git a/drivers/devfreq/Kconfig b/drivers/devfreq/Kconfig
-index 7d2f435..d416754 100644
--- a/drivers/devfreq/Kconfig
+++ b/drivers/devfreq/Kconfig
@@ -68,7 +68,6 @@ comment "DEVFREQ Drivers"
@@ -115,8 +101,6 @@ index 7d2f435..d416754 100644
select DEVFREQ_GOV_SIMPLE_ONDEMAND
help
This adds the DEVFREQ driver for Exynos4210 memory bus (vdd_int)
-diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig
-index 2fac9cc..caa040c 100644
--- a/kernel/power/Kconfig
+++ b/kernel/power/Kconfig
@@ -253,9 +253,6 @@ config APM_EMULATION
@@ -129,6 +113,3 @@ index 2fac9cc..caa040c 100644
config PM_OPP
bool "Operating Performance Point (OPP) Layer library"
depends on ARCH_HAS_OPP
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0163-clk-return-probe-defer-when-DT-clock-not-yet-ready.patch b/target/linux/ipq806x/patches/0163-clk-return-probe-defer-when-DT-clock-not-yet-ready.patch
index 7ea69f331b..cde3d2a8dd 100644
--- a/target/linux/ipq806x/patches/0163-clk-return-probe-defer-when-DT-clock-not-yet-ready.patch
+++ b/target/linux/ipq806x/patches/0163-clk-return-probe-defer-when-DT-clock-not-yet-ready.patch
@@ -18,8 +18,6 @@ Signed-off-by: Mike Turquette <mturquette@linaro.org>
drivers/clk/clkdev.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
-diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
-index 0582068..a3facad 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -2502,7 +2502,7 @@ EXPORT_SYMBOL_GPL(of_clk_del_provider);
@@ -31,11 +29,9 @@ index 0582068..a3facad 100644
/* Check if we have such a provider in our array */
list_for_each_entry(provider, &of_clk_providers, link) {
-diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
-index 48f6721..a360b2e 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
-@@ -167,6 +167,8 @@ struct clk *clk_get(struct device *dev, const char *con_id)
+@@ -167,6 +167,8 @@ struct clk *clk_get(struct device *dev,
clk = of_clk_get_by_name(dev->of_node, con_id);
if (!IS_ERR(clk))
return clk;
@@ -44,6 +40,3 @@ index 48f6721..a360b2e 100644
}
return clk_get_sys(dev_id, con_id);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0164-ARM-Add-Krait-L2-register-accessor-functions.patch b/target/linux/ipq806x/patches/0164-ARM-Add-Krait-L2-register-accessor-functions.patch
index 652590e984..1eb450e10d 100644
--- a/target/linux/ipq806x/patches/0164-ARM-Add-Krait-L2-register-accessor-functions.patch
+++ b/target/linux/ipq806x/patches/0164-ARM-Add-Krait-L2-register-accessor-functions.patch
@@ -25,8 +25,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
create mode 100644 arch/arm/common/krait-l2-accessors.c
create mode 100644 arch/arm/include/asm/krait-l2-accessors.h
-diff --git a/arch/arm/common/Kconfig b/arch/arm/common/Kconfig
-index c3a4e9c..9da52dc 100644
--- a/arch/arm/common/Kconfig
+++ b/arch/arm/common/Kconfig
@@ -9,6 +9,9 @@ config DMABOUNCE
@@ -39,8 +37,6 @@ index c3a4e9c..9da52dc 100644
config SHARP_LOCOMO
bool
-diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile
-index 4bdc4162..2836f99 100644
--- a/arch/arm/common/Makefile
+++ b/arch/arm/common/Makefile
@@ -7,6 +7,7 @@ obj-y += firmware.o
@@ -51,9 +47,6 @@ index 4bdc4162..2836f99 100644
obj-$(CONFIG_SHARP_LOCOMO) += locomo.o
obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o
obj-$(CONFIG_SHARP_SCOOP) += scoop.o
-diff --git a/arch/arm/common/krait-l2-accessors.c b/arch/arm/common/krait-l2-accessors.c
-new file mode 100644
-index 0000000..5d514bb
--- /dev/null
+++ b/arch/arm/common/krait-l2-accessors.c
@@ -0,0 +1,58 @@
@@ -115,9 +108,6 @@ index 0000000..5d514bb
+ return val;
+}
+EXPORT_SYMBOL(krait_get_l2_indirect_reg);
-diff --git a/arch/arm/include/asm/krait-l2-accessors.h b/arch/arm/include/asm/krait-l2-accessors.h
-new file mode 100644
-index 0000000..48fe552
--- /dev/null
+++ b/arch/arm/include/asm/krait-l2-accessors.h
@@ -0,0 +1,20 @@
@@ -141,6 +131,3 @@ index 0000000..48fe552
+extern u32 krait_get_l2_indirect_reg(u32 addr);
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0165-clk-qcom-Add-support-for-muxes-dividers-and-mux-divi.patch b/target/linux/ipq806x/patches/0165-clk-qcom-Add-support-for-muxes-dividers-and-mux-divi.patch
index 0964106770..fa7b4e9dde 100644
--- a/target/linux/ipq806x/patches/0165-clk-qcom-Add-support-for-muxes-dividers-and-mux-divi.patch
+++ b/target/linux/ipq806x/patches/0165-clk-qcom-Add-support-for-muxes-dividers-and-mux-divi.patch
@@ -21,8 +21,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
create mode 100644 drivers/clk/qcom/clk-generic.c
create mode 100644 include/linux/clk/msm-clk-generic.h
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index df2a1b3..2cc6039 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -6,6 +6,7 @@ clk-qcom-y += clk-pll.o
@@ -33,9 +31,6 @@ index df2a1b3..2cc6039 100644
clk-qcom-y += reset.o
obj-$(CONFIG_IPQ_GCC_806X) += gcc-ipq806x.o
-diff --git a/drivers/clk/qcom/clk-generic.c b/drivers/clk/qcom/clk-generic.c
-new file mode 100644
-index 0000000..a0d778b
--- /dev/null
+++ b/drivers/clk/qcom/clk-generic.c
@@ -0,0 +1,405 @@
@@ -444,9 +439,6 @@ index 0000000..a0d778b
+ .recalc_rate = mux_div_clk_recalc_rate,
+};
+EXPORT_SYMBOL_GPL(clk_ops_mux_div_clk);
-diff --git a/include/linux/clk/msm-clk-generic.h b/include/linux/clk/msm-clk-generic.h
-new file mode 100644
-index 0000000..cee3863
--- /dev/null
+++ b/include/linux/clk/msm-clk-generic.h
@@ -0,0 +1,208 @@
@@ -658,6 +650,3 @@ index 0000000..cee3863
+extern const struct clk_ops clk_ops_mux_div_clk;
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0166-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch b/target/linux/ipq806x/patches/0166-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch
index 3ff1a95def..037c6c4770 100644
--- a/target/linux/ipq806x/patches/0166-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch
+++ b/target/linux/ipq806x/patches/0166-clk-qcom-Add-support-for-High-Frequency-PLLs-HFPLLs.patch
@@ -16,8 +16,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
create mode 100644 drivers/clk/qcom/clk-hfpll.c
create mode 100644 drivers/clk/qcom/clk-hfpll.h
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index 2cc6039..93fd03f 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -7,6 +7,7 @@ clk-qcom-y += clk-rcg.o
@@ -28,9 +26,6 @@ index 2cc6039..93fd03f 100644
clk-qcom-y += reset.o
obj-$(CONFIG_IPQ_GCC_806X) += gcc-ipq806x.o
-diff --git a/drivers/clk/qcom/clk-hfpll.c b/drivers/clk/qcom/clk-hfpll.c
-new file mode 100644
-index 0000000..f8a40a7
--- /dev/null
+++ b/drivers/clk/qcom/clk-hfpll.c
@@ -0,0 +1,260 @@
@@ -294,9 +289,6 @@ index 0000000..f8a40a7
+ .init = clk_hfpll_init,
+};
+EXPORT_SYMBOL_GPL(clk_ops_hfpll);
-diff --git a/drivers/clk/qcom/clk-hfpll.h b/drivers/clk/qcom/clk-hfpll.h
-new file mode 100644
-index 0000000..48c18d6
--- /dev/null
+++ b/drivers/clk/qcom/clk-hfpll.h
@@ -0,0 +1,54 @@
@@ -354,6 +346,3 @@ index 0000000..48c18d6
+extern const struct clk_ops clk_ops_hfpll;
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0167-clk-qcom-Add-HFPLL-driver.patch b/target/linux/ipq806x/patches/0167-clk-qcom-Add-HFPLL-driver.patch
index c2c1680ea2..1aedbda799 100644
--- a/target/linux/ipq806x/patches/0167-clk-qcom-Add-HFPLL-driver.patch
+++ b/target/linux/ipq806x/patches/0167-clk-qcom-Add-HFPLL-driver.patch
@@ -16,8 +16,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
3 files changed, 119 insertions(+)
create mode 100644 drivers/clk/qcom/hfpll.c
-diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
-index cfaa54c..de8ba31 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -53,3 +53,11 @@ config MSM_MMCC_8974
@@ -32,18 +30,13 @@ index cfaa54c..de8ba31 100644
+ Support for the high-frequency PLLs present on Qualcomm devices.
+ Say Y if you want to support CPU frequency scaling on devices
+ such as MSM8974, APQ8084, etc.
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index 93fd03f..d0d8e3d 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
-@@ -16,3 +16,4 @@ obj-$(CONFIG_MSM_GCC_8960) += gcc-msm8960.o
+@@ -16,3 +16,4 @@ obj-$(CONFIG_MSM_GCC_8960) += gcc-msm896
obj-$(CONFIG_MSM_GCC_8974) += gcc-msm8974.o
obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o
obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o
+obj-$(CONFIG_QCOM_HFPLL) += hfpll.o
-diff --git a/drivers/clk/qcom/hfpll.c b/drivers/clk/qcom/hfpll.c
-new file mode 100644
-index 0000000..701a377
--- /dev/null
+++ b/drivers/clk/qcom/hfpll.c
@@ -0,0 +1,110 @@
@@ -157,6 +150,3 @@ index 0000000..701a377
+MODULE_DESCRIPTION("QCOM HFPLL Clock Driver");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:qcom-hfpll");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0168-clk-qcom-Add-MSM8960-s-HFPLLs.patch b/target/linux/ipq806x/patches/0168-clk-qcom-Add-MSM8960-s-HFPLLs.patch
index 68fda612eb..04ff3711fe 100644
--- a/target/linux/ipq806x/patches/0168-clk-qcom-Add-MSM8960-s-HFPLLs.patch
+++ b/target/linux/ipq806x/patches/0168-clk-qcom-Add-MSM8960-s-HFPLLs.patch
@@ -10,8 +10,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/qcom/gcc-msm8960.c | 82 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
-diff --git a/drivers/clk/qcom/gcc-msm8960.c b/drivers/clk/qcom/gcc-msm8960.c
-index f4ffd91..d04fc99 100644
--- a/drivers/clk/qcom/gcc-msm8960.c
+++ b/drivers/clk/qcom/gcc-msm8960.c
@@ -30,6 +30,7 @@
@@ -107,7 +105,7 @@ index f4ffd91..d04fc99 100644
static struct clk_pll pll14 = {
.l_reg = 0x31c4,
.m_reg = 0x31c8,
-@@ -2763,6 +2842,9 @@ static struct clk_regmap *gcc_msm8960_clks[] = {
+@@ -2763,6 +2842,9 @@ static struct clk_regmap *gcc_msm8960_cl
[PMIC_ARB1_H_CLK] = &pmic_arb1_h_clk.clkr,
[PMIC_SSBI2_CLK] = &pmic_ssbi2_clk.clkr,
[RPM_MSG_RAM_H_CLK] = &rpm_msg_ram_h_clk.clkr,
@@ -117,6 +115,3 @@ index f4ffd91..d04fc99 100644
};
static const struct qcom_reset_map gcc_msm8960_resets[] = {
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0169-clk-qcom-Add-support-for-Krait-clocks.patch b/target/linux/ipq806x/patches/0169-clk-qcom-Add-support-for-Krait-clocks.patch
index 9b76f59508..6e17acdc4e 100644
--- a/target/linux/ipq806x/patches/0169-clk-qcom-Add-support-for-Krait-clocks.patch
+++ b/target/linux/ipq806x/patches/0169-clk-qcom-Add-support-for-Krait-clocks.patch
@@ -19,8 +19,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
create mode 100644 drivers/clk/qcom/clk-krait.c
create mode 100644 drivers/clk/qcom/clk-krait.h
-diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
-index de8ba31..70b6a7c 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -61,3 +61,7 @@ config QCOM_HFPLL
@@ -31,8 +29,6 @@ index de8ba31..70b6a7c 100644
+config KRAIT_CLOCKS
+ bool
+ select KRAIT_L2_ACCESSORS
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index d0d8e3d..6482165 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
@@ -7,6 +7,7 @@ clk-qcom-y += clk-rcg.o
@@ -43,9 +39,6 @@ index d0d8e3d..6482165 100644
clk-qcom-y += clk-hfpll.o
clk-qcom-y += reset.o
-diff --git a/drivers/clk/qcom/clk-krait.c b/drivers/clk/qcom/clk-krait.c
-new file mode 100644
-index 0000000..4283426
--- /dev/null
+++ b/drivers/clk/qcom/clk-krait.c
@@ -0,0 +1,121 @@
@@ -170,9 +163,6 @@ index 0000000..4283426
+ .get_div = kpss_div2_get_div,
+};
+EXPORT_SYMBOL_GPL(clk_div_ops_kpss_div2);
-diff --git a/drivers/clk/qcom/clk-krait.h b/drivers/clk/qcom/clk-krait.h
-new file mode 100644
-index 0000000..9c3eb38
--- /dev/null
+++ b/drivers/clk/qcom/clk-krait.h
@@ -0,0 +1,22 @@
@@ -198,6 +188,3 @@ index 0000000..9c3eb38
+extern const struct clk_div_ops clk_div_ops_kpss_div2;
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0170-clk-qcom-Add-KPSS-ACC-GCC-driver.patch b/target/linux/ipq806x/patches/0170-clk-qcom-Add-KPSS-ACC-GCC-driver.patch
index 8817bbbf49..b16108ed43 100644
--- a/target/linux/ipq806x/patches/0170-clk-qcom-Add-KPSS-ACC-GCC-driver.patch
+++ b/target/linux/ipq806x/patches/0170-clk-qcom-Add-KPSS-ACC-GCC-driver.patch
@@ -16,8 +16,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
3 files changed, 124 insertions(+)
create mode 100644 drivers/clk/qcom/kpss-xcc.c
-diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
-index 70b6a7c..e9e5360 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -62,6 +62,14 @@ config QCOM_HFPLL
@@ -35,19 +33,14 @@ index 70b6a7c..e9e5360 100644
config KRAIT_CLOCKS
bool
select KRAIT_L2_ACCESSORS
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index 6482165..29b2a45 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
-@@ -17,4 +17,5 @@ obj-$(CONFIG_MSM_GCC_8960) += gcc-msm8960.o
+@@ -17,4 +17,5 @@ obj-$(CONFIG_MSM_GCC_8960) += gcc-msm896
obj-$(CONFIG_MSM_GCC_8974) += gcc-msm8974.o
obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o
obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o
+obj-$(CONFIG_KPSS_XCC) += kpss-xcc.o
obj-$(CONFIG_QCOM_HFPLL) += hfpll.o
-diff --git a/drivers/clk/qcom/kpss-xcc.c b/drivers/clk/qcom/kpss-xcc.c
-new file mode 100644
-index 0000000..1061668
--- /dev/null
+++ b/drivers/clk/qcom/kpss-xcc.c
@@ -0,0 +1,115 @@
@@ -166,6 +159,3 @@ index 0000000..1061668
+module_platform_driver(kpss_xcc_driver);
+
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0171-clk-qcom-Add-Krait-clock-controller-driver.patch b/target/linux/ipq806x/patches/0171-clk-qcom-Add-Krait-clock-controller-driver.patch
index 8fa83dfdc2..6d0619a8e1 100644
--- a/target/linux/ipq806x/patches/0171-clk-qcom-Add-Krait-clock-controller-driver.patch
+++ b/target/linux/ipq806x/patches/0171-clk-qcom-Add-Krait-clock-controller-driver.patch
@@ -17,8 +17,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
3 files changed, 373 insertions(+)
create mode 100644 drivers/clk/qcom/krait-cc.c
-diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
-index e9e5360..7418108 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -70,6 +70,14 @@ config KPSS_XCC
@@ -36,18 +34,13 @@ index e9e5360..7418108 100644
config KRAIT_CLOCKS
bool
select KRAIT_L2_ACCESSORS
-diff --git a/drivers/clk/qcom/Makefile b/drivers/clk/qcom/Makefile
-index 29b2a45..1b88abe 100644
--- a/drivers/clk/qcom/Makefile
+++ b/drivers/clk/qcom/Makefile
-@@ -19,3 +19,4 @@ obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o
+@@ -19,3 +19,4 @@ obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8
obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o
obj-$(CONFIG_KPSS_XCC) += kpss-xcc.o
obj-$(CONFIG_QCOM_HFPLL) += hfpll.o
+obj-$(CONFIG_KRAITCC) += krait-cc.o
-diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c
-new file mode 100644
-index 0000000..90985ea
--- /dev/null
+++ b/drivers/clk/qcom/krait-cc.c
@@ -0,0 +1,364 @@
@@ -415,6 +408,3 @@ index 0000000..90985ea
+
+MODULE_DESCRIPTION("Krait CPU Clock Driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0172-cpufreq-Add-a-cpufreq-krait-based-on-cpufreq-cpu0.patch b/target/linux/ipq806x/patches/0172-cpufreq-Add-a-cpufreq-krait-based-on-cpufreq-cpu0.patch
index 3150a4dfb8..ea07fc1d2f 100644
--- a/target/linux/ipq806x/patches/0172-cpufreq-Add-a-cpufreq-krait-based-on-cpufreq-cpu0.patch
+++ b/target/linux/ipq806x/patches/0172-cpufreq-Add-a-cpufreq-krait-based-on-cpufreq-cpu0.patch
@@ -18,8 +18,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
3 files changed, 204 insertions(+)
create mode 100644 drivers/cpufreq/cpufreq-krait.c
-diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
-index 4b029c0..4051528 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -194,6 +194,19 @@ config GENERIC_CPUFREQ_CPU0
@@ -42,11 +40,9 @@ index 4b029c0..4051528 100644
menu "x86 CPU frequency scaling drivers"
depends on X86
source "drivers/cpufreq/Kconfig.x86"
-diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
-index 7494565..f6f4485 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
-@@ -12,6 +12,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE) += cpufreq_conservative.o
+@@ -12,6 +12,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)
obj-$(CONFIG_CPU_FREQ_GOV_COMMON) += cpufreq_governor.o
obj-$(CONFIG_GENERIC_CPUFREQ_CPU0) += cpufreq-cpu0.o
@@ -54,9 +50,6 @@ index 7494565..f6f4485 100644
##################################################################################
# x86 drivers.
-diff --git a/drivers/cpufreq/cpufreq-krait.c b/drivers/cpufreq/cpufreq-krait.c
-new file mode 100644
-index 0000000..7b38b9c
--- /dev/null
+++ b/drivers/cpufreq/cpufreq-krait.c
@@ -0,0 +1,190 @@
@@ -250,6 +243,3 @@ index 0000000..7b38b9c
+
+MODULE_DESCRIPTION("Krait CPUfreq driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0173-cpufreq-Add-module-to-register-cpufreq-krait-device.patch b/target/linux/ipq806x/patches/0173-cpufreq-Add-module-to-register-cpufreq-krait-device.patch
index c43221070c..373c402959 100644
--- a/target/linux/ipq806x/patches/0173-cpufreq-Add-module-to-register-cpufreq-krait-device.patch
+++ b/target/linux/ipq806x/patches/0173-cpufreq-Add-module-to-register-cpufreq-krait-device.patch
@@ -14,8 +14,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
3 files changed, 57 insertions(+)
create mode 100644 drivers/cpufreq/qcom-cpufreq.c
-diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
-index 3129749..6ae884d 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -123,6 +123,14 @@ config ARM_OMAP2PLUS_CPUFREQ
@@ -33,11 +31,9 @@ index 3129749..6ae884d 100644
config ARM_S3C_CPUFREQ
bool
help
-diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
-index f6f4485..f5d18a3 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
-@@ -60,6 +60,7 @@ obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o
+@@ -60,6 +60,7 @@ obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6
obj-$(CONFIG_ARM_INTEGRATOR) += integrator-cpufreq.o
obj-$(CONFIG_ARM_KIRKWOOD_CPUFREQ) += kirkwood-cpufreq.o
obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o
@@ -45,9 +41,6 @@ index f6f4485..f5d18a3 100644
obj-$(CONFIG_PXA25x) += pxa2xx-cpufreq.o
obj-$(CONFIG_PXA27x) += pxa2xx-cpufreq.o
obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o
-diff --git a/drivers/cpufreq/qcom-cpufreq.c b/drivers/cpufreq/qcom-cpufreq.c
-new file mode 100644
-index 0000000..71f4387
--- /dev/null
+++ b/drivers/cpufreq/qcom-cpufreq.c
@@ -0,0 +1,48 @@
@@ -99,6 +92,3 @@ index 0000000..71f4387
+
+MODULE_DESCRIPTION("Qualcomm CPUfreq driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0174-clk-qcom-Add-HFPLLs-to-IPQ806X-driver.patch b/target/linux/ipq806x/patches/0174-clk-qcom-Add-HFPLLs-to-IPQ806X-driver.patch
index 38dbd6526e..682a519d3e 100644
--- a/target/linux/ipq806x/patches/0174-clk-qcom-Add-HFPLLs-to-IPQ806X-driver.patch
+++ b/target/linux/ipq806x/patches/0174-clk-qcom-Add-HFPLLs-to-IPQ806X-driver.patch
@@ -8,8 +8,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/qcom/gcc-ipq806x.c | 83 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
-diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
-index d80dc69..83a73cb 100644
--- a/drivers/clk/qcom/gcc-ipq806x.c
+++ b/drivers/clk/qcom/gcc-ipq806x.c
@@ -30,6 +30,7 @@
@@ -106,7 +104,7 @@ index d80dc69..83a73cb 100644
static struct clk_pll pll14 = {
.l_reg = 0x31c4,
.m_reg = 0x31c8,
-@@ -2878,6 +2958,9 @@ static struct clk_regmap *gcc_ipq806x_clks[] = {
+@@ -2878,6 +2958,9 @@ static struct clk_regmap *gcc_ipq806x_cl
[NSSTCM_CLK_SRC] = &nss_tcm_src.clkr,
[NSSTCM_CLK] = &nss_tcm_clk.clkr,
[NSS_CORE_CLK] = &nss_core_clk,
@@ -116,6 +114,3 @@ index d80dc69..83a73cb 100644
};
static const struct qcom_reset_map gcc_ipq806x_resets[] = {
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0175-ARM-dts-ipq8064-Add-necessary-DT-data-for-Krait-cpuf.patch b/target/linux/ipq806x/patches/0175-ARM-dts-ipq8064-Add-necessary-DT-data-for-Krait-cpuf.patch
index 6fea560286..3fddd61424 100644
--- a/target/linux/ipq806x/patches/0175-ARM-dts-ipq8064-Add-necessary-DT-data-for-Krait-cpuf.patch
+++ b/target/linux/ipq806x/patches/0175-ARM-dts-ipq8064-Add-necessary-DT-data-for-Krait-cpuf.patch
@@ -9,8 +9,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
arch/arm/boot/dts/qcom-ipq8064.dtsi | 45 +++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index 6be6ac9..97e4c3d 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -23,6 +23,22 @@
@@ -91,6 +89,3 @@ index 6be6ac9..97e4c3d 100644
};
saw0: regulator@2089000 {
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0176-ARM-qcom_defconfig-Enable-CPUfreq-options.patch b/target/linux/ipq806x/patches/0176-ARM-qcom_defconfig-Enable-CPUfreq-options.patch
index e5656020b7..188580a33e 100644
--- a/target/linux/ipq806x/patches/0176-ARM-qcom_defconfig-Enable-CPUfreq-options.patch
+++ b/target/linux/ipq806x/patches/0176-ARM-qcom_defconfig-Enable-CPUfreq-options.patch
@@ -11,8 +11,6 @@ Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
arch/arm/configs/qcom_defconfig | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/arch/arm/configs/qcom_defconfig b/arch/arm/configs/qcom_defconfig
-index 3d55d79..3bc72eb 100644
--- a/arch/arm/configs/qcom_defconfig
+++ b/arch/arm/configs/qcom_defconfig
@@ -31,6 +31,13 @@ CONFIG_HIGHPTE=y
@@ -39,6 +37,3 @@ index 3d55d79..3bc72eb 100644
CONFIG_MSM_IOMMU=y
CONFIG_PHY_QCOM_IPQ806X_SATA=y
CONFIG_EXT2_FS=y
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0177-dmaengine-Add-QCOM-ADM-DMA-driver.patch b/target/linux/ipq806x/patches/0177-dmaengine-Add-QCOM-ADM-DMA-driver.patch
index d7d301dede..05c67060c0 100644
--- a/target/linux/ipq806x/patches/0177-dmaengine-Add-QCOM-ADM-DMA-driver.patch
+++ b/target/linux/ipq806x/patches/0177-dmaengine-Add-QCOM-ADM-DMA-driver.patch
@@ -21,8 +21,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
3 files changed, 882 insertions(+)
create mode 100644 drivers/dma/qcom_adm.c
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index f87cef9..79155fa 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -410,4 +410,14 @@ config QCOM_BAM_DMA
@@ -40,8 +38,6 @@ index f87cef9..79155fa 100644
+ peripheral devices.
+
endif
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index 5150c82..4a4f521 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -46,3 +46,4 @@ obj-$(CONFIG_K3_DMA) += k3dma.o
@@ -49,9 +45,6 @@ index 5150c82..4a4f521 100644
obj-$(CONFIG_FSL_EDMA) += fsl-edma.o
obj-$(CONFIG_QCOM_BAM_DMA) += qcom_bam_dma.o
+obj-$(CONFIG_QCOM_ADM) += qcom_adm.o
-diff --git a/drivers/dma/qcom_adm.c b/drivers/dma/qcom_adm.c
-new file mode 100644
-index 0000000..035f606
--- /dev/null
+++ b/drivers/dma/qcom_adm.c
@@ -0,0 +1,871 @@
@@ -926,6 +919,3 @@ index 0000000..035f606
+MODULE_AUTHOR("Andy Gross <agross@codeaurora.org>");
+MODULE_DESCRIPTION("QCOM ADM DMA engine driver");
+MODULE_LICENSE("GPL v2");
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0178-dmaengine-qcom_adm-Add-device-tree-binding.patch b/target/linux/ipq806x/patches/0178-dmaengine-qcom_adm-Add-device-tree-binding.patch
index a80fcfa7f5..1c72a2f7b2 100644
--- a/target/linux/ipq806x/patches/0178-dmaengine-qcom_adm-Add-device-tree-binding.patch
+++ b/target/linux/ipq806x/patches/0178-dmaengine-qcom_adm-Add-device-tree-binding.patch
@@ -11,9 +11,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
1 file changed, 60 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dma/qcom_adm.txt
-diff --git a/Documentation/devicetree/bindings/dma/qcom_adm.txt b/Documentation/devicetree/bindings/dma/qcom_adm.txt
-new file mode 100644
-index 0000000..7f05cb5
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/qcom_adm.txt
@@ -0,0 +1,60 @@
@@ -77,6 +74,3 @@ index 0000000..7f05cb5
+ <&adm_dma 5 10>;
+ dma-names = "rx", "tx";
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0179-spi-qup-Add-DMA-capabilities.patch b/target/linux/ipq806x/patches/0179-spi-qup-Add-DMA-capabilities.patch
index c35aeb17b3..2f7d318aab 100644
--- a/target/linux/ipq806x/patches/0179-spi-qup-Add-DMA-capabilities.patch
+++ b/target/linux/ipq806x/patches/0179-spi-qup-Add-DMA-capabilities.patch
@@ -12,8 +12,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/spi/spi-qup.c | 361 ++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 340 insertions(+), 21 deletions(-)
-diff --git a/drivers/spi/spi-qup.c b/drivers/spi/spi-qup.c
-index c137226..28754ae 100644
--- a/drivers/spi/spi-qup.c
+++ b/drivers/spi/spi-qup.c
@@ -22,6 +22,8 @@
@@ -49,7 +47,7 @@ index c137226..28754ae 100644
};
-@@ -266,6 +278,221 @@ static void spi_qup_fifo_write(struct spi_qup *controller,
+@@ -266,6 +278,221 @@ static void spi_qup_fifo_write(struct sp
}
}
@@ -271,7 +269,7 @@ index c137226..28754ae 100644
static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
{
struct spi_qup *controller = dev_id;
-@@ -315,11 +542,13 @@ static irqreturn_t spi_qup_qup_irq(int irq, void *dev_id)
+@@ -315,11 +542,13 @@ static irqreturn_t spi_qup_qup_irq(int i
error = -EIO;
}
@@ -289,7 +287,7 @@ index c137226..28754ae 100644
spin_lock_irqsave(&controller->lock, flags);
controller->error = error;
-@@ -339,6 +568,8 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
+@@ -339,6 +568,8 @@ static int spi_qup_io_config(struct spi_
struct spi_qup *controller = spi_master_get_devdata(spi->master);
u32 config, iomode, mode;
int ret, n_words, w_size;
@@ -298,7 +296,7 @@ index c137226..28754ae 100644
if (spi->mode & SPI_LOOP && xfer->len > controller->in_fifo_sz) {
dev_err(controller->dev, "too big size for loopback %d > %d\n",
-@@ -367,6 +598,13 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
+@@ -367,6 +598,13 @@ static int spi_qup_io_config(struct spi_
n_words = xfer->len / w_size;
controller->w_size = w_size;
@@ -312,7 +310,7 @@ index c137226..28754ae 100644
if (n_words <= (controller->in_fifo_sz / sizeof(u32))) {
mode = QUP_IO_M_MODE_FIFO;
writel_relaxed(n_words, controller->base + QUP_MX_READ_CNT);
-@@ -374,19 +612,30 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
+@@ -374,19 +612,30 @@ static int spi_qup_io_config(struct spi_
/* must be zero for FIFO */
writel_relaxed(0, controller->base + QUP_MX_INPUT_CNT);
writel_relaxed(0, controller->base + QUP_MX_OUTPUT_CNT);
@@ -345,7 +343,7 @@ index c137226..28754ae 100644
iomode |= (mode << QUP_IO_M_OUTPUT_MODE_MASK_SHIFT);
iomode |= (mode << QUP_IO_M_INPUT_MODE_MASK_SHIFT);
-@@ -419,11 +668,20 @@ static int spi_qup_io_config(struct spi_device *spi, struct spi_transfer *xfer)
+@@ -419,11 +668,20 @@ static int spi_qup_io_config(struct spi_
config &= ~(QUP_CONFIG_NO_INPUT | QUP_CONFIG_NO_OUTPUT | QUP_CONFIG_N);
config |= xfer->bits_per_word - 1;
config |= QUP_CONFIG_SPI_MODE;
@@ -366,7 +364,7 @@ index c137226..28754ae 100644
return 0;
}
-@@ -452,26 +710,32 @@ static int spi_qup_transfer_one(struct spi_master *master,
+@@ -452,26 +710,32 @@ static int spi_qup_transfer_one(struct s
controller->tx_bytes = 0;
spin_unlock_irqrestore(&controller->lock, flags);
@@ -414,7 +412,7 @@ index c137226..28754ae 100644
spi_qup_set_state(controller, QUP_STATE_RESET);
spin_lock_irqsave(&controller->lock, flags);
controller->xfer = NULL;
-@@ -553,6 +817,7 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -553,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;
@@ -422,7 +420,7 @@ index c137226..28754ae 100644
platform_set_drvdata(pdev, master);
-@@ -612,6 +877,55 @@ static int spi_qup_probe(struct platform_device *pdev)
+@@ -612,6 +877,55 @@ static int spi_qup_probe(struct platform
writel_relaxed(SPI_ERROR_CLK_UNDER_RUN | SPI_ERROR_CLK_OVER_RUN,
base + SPI_ERROR_FLAGS_EN);
@@ -478,7 +476,7 @@ index c137226..28754ae 100644
/* if earlier version of the QUP, disable INPUT_OVERRUN */
if (controller->qup_v1)
writel_relaxed(QUP_ERROR_OUTPUT_OVER_RUN |
-@@ -730,6 +1044,11 @@ static int spi_qup_remove(struct platform_device *pdev)
+@@ -730,6 +1044,11 @@ static int spi_qup_remove(struct platfor
if (ret)
return ret;
@@ -490,6 +488,3 @@ index c137226..28754ae 100644
clk_disable_unprepare(controller->cclk);
clk_disable_unprepare(controller->iclk);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0180-ARM-dts-Add-ADM-DMA-nodes-and-SPI-linkage.patch b/target/linux/ipq806x/patches/0180-ARM-dts-Add-ADM-DMA-nodes-and-SPI-linkage.patch
index 5fed04123e..05279de594 100644
--- a/target/linux/ipq806x/patches/0180-ARM-dts-Add-ADM-DMA-nodes-and-SPI-linkage.patch
+++ b/target/linux/ipq806x/patches/0180-ARM-dts-Add-ADM-DMA-nodes-and-SPI-linkage.patch
@@ -12,8 +12,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
arch/arm/boot/dts/qcom-ipq8064.dtsi | 8 +++++---
2 files changed, 16 insertions(+), 3 deletions(-)
-diff --git a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
-index 2b2d63c..c54a3ee 100644
--- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
+++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
@@ -44,6 +44,10 @@
@@ -56,8 +54,6 @@ index 2b2d63c..c54a3ee 100644
sata-phy@1b400000 {
status = "ok";
};
-diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-index 97e4c3d..f74e923 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -421,19 +421,21 @@
@@ -85,6 +81,3 @@ index 97e4c3d..f74e923 100644
};
nand@0x1ac00000 {
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0181-mtd-nand-qcom-Align-clk-and-reset-names.patch b/target/linux/ipq806x/patches/0181-mtd-nand-qcom-Align-clk-and-reset-names.patch
index 763a2455c5..e2e313ca65 100644
--- a/target/linux/ipq806x/patches/0181-mtd-nand-qcom-Align-clk-and-reset-names.patch
+++ b/target/linux/ipq806x/patches/0181-mtd-nand-qcom-Align-clk-and-reset-names.patch
@@ -11,11 +11,9 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/mtd/nand/qcom_adm_dma.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-diff --git a/drivers/mtd/nand/qcom_adm_dma.c b/drivers/mtd/nand/qcom_adm_dma.c
-index 46d8473..542f901 100644
--- a/drivers/mtd/nand/qcom_adm_dma.c
+++ b/drivers/mtd/nand/qcom_adm_dma.c
-@@ -568,14 +568,14 @@ static int msm_dmov_init_clocks(struct platform_device *pdev)
+@@ -568,14 +568,14 @@ static int msm_dmov_init_clocks(struct p
int adm = (pdev->id >= 0) ? pdev->id : 0;
int ret;
@@ -32,7 +30,7 @@ index 46d8473..542f901 100644
if (IS_ERR(dmov_conf[adm].pclk)) {
dmov_conf[adm].pclk = NULL;
/* pclk not present on all SoCs, don't bail on failure */
-@@ -690,7 +690,7 @@ static int msm_dmov_probe(struct platform_device *pdev)
+@@ -690,7 +690,7 @@ static int msm_dmov_probe(struct platfor
}
/* get resets */
@@ -41,6 +39,3 @@ index 46d8473..542f901 100644
if (IS_ERR(dmov_conf[adm].adm_reset)) {
dev_err(&pdev->dev, "failed to get adm reset\n");
ret = PTR_ERR(dmov_conf[adm].adm_reset);
---
-1.7.10.4
-
diff --git a/target/linux/ipq806x/patches/0182-qcom-Kconfig-Make-drivers-mutually-exclusive.patch b/target/linux/ipq806x/patches/0182-qcom-Kconfig-Make-drivers-mutually-exclusive.patch
index 87e2fad612..f4b551bac6 100644
--- a/target/linux/ipq806x/patches/0182-qcom-Kconfig-Make-drivers-mutually-exclusive.patch
+++ b/target/linux/ipq806x/patches/0182-qcom-Kconfig-Make-drivers-mutually-exclusive.patch
@@ -13,8 +13,6 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
drivers/mtd/nand/Kconfig | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index 79155fa..ed7a5f6 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -412,7 +412,7 @@ config QCOM_BAM_DMA
@@ -26,8 +24,6 @@ index 79155fa..ed7a5f6 100644
select DMA_ENGINE
select DMA_VIRTUAL_CHANNELS
---help---
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index 6e3842f..4a84264 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -511,15 +511,15 @@ config MTD_NAND_XWAY
@@ -49,6 +45,3 @@ index 6e3842f..4a84264 100644
select CRC16
select BITREVERSE
select MTD_NAND_IDS
---
-1.7.10.4
-
diff --git a/target/linux/kirkwood/Makefile b/target/linux/kirkwood/Makefile
index 911c5bbbfe..33c33a4d6f 100644
--- a/target/linux/kirkwood/Makefile
+++ b/target/linux/kirkwood/Makefile
@@ -13,7 +13,7 @@ FEATURES:=targz usb jffs2_nand nand ubifs
CPU_TYPE:=xscale
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/mvebu/Makefile b/target/linux/mvebu/Makefile
index ac3fc7c2ab..b899d63007 100644
--- a/target/linux/mvebu/Makefile
+++ b/target/linux/mvebu/Makefile
@@ -14,7 +14,7 @@ CPU_TYPE:=cortex-a9
CPU_SUBTYPE:=vfpv3
MAINTAINER:=Luka Perkov <luka@openwrt.org>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/mxs/Makefile b/target/linux/mxs/Makefile
index c6cd0ce46a..7a5730b761 100644
--- a/target/linux/mxs/Makefile
+++ b/target/linux/mxs/Makefile
@@ -13,7 +13,7 @@ FEATURES:=ext4 rtc usb gpio
CPU_TYPE:=arm926ej-s
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
KERNELNAME:="zImage dtbs"
define Target/Description
diff --git a/target/linux/octeon/Makefile b/target/linux/octeon/Makefile
index 7b9163cdc4..507938fe7b 100644
--- a/target/linux/octeon/Makefile
+++ b/target/linux/octeon/Makefile
@@ -14,8 +14,7 @@ CPU_TYPE:=octeon
CPU_CFLAGS_octeon:=-march=octeon -mabi=64
MAINTAINER:=John Crispin <blogic@openwrt.org>
-LINUX_VERSION:=3.10.49
-LINUX_VERSION:=3.14.14
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch b/target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch
index 0670f616cd..1771fba517 100644
--- a/target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch
+++ b/target/linux/octeon/patches-3.14/110-er200-ethernet_probe_order.patch
@@ -1,8 +1,6 @@
-Index: linux-3.14.14/drivers/staging/octeon/ethernet.c
-===================================================================
---- linux-3.14.14.orig/drivers/staging/octeon/ethernet.c 2014-08-07 17:03:44.000000000 +0200
-+++ linux-3.14.14/drivers/staging/octeon/ethernet.c 2014-08-07 17:07:31.768932379 +0200
-@@ -624,6 +624,7 @@
+--- a/drivers/staging/octeon/ethernet.c
++++ b/drivers/staging/octeon/ethernet.c
+@@ -624,6 +624,7 @@ static int cvm_oct_probe(struct platform
int interface;
int fau = FAU_NUM_PACKET_BUFFERS_TO_FREE;
int qos;
@@ -10,7 +8,7 @@ Index: linux-3.14.14/drivers/staging/octeon/ethernet.c
struct device_node *pip;
octeon_mdiobus_force_mod_depencency();
-@@ -707,13 +708,19 @@
+@@ -707,13 +708,19 @@ static int cvm_oct_probe(struct platform
}
num_interfaces = cvmx_helper_get_number_of_interfaces();
diff --git a/target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch b/target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch
index 2137b4733e..7cffaf621f 100644
--- a/target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch
+++ b/target/linux/octeon/patches-3.14/120-octeon_platform_usb.patch
@@ -1,8 +1,6 @@
-Index: linux-3.10.49/arch/mips/cavium-octeon/octeon-platform.c
-===================================================================
---- linux-3.10.49.orig/arch/mips/cavium-octeon/octeon-platform.c 2014-07-26 20:39:48.109010152 +0100
-+++ linux-3.10.49/arch/mips/cavium-octeon/octeon-platform.c 2014-07-26 20:41:10.005008627 +0100
-@@ -82,7 +82,7 @@
+--- a/arch/mips/cavium-octeon/octeon-platform.c
++++ b/arch/mips/cavium-octeon/octeon-platform.c
+@@ -82,7 +82,7 @@ static int __init octeon_ehci_device_ini
};
/* Only Octeon2 has ehci/ohci */
@@ -11,7 +9,7 @@ Index: linux-3.10.49/arch/mips/cavium-octeon/octeon-platform.c
return 0;
if (octeon_is_simulation() || usb_disabled())
-@@ -131,7 +131,7 @@
+@@ -131,7 +131,7 @@ static int __init octeon_ohci_device_ini
};
/* Only Octeon2 has ehci/ohci */
diff --git a/target/linux/ramips/Makefile b/target/linux/ramips/Makefile
index 1b788c9545..008e5aa067 100644
--- a/target/linux/ramips/Makefile
+++ b/target/linux/ramips/Makefile
@@ -13,7 +13,7 @@ SUBTARGETS:=rt305x mt7620a mt7620n mt7621 rt3883 rt288x
FEATURES:=squashfs gpio
MAINTAINER:=John Crispin <blogic@openwrt.org>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += \
diff --git a/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch b/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch
index 51094d59b2..5bf90c6fee 100644
--- a/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch
+++ b/target/linux/ramips/patches-3.14/0001-MIPS-ralink-add-verbose-pmu-info.patch
@@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index a3ad56c..5846817 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -20,6 +20,22 @@
@@ -37,7 +35,7 @@ index a3ad56c..5846817 100644
/* does the board have sdram or ddram */
static int dram_type;
-@@ -339,6 +355,8 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -339,6 +355,8 @@ void prom_soc_init(struct ralink_soc_inf
u32 n1;
u32 rev;
u32 cfg0;
@@ -46,7 +44,7 @@ index a3ad56c..5846817 100644
n0 = __raw_readl(sysc + SYSC_REG_CHIP_NAME0);
n1 = __raw_readl(sysc + SYSC_REG_CHIP_NAME1);
-@@ -386,4 +404,12 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -386,4 +404,12 @@ void prom_soc_init(struct ralink_soc_inf
BUG();
}
soc_info->mem_base = MT7620_DRAM_BASE;
@@ -59,6 +57,3 @@ index a3ad56c..5846817 100644
+ pr_info("Digital PMU set to %s control\n",
+ (pmu1 & DIG_SW_SEL) ? ("sw") : ("hw"));
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch b/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch
index 92155d4f3a..237ba00a5a 100644
--- a/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch
+++ b/target/linux/ramips/patches-3.14/0002-MIPS-ralink-add-a-helper-for-reading-the-ECO-version.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/include/asm/mach-ralink/mt7620.h | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 6f9b24f..7ff9290 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -105,4 +105,9 @@
@@ -22,6 +20,3 @@ index 6f9b24f..7ff9290 100644
+}
+
#endif
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch b/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch
index e254ac0cf8..66126e6889 100644
--- a/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch
+++ b/target/linux/ramips/patches-3.14/0003-MIPS-ralink-add-rt_sysc_m32-helper.patch
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/include/asm/mach-ralink/ralink_regs.h | 7 +++++++
1 file changed, 7 insertions(+)
-diff --git a/arch/mips/include/asm/mach-ralink/ralink_regs.h b/arch/mips/include/asm/mach-ralink/ralink_regs.h
-index 5a508f9..bd93014 100644
--- a/arch/mips/include/asm/mach-ralink/ralink_regs.h
+++ b/arch/mips/include/asm/mach-ralink/ralink_regs.h
-@@ -26,6 +26,13 @@ static inline u32 rt_sysc_r32(unsigned reg)
+@@ -26,6 +26,13 @@ static inline u32 rt_sysc_r32(unsigned r
return __raw_readl(rt_sysc_membase + reg);
}
@@ -26,6 +24,3 @@ index 5a508f9..bd93014 100644
static inline void rt_memc_w32(u32 val, unsigned reg)
{
__raw_writel(val, rt_memc_membase + reg);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch b/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch
index 88e0f52ef9..c0b4d6b528 100644
--- a/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch
+++ b/target/linux/ramips/patches-3.14/0004-MIPS-ralink-adds-a-bootrom-dumper-module.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 50 insertions(+)
create mode 100644 arch/mips/ralink/bootrom.c
-diff --git a/arch/mips/ralink/Makefile b/arch/mips/ralink/Makefile
-index 98ae349..584a8d9 100644
--- a/arch/mips/ralink/Makefile
+++ b/arch/mips/ralink/Makefile
@@ -17,4 +17,6 @@ obj-$(CONFIG_SOC_MT7620) += mt7620.o
@@ -24,9 +22,6 @@ index 98ae349..584a8d9 100644
+obj-$(CONFIG_DEBUG_FS) += bootrom.o
+
obj-y += dts/
-diff --git a/arch/mips/ralink/bootrom.c b/arch/mips/ralink/bootrom.c
-new file mode 100644
-index 0000000..f926f6f
--- /dev/null
+++ b/arch/mips/ralink/bootrom.c
@@ -0,0 +1,48 @@
@@ -78,6 +73,3 @@ index 0000000..f926f6f
+}
+
+postcore_initcall(bootrom_setup);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch b/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch
index 5c8414a7b6..fa9cd21b03 100644
--- a/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch
+++ b/target/linux/ramips/patches-3.14/0005-MIPS-ralink-add-illegal-access-driver.patch
@@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 89 insertions(+)
create mode 100644 arch/mips/ralink/ill_acc.c
-diff --git a/arch/mips/ralink/Makefile b/arch/mips/ralink/Makefile
-index 584a8d9..fc57c16 100644
--- a/arch/mips/ralink/Makefile
+++ b/arch/mips/ralink/Makefile
-@@ -10,6 +10,8 @@ obj-y := prom.o of.o reset.o clk.o irq.o timer.o
+@@ -10,6 +10,8 @@ obj-y := prom.o of.o reset.o clk.o irq.o
obj-$(CONFIG_CLKEVT_RT3352) += cevt-rt3352.o
@@ -25,9 +23,6 @@ index 584a8d9..fc57c16 100644
obj-$(CONFIG_SOC_RT288X) += rt288x.o
obj-$(CONFIG_SOC_RT305X) += rt305x.o
obj-$(CONFIG_SOC_RT3883) += rt3883.o
-diff --git a/arch/mips/ralink/ill_acc.c b/arch/mips/ralink/ill_acc.c
-new file mode 100644
-index 0000000..4a3f696
--- /dev/null
+++ b/arch/mips/ralink/ill_acc.c
@@ -0,0 +1,87 @@
@@ -118,6 +113,3 @@ index 0000000..4a3f696
+}
+
+arch_initcall(ill_acc_of_setup);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch b/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch
index 280f1074c4..8085e4be68 100644
--- a/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch
+++ b/target/linux/ramips/patches-3.14/0006-MIPS-ralink-add-missing-clk_set_rate-to-clk.c.patch
@@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/clk.c | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/mips/ralink/clk.c b/arch/mips/ralink/clk.c
-index 5d0983d..feb5a9b 100644
--- a/arch/mips/ralink/clk.c
+++ b/arch/mips/ralink/clk.c
-@@ -56,6 +56,12 @@ unsigned long clk_get_rate(struct clk *clk)
+@@ -56,6 +56,12 @@ unsigned long clk_get_rate(struct clk *c
}
EXPORT_SYMBOL_GPL(clk_get_rate);
@@ -27,6 +25,3 @@ index 5d0983d..feb5a9b 100644
void __init plat_time_init(void)
{
struct clk *clk;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch b/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch
index 3606acbfed..1d507101f3 100644
--- a/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch
+++ b/target/linux/ramips/patches-3.14/0007-MIPS-ralink-add-support-for-MT7620n.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 19 ++++++++++++-------
2 files changed, 14 insertions(+), 12 deletions(-)
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 7ff9290..27b2fa9 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -25,11 +25,8 @@
@@ -29,11 +27,9 @@ index 7ff9290..27b2fa9 100644
#define SYSCFG0_XTAL_FREQ_SEL BIT(6)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 5846817..4fdee17 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
-@@ -357,22 +357,27 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -357,22 +357,27 @@ void prom_soc_init(struct ralink_soc_inf
u32 cfg0;
u32 pmu0;
u32 pmu1;
@@ -68,6 +64,3 @@ index 5846817..4fdee17 100644
snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN,
"Ralink %s ver:%u eco:%u",
name,
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch b/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch
index bbbe7aa860..f69895e1e8 100644
--- a/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch
+++ b/target/linux/ramips/patches-3.14/0008-MIPS-ralink-allow-manual-memory-override.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/of.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index eccc552..1b81e8f 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -78,6 +78,17 @@ void __init device_tree_init(void)
@@ -45,6 +43,3 @@ index eccc552..1b81e8f 100644
add_memory_region(soc_info.mem_base, soc_info.mem_size * SZ_1M,
BOOT_MEM_RAM);
else
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch b/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch
index 17ba702fdd..225afd503c 100644
--- a/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch
+++ b/target/linux/ramips/patches-3.14/0009-MIPS-ralink-define-the-wmac-clock-on-mt7620.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index 4fdee17..c883973 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -336,6 +336,7 @@ void __init ralink_clk_init(void)
@@ -20,6 +18,3 @@ index 4fdee17..c883973 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch b/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch
index 551bd2a8eb..2de066be4b 100644
--- a/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch
+++ b/target/linux/ramips/patches-3.14/0010-MIPS-ralink-define-the-wmac-clock-on-rt3883.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/rt3883.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/arch/mips/ralink/rt3883.c b/arch/mips/ralink/rt3883.c
-index b474ac2..58b5b9f 100644
--- a/arch/mips/ralink/rt3883.c
+++ b/arch/mips/ralink/rt3883.c
@@ -204,6 +204,7 @@ void __init ralink_clk_init(void)
@@ -20,6 +18,3 @@ index b474ac2..58b5b9f 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch b/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch
index fd8c28a7f7..76d2f6a354 100644
--- a/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch
+++ b/target/linux/ramips/patches-3.14/0011-MIPS-ralink-add-rt2880-wmac-clock.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/rt288x.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/arch/mips/ralink/rt288x.c b/arch/mips/ralink/rt288x.c
-index f87de1a..90e8934 100644
--- a/arch/mips/ralink/rt288x.c
+++ b/arch/mips/ralink/rt288x.c
@@ -76,7 +76,7 @@ struct ralink_pinmux rt_gpio_pinmux = {
@@ -29,6 +27,3 @@ index f87de1a..90e8934 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch b/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch
index ef077e1ed0..755c89c3e0 100644
--- a/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch
+++ b/target/linux/ramips/patches-3.14/0012-MIPS-ralink-add-MT7621-support.patch
@@ -22,8 +22,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/ralink/malta-amon.c
create mode 100644 arch/mips/ralink/mt7621.c
-diff --git a/arch/mips/include/asm/gic.h b/arch/mips/include/asm/gic.h
-index b2e3e93..29fba50 100644
--- a/arch/mips/include/asm/gic.h
+++ b/arch/mips/include/asm/gic.h
@@ -19,7 +19,11 @@
@@ -38,9 +36,6 @@ index b2e3e93..29fba50 100644
#define MSK(n) ((1 << (n)) - 1)
#define REG32(addr) (*(volatile unsigned int *) (addr))
-diff --git a/arch/mips/include/asm/mach-ralink/irq.h b/arch/mips/include/asm/mach-ralink/irq.h
-new file mode 100644
-index 0000000..4321865
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/irq.h
@@ -0,0 +1,9 @@
@@ -53,9 +48,6 @@ index 0000000..4321865
+#include_next <irq.h>
+
+#endif
-diff --git a/arch/mips/include/asm/mach-ralink/mt7621.h b/arch/mips/include/asm/mach-ralink/mt7621.h
-new file mode 100644
-index 0000000..21c8dc2
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/mt7621.h
@@ -0,0 +1,39 @@
@@ -98,8 +90,6 @@ index 0000000..21c8dc2
+#define MIPS_GIC_IRQ_BASE (MIPS_CPU_IRQ_BASE + 8)
+
+#endif
-diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
-index 3b46f7c..fa925b7 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -51,6 +51,7 @@ SECTIONS
@@ -110,8 +100,6 @@ index 3b46f7c..fa925b7 100644
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index 1bfd1c1..6a04360 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -7,6 +7,11 @@ config CLKEVT_RT3352
@@ -153,8 +141,6 @@ index 1bfd1c1..6a04360 100644
endchoice
endif
-diff --git a/arch/mips/ralink/Makefile b/arch/mips/ralink/Makefile
-index fc57c16..ad18cdf 100644
--- a/arch/mips/ralink/Makefile
+++ b/arch/mips/ralink/Makefile
@@ -6,16 +6,21 @@
@@ -180,11 +166,9 @@ index fc57c16..ad18cdf 100644
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
-diff --git a/arch/mips/ralink/Platform b/arch/mips/ralink/Platform
-index 6d9c8c4..6095fcc 100644
--- a/arch/mips/ralink/Platform
+++ b/arch/mips/ralink/Platform
-@@ -27,3 +27,8 @@ cflags-$(CONFIG_SOC_RT3883) += -I$(srctree)/arch/mips/include/asm/mach-ralink/rt
+@@ -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
@@ -193,9 +177,6 @@ index 6d9c8c4..6095fcc 100644
+#
+load-$(CONFIG_SOC_MT7621) += 0xffffffff80001000
+cflags-$(CONFIG_SOC_MT7621) += -I$(srctree)/arch/mips/include/asm/mach-ralink/mt7621
-diff --git a/arch/mips/ralink/irq-gic.c b/arch/mips/ralink/irq-gic.c
-new file mode 100644
-index 0000000..0122d42
--- /dev/null
+++ b/arch/mips/ralink/irq-gic.c
@@ -0,0 +1,271 @@
@@ -470,9 +451,6 @@ index 0000000..0122d42
+{
+ of_irq_init(of_irq_ids);
+}
-diff --git a/arch/mips/ralink/malta-amon.c b/arch/mips/ralink/malta-amon.c
-new file mode 100644
-index 0000000..1e47844
--- /dev/null
+++ b/arch/mips/ralink/malta-amon.c
@@ -0,0 +1,81 @@
@@ -557,9 +535,6 @@ index 0000000..1e47844
+ smp_rmb(); /* Target will be updating flags soon */
+ pr_debug("launch: cpu%d gone!\n", cpu);
+}
-diff --git a/arch/mips/ralink/mt7621.c b/arch/mips/ralink/mt7621.c
-new file mode 100644
-index 0000000..2aac87c
--- /dev/null
+++ b/arch/mips/ralink/mt7621.c
@@ -0,0 +1,183 @@
@@ -746,6 +721,3 @@ index 0000000..2aac87c
+ if (register_cmp_smp_ops())
+ panic("failed to register_vsmp_smp_ops()");
+}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch b/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch
index 831f2a7730..daf27c168d 100644
--- a/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch
+++ b/target/linux/ramips/patches-3.14/0013-MIPS-ralink-add-MT7621-defconfig.patch
@@ -9,9 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
1 file changed, 197 insertions(+)
create mode 100644 arch/mips/configs/mt7621_defconfig
-diff --git a/arch/mips/configs/mt7621_defconfig b/arch/mips/configs/mt7621_defconfig
-new file mode 100644
-index 0000000..7719471
--- /dev/null
+++ b/arch/mips/configs/mt7621_defconfig
@@ -0,0 +1,197 @@
@@ -212,6 +209,3 @@ index 0000000..7719471
+CONFIG_CRC32_SARWATE=y
+# CONFIG_XZ_DEC_X86 is not set
+CONFIG_AVERAGE=y
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch b/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch
index 460a33c893..b6179526fa 100644
--- a/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch
+++ b/target/linux/ramips/patches-3.14/0014-MIPS-ralink-add-MT7621-dts-file.patch
@@ -12,18 +12,13 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/ralink/dts/mt7621.dtsi
create mode 100644 arch/mips/ralink/dts/mt7621_eval.dts
-diff --git a/arch/mips/ralink/dts/Makefile b/arch/mips/ralink/dts/Makefile
-index 18194fa..9742c73 100644
--- a/arch/mips/ralink/dts/Makefile
+++ b/arch/mips/ralink/dts/Makefile
-@@ -2,3 +2,4 @@ obj-$(CONFIG_DTB_RT2880_EVAL) := rt2880_eval.dtb.o
+@@ -2,3 +2,4 @@ obj-$(CONFIG_DTB_RT2880_EVAL) := rt2880_
obj-$(CONFIG_DTB_RT305X_EVAL) := rt3052_eval.dtb.o
obj-$(CONFIG_DTB_RT3883_EVAL) := rt3883_eval.dtb.o
obj-$(CONFIG_DTB_MT7620A_EVAL) := mt7620a_eval.dtb.o
+obj-$(CONFIG_DTB_MT7621_EVAL) := mt7621_eval.dtb.o
-diff --git a/arch/mips/ralink/dts/mt7621.dtsi b/arch/mips/ralink/dts/mt7621.dtsi
-new file mode 100644
-index 0000000..6db2c57
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7621.dtsi
@@ -0,0 +1,257 @@
@@ -284,9 +279,6 @@ index 0000000..6db2c57
+ reg = <0x1e110000 8000>;
+ };
+};
-diff --git a/arch/mips/ralink/dts/mt7621_eval.dts b/arch/mips/ralink/dts/mt7621_eval.dts
-new file mode 100644
-index 0000000..834f59c
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7621_eval.dts
@@ -0,0 +1,16 @@
@@ -306,6 +298,3 @@ index 0000000..834f59c
+ bootargs = "console=ttyS0,57600";
+ };
+};
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch b/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch
index a874c4aeb6..d139139322 100644
--- a/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch
+++ b/target/linux/ramips/patches-3.14/0015-MIPS-ralink-cleanup-early_printk.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/early_printk.c | 45 ++++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 15 deletions(-)
-diff --git a/arch/mips/ralink/early_printk.c b/arch/mips/ralink/early_printk.c
-index b46d041..255d695 100644
--- a/arch/mips/ralink/early_printk.c
+++ b/arch/mips/ralink/early_printk.c
@@ -12,21 +12,24 @@
@@ -79,6 +77,3 @@ index b46d041..255d695 100644
+ ;
+ }
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch b/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch
index 7b73575215..1ff4ed8668 100644
--- a/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch
+++ b/target/linux/ramips/patches-3.14/0016-MIPS-ralink-add-MT7621-pcie-driver.patch
@@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 798 insertions(+)
create mode 100644 arch/mips/pci/pci-mt7621.c
-diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
-index 137f2a6..d054bc8 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -41,6 +41,7 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
+@@ -41,6 +41,7 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
@@ -22,9 +20,6 @@ index 137f2a6..d054bc8 100644
obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
-diff --git a/arch/mips/pci/pci-mt7621.c b/arch/mips/pci/pci-mt7621.c
-new file mode 100644
-index 0000000..0b58fce
--- /dev/null
+++ b/arch/mips/pci/pci-mt7621.c
@@ -0,0 +1,797 @@
@@ -825,6 +820,3 @@ index 0000000..0b58fce
+{
+ return 0;
+}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch b/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
index fc9a70baa2..a3b4e4a70f 100644
--- a/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
+++ b/target/linux/ramips/patches-3.14/0017-MIPS-use-set_mode-to-enable-disable-the-cevt-r4k-irq.patch
@@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/kernel/cevt-r4k.c | 37 +++++++++++++++++++++++++++++++------
1 file changed, 31 insertions(+), 6 deletions(-)
-diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c
-index 50d3f5a..99585e6 100644
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
-@@ -38,12 +38,6 @@ static int mips_next_event(unsigned long delta,
+@@ -38,12 +38,6 @@ static int mips_next_event(unsigned long
#endif /* CONFIG_MIPS_MT_SMTC */
@@ -26,7 +24,7 @@ index 50d3f5a..99585e6 100644
DEFINE_PER_CPU(struct clock_event_device, mips_clockevent_device);
int cp0_timer_irq_installed;
-@@ -90,9 +84,38 @@ struct irqaction c0_compare_irqaction = {
+@@ -90,9 +84,38 @@ struct irqaction c0_compare_irqaction =
.name = "timer",
};
@@ -80,6 +78,3 @@ index 50d3f5a..99585e6 100644
return 0;
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch b/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch
index 0f61933590..5233770824 100644
--- a/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch
+++ b/target/linux/ramips/patches-3.14/0018-MIPS-ralink-workaround-DTB-memory-issue.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/of.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index 1b81e8f..885cf50 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -75,7 +75,7 @@ void __init device_tree_init(void)
@@ -24,6 +22,3 @@ index 1b81e8f..885cf50 100644
}
static int memory_dtb;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch b/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch
index cec6e8fb02..d81a5ddc39 100644
--- a/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch
+++ b/target/linux/ramips/patches-3.14/0019-MIPS-ralink-add-pseudo-pwm-led-trigger-based-on-time.patch
@@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/timer.c | 213 ++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 197 insertions(+), 16 deletions(-)
-diff --git a/arch/mips/ralink/timer.c b/arch/mips/ralink/timer.c
-index e38692a..a71a7cb 100644
--- a/arch/mips/ralink/timer.c
+++ b/arch/mips/ralink/timer.c
@@ -12,6 +12,8 @@
@@ -63,7 +61,7 @@ index e38692a..a71a7cb 100644
};
static inline void rt_timer_w32(struct rt_timer *rt, u8 reg, u32 val)
-@@ -48,18 +68,46 @@ static inline u32 rt_timer_r32(struct rt_timer *rt, u8 reg)
+@@ -48,18 +68,46 @@ static inline u32 rt_timer_r32(struct rt
static irqreturn_t rt_timer_irq(int irq, void *_rt)
{
struct rt_timer *rt = (struct rt_timer *) _rt;
@@ -114,7 +112,7 @@ index e38692a..a71a7cb 100644
if (err) {
dev_err(rt->dev, "failed to request irq\n");
} else {
-@@ -81,8 +129,6 @@ static int rt_timer_config(struct rt_timer *rt, unsigned long divisor)
+@@ -81,8 +129,6 @@ static int rt_timer_config(struct rt_tim
else
rt->timer_div = divisor;
@@ -123,7 +121,7 @@ index e38692a..a71a7cb 100644
return 0;
}
-@@ -108,11 +154,128 @@ static void rt_timer_disable(struct rt_timer *rt)
+@@ -108,11 +154,128 @@ static void rt_timer_disable(struct rt_t
rt_timer_w32(rt, TIMER_REG_TMR0CTL, t);
}
@@ -252,7 +250,7 @@ index e38692a..a71a7cb 100644
rt = devm_kzalloc(&pdev->dev, sizeof(*rt), GFP_KERNEL);
if (!rt) {
-@@ -140,12 +303,29 @@ static int rt_timer_probe(struct platform_device *pdev)
+@@ -140,12 +303,29 @@ static int rt_timer_probe(struct platfor
if (!rt->timer_freq)
return -EINVAL;
@@ -285,7 +283,7 @@ index e38692a..a71a7cb 100644
dev_info(&pdev->dev, "maximum frequency is %luHz\n", rt->timer_freq);
-@@ -156,6 +336,7 @@ static int rt_timer_remove(struct platform_device *pdev)
+@@ -156,6 +336,7 @@ static int rt_timer_remove(struct platfo
{
struct rt_timer *rt = platform_get_drvdata(pdev);
@@ -293,7 +291,7 @@ index e38692a..a71a7cb 100644
rt_timer_disable(rt);
rt_timer_free(rt);
-@@ -180,6 +361,6 @@ static struct platform_driver rt_timer_driver = {
+@@ -180,6 +361,6 @@ static struct platform_driver rt_timer_d
module_platform_driver(rt_timer_driver);
@@ -301,6 +299,3 @@ index e38692a..a71a7cb 100644
+MODULE_DESCRIPTION("Ralink RT2880 timer / pseudo pwm");
MODULE_AUTHOR("John Crispin <blogic@openwrt.org");
MODULE_LICENSE("GPL");
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch b/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch
index 52fd3211c2..018db190ee 100644
--- a/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch
+++ b/target/linux/ramips/patches-3.14/0020-MIPS-ralink-update-dts-files.patch
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/dts/rt3883.dtsi | 219 +++++++++++++++++++++++++++++++++++++
3 files changed, 510 insertions(+)
-diff --git a/arch/mips/ralink/dts/mt7620a.dtsi b/arch/mips/ralink/dts/mt7620a.dtsi
-index 08bf24f..df6cb79 100644
--- a/arch/mips/ralink/dts/mt7620a.dtsi
+++ b/arch/mips/ralink/dts/mt7620a.dtsi
@@ -29,10 +29,32 @@
@@ -179,8 +177,6 @@ index 08bf24f..df6cb79 100644
+ #reset-cells = <1>;
};
};
-diff --git a/arch/mips/ralink/dts/rt3050.dtsi b/arch/mips/ralink/dts/rt3050.dtsi
-index e3203d4..49622d7 100644
--- a/arch/mips/ralink/dts/rt3050.dtsi
+++ b/arch/mips/ralink/dts/rt3050.dtsi
@@ -9,6 +9,10 @@
@@ -382,8 +378,6 @@ index e3203d4..49622d7 100644
status = "disabled";
};
};
-diff --git a/arch/mips/ralink/dts/rt3883.dtsi b/arch/mips/ralink/dts/rt3883.dtsi
-index 3b131dd..4d092b1 100644
--- a/arch/mips/ralink/dts/rt3883.dtsi
+++ b/arch/mips/ralink/dts/rt3883.dtsi
@@ -29,10 +29,32 @@
@@ -633,6 +627,3 @@ index 3b131dd..4d092b1 100644
+ };
+ };
};
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch b/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch
index d60d651fb8..0e567cb2f0 100644
--- a/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch
+++ b/target/linux/ramips/patches-3.14/0021-MIPS-ralink-add-cpu-frequency-scaling.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/cevt-rt3352.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
-diff --git a/arch/mips/ralink/cevt-rt3352.c b/arch/mips/ralink/cevt-rt3352.c
-index 24bf057..4174b40 100644
--- a/arch/mips/ralink/cevt-rt3352.c
+++ b/arch/mips/ralink/cevt-rt3352.c
@@ -29,6 +29,10 @@
@@ -35,7 +33,7 @@ index 24bf057..4174b40 100644
static void systick_set_clock_mode(enum clock_event_mode mode,
struct clock_event_device *evt);
-@@ -87,6 +93,21 @@ static struct irqaction systick_irqaction = {
+@@ -87,6 +93,21 @@ static struct irqaction systick_irqactio
.dev_id = &systick.dev,
};
@@ -57,7 +55,7 @@ index 24bf057..4174b40 100644
static void systick_set_clock_mode(enum clock_event_mode mode,
struct clock_event_device *evt)
{
-@@ -101,9 +122,13 @@ static void systick_set_clock_mode(enum clock_event_mode mode,
+@@ -101,9 +122,13 @@ static void systick_set_clock_mode(enum
sdev->irq_requested = 1;
iowrite32(CFG_EXT_STK_EN | CFG_CNT_EN,
systick.membase + SYSTICK_CONFIG);
@@ -71,7 +69,7 @@ index 24bf057..4174b40 100644
if (sdev->irq_requested)
free_irq(systick.dev.irq, &systick_irqaction);
sdev->irq_requested = 0;
-@@ -116,12 +141,23 @@ static void systick_set_clock_mode(enum clock_event_mode mode,
+@@ -116,12 +141,23 @@ static void systick_set_clock_mode(enum
}
}
@@ -95,6 +93,3 @@ index 24bf057..4174b40 100644
systick_irqaction.name = np->name;
systick.dev.name = np->name;
clockevents_calc_mult_shift(&systick.dev, SYSTICK_FREQ, 60);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch b/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch
index 8ce47a9e1a..1175beab03 100644
--- a/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch
+++ b/target/linux/ramips/patches-3.14/0022-MIPS-ralink-copy-the-commandline-from-the-devicetree.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/of.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index 885cf50..405b79c 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -99,6 +99,8 @@ void __init plat_mem_setup(void)
@@ -21,6 +19,3 @@ index 885cf50..405b79c 100644
of_scan_flat_dt(early_init_dt_find_memory, NULL);
if (memory_dtb)
of_scan_flat_dt(early_init_dt_scan_memory, NULL);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch b/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch
index c6bf547bc1..f3dead3859 100644
--- a/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch
+++ b/target/linux/ramips/patches-3.14/0023-MIPS-ralink-mt7620-fix-usb-issue-during-frequency-sc.patch
@@ -15,8 +15,6 @@ Subject: [PATCH 23/57] MIPS: ralink: mt7620: fix usb issue during frequency
arch/mips/ralink/mt7620.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index c883973..d68b8ff 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -36,6 +36,12 @@
@@ -52,6 +50,3 @@ index c883973..d68b8ff 100644
}
void __init ralink_of_remap(void)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch b/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch
index b1814f4860..415f2c1bdf 100644
--- a/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch
+++ b/target/linux/ramips/patches-3.14/0024-MIPS-ralink-add-mt7628an-devicetree-files.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/ralink/dts/mt7628an.dtsi
create mode 100644 arch/mips/ralink/dts/mt7628an_eval.dts
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index 6a04360..9174dbc 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -75,6 +75,10 @@ choice
@@ -28,18 +26,13 @@ index 6a04360..9174dbc 100644
config DTB_MT7621_EVAL
bool "MT7621 eval kit"
depends on SOC_MT7621
-diff --git a/arch/mips/ralink/dts/Makefile b/arch/mips/ralink/dts/Makefile
-index 9742c73..9f4e1c7 100644
--- a/arch/mips/ralink/dts/Makefile
+++ b/arch/mips/ralink/dts/Makefile
-@@ -3,3 +3,4 @@ obj-$(CONFIG_DTB_RT305X_EVAL) := rt3052_eval.dtb.o
+@@ -3,3 +3,4 @@ obj-$(CONFIG_DTB_RT305X_EVAL) := rt3052_
obj-$(CONFIG_DTB_RT3883_EVAL) := rt3883_eval.dtb.o
obj-$(CONFIG_DTB_MT7620A_EVAL) := mt7620a_eval.dtb.o
obj-$(CONFIG_DTB_MT7621_EVAL) := mt7621_eval.dtb.o
+obj-$(CONFIG_DTB_MT7628AN_EVAL) := mt7628an_eval.dtb.o
-diff --git a/arch/mips/ralink/dts/mt7628an.dtsi b/arch/mips/ralink/dts/mt7628an.dtsi
-new file mode 100644
-index 0000000..fd17d0a
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7628an.dtsi
@@ -0,0 +1,184 @@
@@ -227,9 +220,6 @@ index 0000000..fd17d0a
+ };
+
+};
-diff --git a/arch/mips/ralink/dts/mt7628an_eval.dts b/arch/mips/ralink/dts/mt7628an_eval.dts
-new file mode 100644
-index 0000000..132c29e
--- /dev/null
+++ b/arch/mips/ralink/dts/mt7628an_eval.dts
@@ -0,0 +1,54 @@
@@ -287,6 +277,3 @@ index 0000000..132c29e
+ };
+ };
+};
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch b/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch
index 3a114d0699..f21ca3c7de 100644
--- a/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch
+++ b/target/linux/ramips/patches-3.14/0025-MIPS-ralink-allow-loading-irq-registers-from-the-dev.patch
@@ -9,8 +9,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/irq.c | 33 +++++++++++++++++++++++----------
1 file changed, 23 insertions(+), 10 deletions(-)
-diff --git a/arch/mips/ralink/irq.c b/arch/mips/ralink/irq.c
-index 781b3d1..82c3146 100644
--- a/arch/mips/ralink/irq.c
+++ b/arch/mips/ralink/irq.c
@@ -20,14 +20,6 @@
@@ -65,7 +63,7 @@ index 781b3d1..82c3146 100644
}
static void ralink_intc_irq_unmask(struct irq_data *d)
-@@ -134,6 +144,9 @@ static int __init intc_of_init(struct device_node *node,
+@@ -134,6 +144,9 @@ static int __init intc_of_init(struct de
struct irq_domain *domain;
int irq;
@@ -75,6 +73,3 @@ index 781b3d1..82c3146 100644
irq = irq_of_parse_and_map(node, 0);
if (!irq)
panic("Failed to get INTC IRQ");
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch b/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch
index f5b2610e67..6a540b737e 100644
--- a/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch
+++ b/target/linux/ramips/patches-3.14/0026-MIPS-ralink-add-mt7628an-support.patch
@@ -10,8 +10,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/ralink/mt7620.c | 266 +++++++++++++++++++++++-----
3 files changed, 232 insertions(+), 47 deletions(-)
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index 27b2fa9..c8590df 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -13,6 +13,13 @@
@@ -46,8 +44,6 @@ index 27b2fa9..c8590df 100644
#define MT7620_DRAM_BASE 0x0
#define MT7620_SDRAM_SIZE_MIN 2
#define MT7620_SDRAM_SIZE_MAX 64
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index 9174dbc..f93835f 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -35,7 +35,7 @@ choice
@@ -59,8 +55,6 @@ index 9174dbc..f93835f 100644
select USB_ARCH_HAS_OHCI
select USB_ARCH_HAS_EHCI
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index d68b8ff..e590ccf 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -42,6 +42,8 @@
@@ -321,7 +315,7 @@ index d68b8ff..e590ccf 100644
void prom_soc_init(struct ralink_soc_info *soc_info)
{
void __iomem *sysc = (void __iomem *) KSEG1ADDR(MT7620_SYSC_BASE);
-@@ -384,18 +563,25 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -384,18 +563,25 @@ void prom_soc_init(struct ralink_soc_inf
rev = __raw_readl(sysc + SYSC_REG_CHIP_REV);
bga = (rev >> CHIP_REV_PKG_SHIFT) & CHIP_REV_PKG_MASK;
@@ -357,7 +351,7 @@ index d68b8ff..e590ccf 100644
}
snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN,
-@@ -407,28 +593,11 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -407,28 +593,11 @@ void prom_soc_init(struct ralink_soc_inf
cfg0 = __raw_readl(sysc + SYSC_REG_SYSTEM_CONFIG0);
dram_type = (cfg0 >> SYSCFG0_DRAM_TYPE_SHIFT) & SYSCFG0_DRAM_TYPE_MASK;
@@ -390,7 +384,7 @@ index d68b8ff..e590ccf 100644
pmu0 = __raw_readl(sysc + PMU0_CFG);
pmu1 = __raw_readl(sysc + PMU1_CFG);
-@@ -437,4 +606,9 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -437,4 +606,9 @@ void prom_soc_init(struct ralink_soc_inf
(pmu0 & PMU_SW_SET) ? ("sw") : ("hw"));
pr_info("Digital PMU set to %s control\n",
(pmu1 & DIG_SW_SEL) ? ("sw") : ("hw"));
@@ -400,6 +394,3 @@ index d68b8ff..e590ccf 100644
+ else
+ rt2880_pinmux_data = mt7620a_pinmux_data;
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch b/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch
index 1d95f9c387..741bcd3630 100644
--- a/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch
+++ b/target/linux/ramips/patches-3.14/0027-serial-ralink-adds-mt7620-serial.patch
@@ -10,11 +10,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/8250/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
-index 2332991..7fb6873 100644
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
-@@ -297,7 +297,7 @@ config SERIAL_8250_EM
+@@ -301,7 +301,7 @@ config SERIAL_8250_EM
config SERIAL_8250_RT288X
bool "Ralink RT288x/RT305x/RT3662/RT3883 serial port support"
@@ -23,6 +21,3 @@ index 2332991..7fb6873 100644
help
If you have a Ralink RT288x/RT305x SoC based board and want to use the
serial port, say Y to this option. The driver can handle up to 2 serial
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch b/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
index 072380ce01..1015dcdeb0 100644
--- a/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
+++ b/target/linux/ramips/patches-3.14/0028-serial-ralink-the-core-has-a-size-of-0x100-and-not-0.patch
@@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/8250/8250_core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c
-index 69932b7..606cbc6 100644
--- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c
-@@ -2517,7 +2517,7 @@ serial8250_pm(struct uart_port *port, unsigned int state,
+@@ -2517,7 +2517,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)
@@ -22,6 +20,3 @@ index 69932b7..606cbc6 100644
if (is_omap1_8250(pt))
return 0x16 << pt->port.regshift;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch b/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch
index baae397bf2..ef29697e20 100644
--- a/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch
+++ b/target/linux/ramips/patches-3.14/0029-serial-of-allow-au1x00-and-rt288x-to-load-from-OF.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/of_serial.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/drivers/tty/serial/of_serial.c b/drivers/tty/serial/of_serial.c
-index 9924660..42853b4 100644
--- a/drivers/tty/serial/of_serial.c
+++ b/drivers/tty/serial/of_serial.c
-@@ -102,7 +102,10 @@ static int of_platform_serial_setup(struct platform_device *ofdev,
+@@ -102,7 +102,10 @@ static int of_platform_serial_setup(stru
port->fifosize = prop;
port->irq = irq_of_parse_and_map(np, 0);
@@ -27,6 +25,3 @@ index 9924660..42853b4 100644
if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
switch (prop) {
case 1:
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch b/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch
index 9e006b5821..56fc3d7227 100644
--- a/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch
+++ b/target/linux/ramips/patches-3.14/0030-pinctrl-ralink-add-pinctrl-driver.patch
@@ -22,8 +22,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/include/asm/mach-ralink/pinmux.h
create mode 100644 drivers/pinctrl/pinctrl-rt2880.c
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 95fa1f1..4ac98ca 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -435,6 +435,8 @@ config RALINK
@@ -35,8 +33,6 @@ index 95fa1f1..4ac98ca 100644
config SGI_IP22
bool "SGI IP22 (Indy/Indigo2)"
-diff --git a/arch/mips/include/asm/mach-ralink/mt7620.h b/arch/mips/include/asm/mach-ralink/mt7620.h
-index c8590df..1976fb8 100644
--- a/arch/mips/include/asm/mach-ralink/mt7620.h
+++ b/arch/mips/include/asm/mach-ralink/mt7620.h
@@ -90,7 +90,6 @@ enum mt762x_soc_type {
@@ -94,9 +90,6 @@ index c8590df..1976fb8 100644
static inline int mt7620_get_eco(void)
{
-diff --git a/arch/mips/include/asm/mach-ralink/pinmux.h b/arch/mips/include/asm/mach-ralink/pinmux.h
-new file mode 100644
-index 0000000..324fa40
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/pinmux.h
@@ -0,0 +1,53 @@
@@ -153,8 +146,6 @@ index 0000000..324fa40
+extern struct rt2880_pmx_group *rt2880_pinmux_data;
+
+#endif
-diff --git a/arch/mips/include/asm/mach-ralink/rt305x.h b/arch/mips/include/asm/mach-ralink/rt305x.h
-index 069bf37..96f731b 100644
--- a/arch/mips/include/asm/mach-ralink/rt305x.h
+++ b/arch/mips/include/asm/mach-ralink/rt305x.h
@@ -125,24 +125,29 @@ static inline int soc_is_rt5350(void)
@@ -202,8 +193,6 @@ index 069bf37..96f731b 100644
#define RT3352_SYSC_REG_SYSCFG0 0x010
#define RT3352_SYSC_REG_SYSCFG1 0x014
-diff --git a/arch/mips/include/asm/mach-ralink/rt3883.h b/arch/mips/include/asm/mach-ralink/rt3883.h
-index 058382f..0fbe6f9 100644
--- a/arch/mips/include/asm/mach-ralink/rt3883.h
+++ b/arch/mips/include/asm/mach-ralink/rt3883.h
@@ -112,8 +112,6 @@
@@ -236,8 +225,6 @@ index 058382f..0fbe6f9 100644
#define RT3883_GPIO_MODE_PCI_SHIFT 11
#define RT3883_GPIO_MODE_PCI_MASK 0x7
#define RT3883_GPIO_MODE_PCI (RT3883_GPIO_MODE_PCI_MASK << RT3883_GPIO_MODE_PCI_SHIFT)
-diff --git a/arch/mips/ralink/common.h b/arch/mips/ralink/common.h
-index 42dfd61..8e7d8e6 100644
--- a/arch/mips/ralink/common.h
+++ b/arch/mips/ralink/common.h
@@ -11,25 +11,6 @@
@@ -266,8 +253,6 @@ index 42dfd61..8e7d8e6 100644
struct ralink_soc_info {
unsigned char sys_type[RAMIPS_SYS_TYPE_LEN];
unsigned char *compatible;
-diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
-index e590ccf..818a7db 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -17,6 +17,7 @@
@@ -446,8 +431,6 @@ index e590ccf..818a7db 100644
};
static struct rt2880_pmx_func pwm1_grp_mt7628[] = {
-diff --git a/arch/mips/ralink/rt288x.c b/arch/mips/ralink/rt288x.c
-index 90e8934..2bfc660 100644
--- a/arch/mips/ralink/rt288x.c
+++ b/arch/mips/ralink/rt288x.c
@@ -17,46 +17,27 @@
@@ -527,15 +510,13 @@ index 90e8934..2bfc660 100644
void __init ralink_clk_init(void)
{
unsigned long cpu_rate, wmac_rate = 40000000;
-@@ -141,4 +117,6 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -141,4 +117,6 @@ void prom_soc_init(struct ralink_soc_inf
soc_info->mem_base = RT2880_SDRAM_BASE;
soc_info->mem_size_min = RT2880_MEM_SIZE_MIN;
soc_info->mem_size_max = RT2880_MEM_SIZE_MAX;
+
+ rt2880_pinmux_data = rt2880_pinmux_data_act;
}
-diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
-index bb82a82..356d6a0 100644
--- a/arch/mips/ralink/rt305x.c
+++ b/arch/mips/ralink/rt305x.c
@@ -17,90 +17,76 @@
@@ -622,6 +603,21 @@ index bb82a82..356d6a0 100644
+ GRP("rgmii", rgmii_func, 1, RT305X_GPIO_MODE_RGMII),
+ GRP("sdram", sdram_func, 1, RT305X_GPIO_MODE_SDRAM),
+ { 0 }
++};
++
++static struct rt2880_pmx_group rt3352_pinmux_data[] = {
++ GRP("i2c", i2c_func, 1, RT305X_GPIO_MODE_I2C),
++ GRP("spi", spi_func, 1, RT305X_GPIO_MODE_SPI),
++ GRP("uartf", uartf_func, RT305X_GPIO_MODE_UART0_MASK,
++ RT305X_GPIO_MODE_UART0_SHIFT),
++ GRP("uartlite", uartlite_func, 1, RT305X_GPIO_MODE_UART1),
++ GRP("jtag", jtag_func, 1, RT305X_GPIO_MODE_JTAG),
++ GRP("mdio", mdio_func, 1, RT305X_GPIO_MODE_MDIO),
++ GRP("rgmii", rt3352_rgmii_func, 1, RT305X_GPIO_MODE_RGMII),
++ GRP("lna", rt3352_lna_func, 1, RT3352_GPIO_MODE_LNA),
++ GRP("pa", rt3352_pa_func, 1, RT3352_GPIO_MODE_PA),
++ GRP("led", rt3352_led_func, 1, RT5350_GPIO_MODE_PHY_LED),
++ { 0 }
};
-static struct ralink_pinmux_grp uart_mux[] = {
@@ -664,21 +660,6 @@ index bb82a82..356d6a0 100644
- .name = "gpio",
- .mask = RT305X_GPIO_MODE_GPIO,
- }, {0}
-+static struct rt2880_pmx_group rt3352_pinmux_data[] = {
-+ GRP("i2c", i2c_func, 1, RT305X_GPIO_MODE_I2C),
-+ GRP("spi", spi_func, 1, RT305X_GPIO_MODE_SPI),
-+ GRP("uartf", uartf_func, RT305X_GPIO_MODE_UART0_MASK,
-+ RT305X_GPIO_MODE_UART0_SHIFT),
-+ GRP("uartlite", uartlite_func, 1, RT305X_GPIO_MODE_UART1),
-+ GRP("jtag", jtag_func, 1, RT305X_GPIO_MODE_JTAG),
-+ GRP("mdio", mdio_func, 1, RT305X_GPIO_MODE_MDIO),
-+ GRP("rgmii", rt3352_rgmii_func, 1, RT305X_GPIO_MODE_RGMII),
-+ GRP("lna", rt3352_lna_func, 1, RT3352_GPIO_MODE_LNA),
-+ GRP("pa", rt3352_pa_func, 1, RT3352_GPIO_MODE_PA),
-+ GRP("led", rt3352_led_func, 1, RT5350_GPIO_MODE_PHY_LED),
-+ { 0 }
-+};
-+
+static struct rt2880_pmx_group rt5350_pinmux_data[] = {
+ GRP("i2c", i2c_func, 1, RT305X_GPIO_MODE_I2C),
+ GRP("spi", spi_func, 1, RT305X_GPIO_MODE_SPI),
@@ -707,7 +688,7 @@ index bb82a82..356d6a0 100644
static unsigned long rt5350_get_mem_size(void)
{
void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT305X_SYSC_BASE);
-@@ -290,11 +268,14 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -290,11 +268,14 @@ void prom_soc_init(struct ralink_soc_inf
soc_info->mem_base = RT305X_SDRAM_BASE;
if (soc_is_rt5350()) {
soc_info->mem_size = rt5350_get_mem_size();
@@ -722,8 +703,6 @@ index bb82a82..356d6a0 100644
+ rt2880_pinmux_data = rt3352_pinmux_data;
}
}
-diff --git a/arch/mips/ralink/rt3883.c b/arch/mips/ralink/rt3883.c
-index 58b5b9f..86a535c 100644
--- a/arch/mips/ralink/rt3883.c
+++ b/arch/mips/ralink/rt3883.c
@@ -17,132 +17,50 @@
@@ -849,7 +828,9 @@ index 58b5b9f..86a535c 100644
+ FUNC("pci-host1", 2, 40, 32),
+ FUNC("pci-fnc", 3, 40, 32)
};
--
++static struct rt2880_pmx_func ge1_func[] = { FUNC("ge1", 0, 72, 12) };
++static struct rt2880_pmx_func ge2_func[] = { FUNC("ge1", 0, 84, 12) };
+
-static struct ralink_pinmux_grp pci_mux[] = {
- {
- .name = "pci-dev",
@@ -877,9 +858,6 @@ index 58b5b9f..86a535c 100644
- .gpio_first = RT3883_GPIO_PCI_AD0,
- .gpio_last = RT3883_GPIO_PCI_AD31,
- }, {0}
-+static struct rt2880_pmx_func ge1_func[] = { FUNC("ge1", 0, 72, 12) };
-+static struct rt2880_pmx_func ge2_func[] = { FUNC("ge1", 0, 84, 12) };
-+
+static struct rt2880_pmx_group rt3883_pinmux_data[] = {
+ GRP("i2c", i2c_func, 1, RT3883_GPIO_MODE_I2C),
+ GRP("spi", spi_func, 1, RT3883_GPIO_MODE_SPI),
@@ -916,15 +894,13 @@ index 58b5b9f..86a535c 100644
void __init ralink_clk_init(void)
{
unsigned long cpu_rate, sys_rate;
-@@ -244,4 +151,6 @@ void prom_soc_init(struct ralink_soc_info *soc_info)
+@@ -244,4 +151,6 @@ void prom_soc_init(struct ralink_soc_inf
soc_info->mem_base = RT3883_SDRAM_BASE;
soc_info->mem_size_min = RT3883_MEM_SIZE_MIN;
soc_info->mem_size_max = RT3883_MEM_SIZE_MAX;
+
+ rt2880_pinmux_data = rt3883_pinmux_data;
}
-diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
-index 1e4e693..1ff1491 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -198,6 +198,11 @@ config PINCTRL_LANTIQ
@@ -939,11 +915,9 @@ index 1e4e693..1ff1491 100644
config PINCTRL_FALCON
bool
depends on SOC_FALCON
-diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile
-index 4b83588..3160836 100644
--- a/drivers/pinctrl/Makefile
+++ b/drivers/pinctrl/Makefile
-@@ -45,6 +45,7 @@ obj-$(CONFIG_PINCTRL_DB8500) += pinctrl-nomadik-db8500.o
+@@ -45,6 +45,7 @@ obj-$(CONFIG_PINCTRL_DB8500) += pinctrl-
obj-$(CONFIG_PINCTRL_DB8540) += pinctrl-nomadik-db8540.o
obj-$(CONFIG_PINCTRL_PALMAS) += pinctrl-palmas.o
obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o
@@ -951,9 +925,6 @@ index 4b83588..3160836 100644
obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o
obj-$(CONFIG_PINCTRL_SIRF) += sirf/
obj-$(CONFIG_PINCTRL_SUNXI) += pinctrl-sunxi.o
-diff --git a/drivers/pinctrl/pinctrl-rt2880.c b/drivers/pinctrl/pinctrl-rt2880.c
-new file mode 100644
-index 0000000..378ed52
--- /dev/null
+++ b/drivers/pinctrl/pinctrl-rt2880.c
@@ -0,0 +1,467 @@
@@ -1424,6 +1395,3 @@ index 0000000..378ed52
+}
+
+core_initcall_sync(rt2880_pinmux_init);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch b/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch
index 3af4da6e12..18c5730939 100644
--- a/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch
+++ b/target/linux/ramips/patches-3.14/0031-PCI-MIPS-adds-rt2880-pci-support.patch
@@ -13,11 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 283 insertions(+)
create mode 100644 arch/mips/pci/pci-rt2880.c
-diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
-index d054bc8..6a0f453 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
+@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
obj-$(CONFIG_SOC_MT7621) += pci-mt7621.o
@@ -25,9 +23,6 @@ index d054bc8..6a0f453 100644
obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
-diff --git a/arch/mips/pci/pci-rt2880.c b/arch/mips/pci/pci-rt2880.c
-new file mode 100644
-index 0000000..e2c4730
--- /dev/null
+++ b/arch/mips/pci/pci-rt2880.c
@@ -0,0 +1,281 @@
@@ -312,8 +307,6 @@ index 0000000..e2c4730
+}
+
+arch_initcall(pcibios_init);
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index f93835f..eb2b2cd 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -21,6 +21,7 @@ choice
@@ -324,6 +317,3 @@ index f93835f..eb2b2cd 100644
config SOC_RT305X
bool "RT305x"
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch b/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
index 48dae703cb..d1dec60ba7 100644
--- a/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
+++ b/target/linux/ramips/patches-3.14/0032-PCI-MIPS-adds-mt7620a-pcie-driver.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 365 insertions(+)
create mode 100644 arch/mips/pci/pci-mt7620a.c
-diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
-index 6a0f453..b140299 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
+@@ -42,6 +42,7 @@ obj-$(CONFIG_SNI_RM) += fixup-sni.o ops
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
obj-$(CONFIG_SOC_MT7621) += pci-mt7621.o
@@ -23,9 +21,6 @@ index 6a0f453..b140299 100644
obj-$(CONFIG_SOC_RT2880) += pci-rt2880.o
obj-$(CONFIG_SOC_RT3883) += pci-rt3883.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
-diff --git a/arch/mips/pci/pci-mt7620a.c b/arch/mips/pci/pci-mt7620a.c
-new file mode 100644
-index 0000000..271763c
--- /dev/null
+++ b/arch/mips/pci/pci-mt7620a.c
@@ -0,0 +1,363 @@
@@ -392,8 +387,6 @@ index 0000000..271763c
+}
+
+arch_initcall(mt7620a_pci_init);
-diff --git a/arch/mips/ralink/Kconfig b/arch/mips/ralink/Kconfig
-index eb2b2cd..ce84aad 100644
--- a/arch/mips/ralink/Kconfig
+++ b/arch/mips/ralink/Kconfig
@@ -39,6 +39,7 @@ choice
@@ -404,6 +397,3 @@ index eb2b2cd..ce84aad 100644
config SOC_MT7621
bool "MT7621"
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch b/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch
index 99dd092b53..45028f5840 100644
--- a/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch
+++ b/target/linux/ramips/patches-3.14/0033-NET-multi-phy-support.patch
@@ -9,11 +9,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
include/linux/phy.h | 1 +
2 files changed, 7 insertions(+), 3 deletions(-)
-diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
-index 76d96b9..371f0b6 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -715,7 +715,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -764,7 +764,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;
@@ -23,7 +21,7 @@ index 76d96b9..371f0b6 100644
phydev->adjust_link(phydev->attached_dev);
break;
}
-@@ -781,7 +782,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -830,7 +831,8 @@ void phy_state_machine(struct work_struc
netif_carrier_on(phydev->attached_dev);
} else {
phydev->state = PHY_NOLINK;
@@ -33,7 +31,7 @@ index 76d96b9..371f0b6 100644
}
phydev->adjust_link(phydev->attached_dev);
-@@ -793,7 +795,8 @@ void phy_state_machine(struct work_struct *work)
+@@ -842,7 +844,8 @@ void phy_state_machine(struct work_struc
case PHY_HALTED:
if (phydev->link) {
phydev->link = 0;
@@ -43,8 +41,6 @@ index 76d96b9..371f0b6 100644
phydev->adjust_link(phydev->attached_dev);
do_suspend = 1;
}
-diff --git a/include/linux/phy.h b/include/linux/phy.h
-index 565188c..91b93f7 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -308,6 +308,7 @@ struct phy_device {
@@ -55,6 +51,3 @@ index 565188c..91b93f7 100644
enum phy_state state;
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch b/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch
index 0934ac29f3..4ce36d9a31 100644
--- a/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch
+++ b/target/linux/ramips/patches-3.14/0034-NET-add-of_get_mac_address_mtd.patch
@@ -14,8 +14,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
include/linux/of_net.h | 1 +
2 files changed, 38 insertions(+)
-diff --git a/drivers/of/of_net.c b/drivers/of/of_net.c
-index a208a45..de93111 100644
--- a/drivers/of/of_net.c
+++ b/drivers/of/of_net.c
@@ -10,6 +10,7 @@
@@ -26,7 +24,7 @@ index a208a45..de93111 100644
/**
* It maps 'enum phy_interface_t' found in include/linux/phy.h
-@@ -94,3 +95,39 @@ const void *of_get_mac_address(struct device_node *np)
+@@ -94,3 +95,39 @@ const void *of_get_mac_address(struct de
return NULL;
}
EXPORT_SYMBOL(of_get_mac_address);
@@ -66,8 +64,6 @@ index a208a45..de93111 100644
+ return ret;
+}
+EXPORT_SYMBOL_GPL(of_get_mac_address_mtd);
-diff --git a/include/linux/of_net.h b/include/linux/of_net.h
-index 34597c8..cdfbc60 100644
--- a/include/linux/of_net.h
+++ b/include/linux/of_net.h
@@ -11,6 +11,7 @@
@@ -78,6 +74,3 @@ index 34597c8..cdfbc60 100644
#else
static inline int of_get_phy_mode(struct device_node *np)
{
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch b/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
index 6a7c0c2348..59e97c727b 100644
--- a/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
+++ b/target/linux/ramips/patches-3.14/0035-NET-MIPS-add-ralink-SoC-ethernet-driver.patch
@@ -50,9 +50,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/net/ethernet/ralink/soc_rt305x.c
create mode 100644 drivers/net/ethernet/ralink/soc_rt3883.c
-diff --git a/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h b/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h
-new file mode 100644
-index 0000000..2098c5c
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/rt305x_esw_platform.h
@@ -0,0 +1,27 @@
@@ -83,8 +80,6 @@ index 0000000..2098c5c
+};
+
+#endif /* _RT305X_ESW_PLATFORM_H */
-diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
-index 356d6a0..ef99d78 100644
--- a/arch/mips/ralink/rt305x.c
+++ b/arch/mips/ralink/rt305x.c
@@ -199,6 +199,7 @@ void __init ralink_clk_init(void)
@@ -95,8 +90,6 @@ index 356d6a0..ef99d78 100644
ralink_clk_add("10000b00.spi", sys_rate);
ralink_clk_add("10000100.timer", wdt_rate);
ralink_clk_add("10000120.watchdog", wdt_rate);
-diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
-index 506b024..ef6a274 100644
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
@@ -134,6 +134,7 @@ config ETHOC
@@ -107,8 +100,6 @@ index 506b024..ef6a274 100644
source "drivers/net/ethernet/realtek/Kconfig"
source "drivers/net/ethernet/renesas/Kconfig"
source "drivers/net/ethernet/rdc/Kconfig"
-diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
-index c0b8789..7c3eb7b 100644
--- a/drivers/net/ethernet/Makefile
+++ b/drivers/net/ethernet/Makefile
@@ -56,6 +56,7 @@ obj-$(CONFIG_ETHOC) += ethoc.o
@@ -119,9 +110,6 @@ index c0b8789..7c3eb7b 100644
obj-$(CONFIG_NET_VENDOR_REALTEK) += realtek/
obj-$(CONFIG_SH_ETH) += renesas/
obj-$(CONFIG_NET_VENDOR_RDC) += rdc/
-diff --git a/drivers/net/ethernet/ralink/Kconfig b/drivers/net/ethernet/ralink/Kconfig
-new file mode 100644
-index 0000000..727ed78
--- /dev/null
+++ b/drivers/net/ethernet/ralink/Kconfig
@@ -0,0 +1,32 @@
@@ -157,9 +145,6 @@ index 0000000..727ed78
+ select PHYLIB
+ select SWCONFIG
+endif
-diff --git a/drivers/net/ethernet/ralink/Makefile b/drivers/net/ethernet/ralink/Makefile
-new file mode 100644
-index 0000000..de64edf
--- /dev/null
+++ b/drivers/net/ethernet/ralink/Makefile
@@ -0,0 +1,18 @@
@@ -181,9 +166,6 @@ index 0000000..de64edf
+ralink-eth-$(CONFIG_SOC_MT7620) += soc_mt7620.o
+
+obj-$(CONFIG_NET_RALINK) += ralink-eth.o
-diff --git a/drivers/net/ethernet/ralink/esw_rt3052.c b/drivers/net/ethernet/ralink/esw_rt3052.c
-new file mode 100644
-index 0000000..b937062
--- /dev/null
+++ b/drivers/net/ethernet/ralink/esw_rt3052.c
@@ -0,0 +1,1463 @@
@@ -1650,9 +1632,6 @@ index 0000000..b937062
+{
+ platform_driver_unregister(&esw_driver);
+}
-diff --git a/drivers/net/ethernet/ralink/esw_rt3052.h b/drivers/net/ethernet/ralink/esw_rt3052.h
-new file mode 100644
-index 0000000..2ced3dff
--- /dev/null
+++ b/drivers/net/ethernet/ralink/esw_rt3052.h
@@ -0,0 +1,32 @@
@@ -1688,9 +1667,6 @@ index 0000000..2ced3dff
+
+#endif
+#endif
-diff --git a/drivers/net/ethernet/ralink/gsw_mt7620a.c b/drivers/net/ethernet/ralink/gsw_mt7620a.c
-new file mode 100644
-index 0000000..70f81e3
--- /dev/null
+++ b/drivers/net/ethernet/ralink/gsw_mt7620a.c
@@ -0,0 +1,566 @@
@@ -2260,9 +2236,6 @@ index 0000000..70f81e3
+
+ return 0;
+}
-diff --git a/drivers/net/ethernet/ralink/gsw_mt7620a.h b/drivers/net/ethernet/ralink/gsw_mt7620a.h
-new file mode 100644
-index 0000000..c87761a
--- /dev/null
+++ b/drivers/net/ethernet/ralink/gsw_mt7620a.h
@@ -0,0 +1,30 @@
@@ -2296,9 +2269,6 @@ index 0000000..c87761a
+extern int mt7620a_has_carrier(struct fe_priv *priv);
+
+#endif
-diff --git a/drivers/net/ethernet/ralink/mdio.c b/drivers/net/ethernet/ralink/mdio.c
-new file mode 100644
-index 0000000..32bf98b
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio.c
@@ -0,0 +1,244 @@
@@ -2546,9 +2516,6 @@ index 0000000..32bf98b
+ of_node_put(priv->mii_bus->dev.of_node);
+ kfree(priv->mii_bus);
+}
-diff --git a/drivers/net/ethernet/ralink/mdio.h b/drivers/net/ethernet/ralink/mdio.h
-new file mode 100644
-index 0000000..c3910a0
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio.h
@@ -0,0 +1,29 @@
@@ -2581,9 +2548,6 @@ index 0000000..c3910a0
+static inline void fe_mdio_cleanup(struct fe_priv *priv) {}
+#endif
+#endif
-diff --git a/drivers/net/ethernet/ralink/mdio_rt2880.c b/drivers/net/ethernet/ralink/mdio_rt2880.c
-new file mode 100644
-index 0000000..b99eb46
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio_rt2880.c
@@ -0,0 +1,232 @@
@@ -2819,9 +2783,6 @@ index 0000000..b99eb46
+
+ return;
+}
-diff --git a/drivers/net/ethernet/ralink/mdio_rt2880.h b/drivers/net/ethernet/ralink/mdio_rt2880.h
-new file mode 100644
-index 0000000..51e3633
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mdio_rt2880.h
@@ -0,0 +1,26 @@
@@ -2851,9 +2812,6 @@ index 0000000..51e3633
+void rt2880_port_init(struct fe_priv *priv, struct device_node *np);
+
+#endif
-diff --git a/drivers/net/ethernet/ralink/mt7530.c b/drivers/net/ethernet/ralink/mt7530.c
-new file mode 100644
-index 0000000..06b67ee
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mt7530.c
@@ -0,0 +1,579 @@
@@ -3436,9 +3394,6 @@ index 0000000..06b67ee
+
+ return 0;
+}
-diff --git a/drivers/net/ethernet/ralink/mt7530.h b/drivers/net/ethernet/ralink/mt7530.h
-new file mode 100644
-index 0000000..169b888
--- /dev/null
+++ b/drivers/net/ethernet/ralink/mt7530.h
@@ -0,0 +1,20 @@
@@ -3462,9 +3417,6 @@ index 0000000..169b888
+int mt7530_probe(struct device *dev, void __iomem *base, struct mii_bus *bus);
+
+#endif
-diff --git a/drivers/net/ethernet/ralink/ralink_soc_eth.c b/drivers/net/ethernet/ralink/ralink_soc_eth.c
-new file mode 100644
-index 0000000..f3abab7
--- /dev/null
+++ b/drivers/net/ethernet/ralink/ralink_soc_eth.c
@@ -0,0 +1,844 @@
@@ -4312,9 +4264,6 @@ index 0000000..f3abab7
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
+MODULE_DESCRIPTION("Ethernet driver for Ralink SoC");
-diff --git a/drivers/net/ethernet/ralink/ralink_soc_eth.h b/drivers/net/ethernet/ralink/ralink_soc_eth.h
-new file mode 100644
-index 0000000..ca16788
--- /dev/null
+++ b/drivers/net/ethernet/ralink/ralink_soc_eth.h
@@ -0,0 +1,384 @@
@@ -4702,9 +4651,6 @@ index 0000000..ca16788
+u32 fe_r32(unsigned reg);
+
+#endif /* FE_ETH_H */
-diff --git a/drivers/net/ethernet/ralink/soc_mt7620.c b/drivers/net/ethernet/ralink/soc_mt7620.c
-new file mode 100644
-index 0000000..79b7b85
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_mt7620.c
@@ -0,0 +1,172 @@
@@ -4880,9 +4826,6 @@ index 0000000..79b7b85
+};
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
-diff --git a/drivers/net/ethernet/ralink/soc_rt2880.c b/drivers/net/ethernet/ralink/soc_rt2880.c
-new file mode 100644
-index 0000000..e0c418b
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_rt2880.c
@@ -0,0 +1,52 @@
@@ -4938,9 +4881,6 @@ index 0000000..e0c418b
+};
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
-diff --git a/drivers/net/ethernet/ralink/soc_rt305x.c b/drivers/net/ethernet/ralink/soc_rt305x.c
-new file mode 100644
-index 0000000..482ca1f
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_rt305x.c
@@ -0,0 +1,113 @@
@@ -5057,9 +4997,6 @@ index 0000000..482ca1f
+};
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
-diff --git a/drivers/net/ethernet/ralink/soc_rt3883.c b/drivers/net/ethernet/ralink/soc_rt3883.c
-new file mode 100644
-index 0000000..c660529c
--- /dev/null
+++ b/drivers/net/ethernet/ralink/soc_rt3883.c
@@ -0,0 +1,60 @@
@@ -5123,6 +5060,3 @@ index 0000000..c660529c
+
+MODULE_DEVICE_TABLE(of, of_fe_match);
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch b/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch
index 8a0509bb8c..c145a2f59f 100644
--- a/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch
+++ b/target/linux/ramips/patches-3.14/0036-NET-add-mt7621-ethernet-driver.patch
@@ -54,10 +54,8 @@ Subject: [PATCH 36/57] NET: add mt7621 ethernet driver
create mode 100644 drivers/net/ethernet/raeth/raether_pdma.c
create mode 100644 drivers/net/ethernet/raeth/raether_qdma.c
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/board-custom.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/board-custom.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/board-custom.h
@@ -0,0 +1,153 @@
+/* Copyright Statement:
+ *
@@ -212,10 +210,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/board-custom.h
+
+#endif /* __ARCH_ARM_MACH_MT6575_CUSTOM_BOARD_H */
+
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/eureka_ep430.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/eureka_ep430.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/eureka_ep430.h
@@ -0,0 +1,204 @@
+/**************************************************************************
+ *
@@ -421,10 +417,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/eureka_ep430.h
+#endif
+
+#endif
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/generic.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/generic.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/generic.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2001 Palmchip Corporation. All rights reserved.
@@ -468,10 +462,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/generic.h
+
+
+#endif /* __ASM_SURFBOARD_GENERIC_H */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/lm.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/lm.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/lm.h
@@ -0,0 +1,32 @@
+#include <linux/version.h>
+
@@ -505,10 +497,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/lm.h
+# define lm_get_drvdata(lm) dev_get_drvdata(&(lm)->dev)
+# define lm_set_drvdata(lm,d) dev_set_drvdata(&(lm)->dev, d)
+#endif
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/prom.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/prom.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/prom.h
@@ -0,0 +1,50 @@
+/*
+ * Carsten Langgaard, carstenl@mips.com
@@ -560,10 +550,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/prom.h
+};
+
+#endif /* !(_MIPS_PROM_H) */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/rt_mmap.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/rt_mmap.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/rt_mmap.h
@@ -0,0 +1,796 @@
+/**************************************************************************
+ *
@@ -1361,10 +1349,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/rt_mmap.h
+
+#endif
+#endif
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/serial_rt2880.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/serial_rt2880.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/serial_rt2880.h
@@ -0,0 +1,443 @@
+/**************************************************************************
+ *
@@ -1809,10 +1795,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/serial_rt2880.h
+#define UART_OMAP_SYSS 0x16 /* System status register */
+
+
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/sizes.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/sizes.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/sizes.h
@@ -0,0 +1,52 @@
+/*
+ * This program is free software; you can redistribute it and/or modify
@@ -1866,10 +1850,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/sizes.h
+#endif
+
+/* END */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboard.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/surfboard.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/surfboard.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2001 Palmchip Corporation. All rights reserved.
@@ -1941,10 +1923,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboard.h
+#define GIC_CPU_INT5 5 /* Core Interrupt 5 */
+
+#endif /* !(_SURFBOARD_H) */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboardint.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/surfboardint.h 2014-08-24 15:51:48.530654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/surfboardint.h
@@ -0,0 +1,190 @@
+/*
+ * Copyright (C) 2001 Palmchip Corporation. All rights reserved.
@@ -2136,10 +2116,8 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/surfboardint.h
+
+
+#endif /* !(_SURFBOARDINT_H) */
-Index: linux-3.14.16/arch/mips/include/asm/rt2880/war.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/arch/mips/include/asm/rt2880/war.h 2014-08-24 15:51:48.534654066 +0200
+--- /dev/null
++++ b/arch/mips/include/asm/rt2880/war.h
@@ -0,0 +1,25 @@
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
@@ -2166,11 +2144,9 @@ Index: linux-3.14.16/arch/mips/include/asm/rt2880/war.h
+#define MIPS34K_MISSED_ITLB_WAR 0
+
+#endif /* __ASM_MIPS_MACH_MIPS_WAR_H */
-Index: linux-3.14.16/drivers/net/ethernet/Kconfig
-===================================================================
---- linux-3.14.16.orig/drivers/net/ethernet/Kconfig 2014-08-24 15:51:48.510654065 +0200
-+++ linux-3.14.16/drivers/net/ethernet/Kconfig 2014-08-24 15:51:48.534654066 +0200
-@@ -135,6 +135,7 @@
+--- a/drivers/net/ethernet/Kconfig
++++ b/drivers/net/ethernet/Kconfig
+@@ -135,6 +135,7 @@ source "drivers/net/ethernet/packetengin
source "drivers/net/ethernet/pasemi/Kconfig"
source "drivers/net/ethernet/qlogic/Kconfig"
source "drivers/net/ethernet/ralink/Kconfig"
@@ -2178,11 +2154,9 @@ Index: linux-3.14.16/drivers/net/ethernet/Kconfig
source "drivers/net/ethernet/realtek/Kconfig"
source "drivers/net/ethernet/renesas/Kconfig"
source "drivers/net/ethernet/rdc/Kconfig"
-Index: linux-3.14.16/drivers/net/ethernet/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/net/ethernet/Makefile 2014-08-24 15:51:48.510654065 +0200
-+++ linux-3.14.16/drivers/net/ethernet/Makefile 2014-08-24 15:51:48.534654066 +0200
-@@ -57,6 +57,7 @@
+--- a/drivers/net/ethernet/Makefile
++++ b/drivers/net/ethernet/Makefile
+@@ -57,6 +57,7 @@ obj-$(CONFIG_NET_PACKET_ENGINE) += packe
obj-$(CONFIG_NET_VENDOR_PASEMI) += pasemi/
obj-$(CONFIG_NET_VENDOR_QLOGIC) += qlogic/
obj-$(CONFIG_NET_RALINK) += ralink/
@@ -2190,10 +2164,8 @@ Index: linux-3.14.16/drivers/net/ethernet/Makefile
obj-$(CONFIG_NET_VENDOR_REALTEK) += realtek/
obj-$(CONFIG_SH_ETH) += renesas/
obj-$(CONFIG_NET_VENDOR_RDC) += rdc/
-Index: linux-3.14.16/drivers/net/ethernet/raeth/Kconfig
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/Kconfig 2014-08-24 15:51:48.534654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/Kconfig
@@ -0,0 +1,344 @@
+
+config RA_NAT_NONE
@@ -2539,10 +2511,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/Kconfig
+config 100PHY
+bool
+default y if GE1_MII_AN || GE2_MII_AN
-Index: linux-3.14.16/drivers/net/ethernet/raeth/Makefile
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/Makefile 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/Makefile
@@ -0,0 +1,7 @@
+obj-$(CONFIG_RAETH) += raeth.o
+raeth-objs := ra_mac.o mii_mgr.o
@@ -2551,10 +2521,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/Makefile
+#EXTRA_CFLAGS += -DCONFIG_RAETH_MULTIPLE_RX_RING
+
+raeth-objs += raether.o
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ethtool_readme.txt
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ethtool_readme.txt 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ethtool_readme.txt
@@ -0,0 +1,44 @@
+
+Ethtool readme for selecting different PHY address.
@@ -2600,10 +2568,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ethtool_readme.txt
+# ethtool eth2
+
+
-Index: linux-3.14.16/drivers/net/ethernet/raeth/mii_mgr.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/mii_mgr.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/mii_mgr.c
@@ -0,0 +1,166 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -2771,10 +2737,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/mii_mgr.c
+
+EXPORT_SYMBOL(mii_mgr_write);
+EXPORT_SYMBOL(mii_mgr_read);
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra2882ethreg.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra2882ethreg.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra2882ethreg.h
@@ -0,0 +1,1268 @@
+#ifndef RA2882ETHREG_H
+#define RA2882ETHREG_H
@@ -4044,10 +4008,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra2882ethreg.h
+#define RAETH_TX_DONE_INT0 TX_DONE_INT0
+#define RAETH_DLY_INT_CFG DLY_INT_CFG
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_ioctl.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra_ioctl.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra_ioctl.h
@@ -0,0 +1,92 @@
+#ifndef _RAETH_IOCTL_H
+#define _RAETH_IOCTL_H
@@ -4141,10 +4103,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_ioctl.h
+
+
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra_mac.c
@@ -0,0 +1,98 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -4244,10 +4204,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.c
+}
+
+
-Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/ra_mac.h
@@ -0,0 +1,35 @@
+#ifndef RA_MAC_H
+#define RA_MAC_H
@@ -4284,10 +4242,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/ra_mac.h
+int getnext(const char *src, int separator, char *dest);
+int str_to_ip(unsigned int *ip, const char *str);
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether.c 2014-08-24 16:00:48.998667292 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether.c
@@ -0,0 +1,692 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -4981,10 +4937,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.c
+module_init(ra2882eth_init);
+module_exit(ra2882eth_cleanup_module);
+MODULE_LICENSE("GPL");
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether.h 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether.h
@@ -0,0 +1,92 @@
+#ifndef RA2882ETHEND_H
+#define RA2882ETHEND_H
@@ -5078,10 +5032,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/raether.h
+void fe_sw_init(void);
+
+#endif
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether_pdma.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether_pdma.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether_pdma.c
@@ -0,0 +1,212 @@
+#include <linux/module.h>
+#include <linux/version.h>
@@ -5295,10 +5247,8 @@ Index: linux-3.14.16/drivers/net/ethernet/raeth/raether_pdma.c
+EXPORT_SYMBOL(ei_xmit_housekeeping);
+EXPORT_SYMBOL(fe_dma_init);
+EXPORT_SYMBOL(rt2880_eth_send);
-Index: linux-3.14.16/drivers/net/ethernet/raeth/raether_qdma.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/net/ethernet/raeth/raether_qdma.c 2014-08-24 15:51:48.542654066 +0200
+--- /dev/null
++++ b/drivers/net/ethernet/raeth/raether_qdma.c
@@ -0,0 +1,805 @@
+#include <linux/module.h>
+#include <linux/version.h>
diff --git a/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch b/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch
index 38eae68563..9920afbac3 100644
--- a/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch
+++ b/target/linux/ramips/patches-3.14/0037-USB-phy-add-ralink-SoC-driver.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 199 insertions(+)
create mode 100644 drivers/usb/phy/ralink-phy.c
-Index: linux-3.14.16/drivers/usb/phy/Kconfig
-===================================================================
---- linux-3.14.16.orig/drivers/usb/phy/Kconfig 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/phy/Kconfig 2014-08-24 12:39:21.094371467 +0200
-@@ -251,6 +251,14 @@
+--- a/drivers/usb/phy/Kconfig
++++ b/drivers/usb/phy/Kconfig
+@@ -251,6 +251,14 @@ config USB_RCAR_GEN2_PHY
To compile this driver as a module, choose M here: the
module will be called phy-rcar-gen2-usb.
@@ -30,19 +28,15 @@ Index: linux-3.14.16/drivers/usb/phy/Kconfig
config USB_ULPI
bool "Generic ULPI Transceiver Driver"
depends on ARM
-Index: linux-3.14.16/drivers/usb/phy/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/usb/phy/Makefile 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/phy/Makefile 2014-08-24 12:39:21.094371467 +0200
-@@ -33,3 +33,4 @@
+--- a/drivers/usb/phy/Makefile
++++ b/drivers/usb/phy/Makefile
+@@ -33,3 +33,4 @@ obj-$(CONFIG_USB_RCAR_GEN2_PHY) += phy-
obj-$(CONFIG_USB_ULPI) += phy-ulpi.o
obj-$(CONFIG_USB_ULPI_VIEWPORT) += phy-ulpi-viewport.o
obj-$(CONFIG_KEYSTONE_USB_PHY) += phy-keystone.o
+obj-$(CONFIG_RALINK_USBPHY) += ralink-phy.o
-Index: linux-3.14.16/drivers/usb/phy/ralink-phy.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/usb/phy/ralink-phy.c 2014-08-24 14:28:35.886531881 +0200
+--- /dev/null
++++ b/drivers/usb/phy/ralink-phy.c
@@ -0,0 +1,191 @@
+/*
+ * Copyright (C) 2013 John Crispin <blogic@openwrt.org>
diff --git a/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch b/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch
index e7861def47..f297152873 100644
--- a/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch
+++ b/target/linux/ramips/patches-3.14/0038-USB-add-OHCI-EHCI-OF-binding.patch
@@ -12,11 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/usb/host/ohci-platform.c | 37 +++++++++++++++++++++++++++++++------
3 files changed, 50 insertions(+), 11 deletions(-)
-Index: linux-3.14.16/drivers/usb/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/usb/Makefile 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/Makefile 2014-08-24 14:33:57.590539754 +0200
-@@ -11,6 +11,8 @@
+--- a/drivers/usb/Makefile
++++ b/drivers/usb/Makefile
+@@ -11,6 +11,8 @@ obj-$(CONFIG_USB_DWC2) += dwc2/
obj-$(CONFIG_USB_MON) += mon/
@@ -25,7 +23,7 @@ Index: linux-3.14.16/drivers/usb/Makefile
obj-$(CONFIG_PCI) += host/
obj-$(CONFIG_USB_EHCI_HCD) += host/
obj-$(CONFIG_USB_ISP116X_HCD) += host/
-@@ -41,7 +43,6 @@
+@@ -41,7 +43,6 @@ obj-$(CONFIG_USB_TMC) += class/
obj-$(CONFIG_USB_STORAGE) += storage/
obj-$(CONFIG_USB) += storage/
@@ -33,10 +31,8 @@ Index: linux-3.14.16/drivers/usb/Makefile
obj-$(CONFIG_USB_MICROTEK) += image/
obj-$(CONFIG_USB_SERIAL) += serial/
-Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
-===================================================================
---- linux-3.14.16.orig/drivers/usb/host/ehci-platform.c 2014-08-24 12:39:18.806371411 +0200
-+++ linux-3.14.16/drivers/usb/host/ehci-platform.c 2014-08-24 12:39:21.102371467 +0200
+--- a/drivers/usb/host/ehci-platform.c
++++ b/drivers/usb/host/ehci-platform.c
@@ -29,6 +29,8 @@
#include <linux/usb.h>
#include <linux/usb/hcd.h>
@@ -46,7 +42,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
#include "ehci.h"
-@@ -124,6 +126,15 @@
+@@ -124,6 +126,15 @@ static int ehci_platform_probe(struct pl
hcd->rsrc_start = res_mem->start;
hcd->rsrc_len = resource_size(res_mem);
@@ -62,7 +58,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
if (IS_ERR(hcd->regs)) {
err = PTR_ERR(hcd->regs);
-@@ -161,6 +172,9 @@
+@@ -161,6 +172,9 @@ static int ehci_platform_remove(struct p
if (pdata == &ehci_platform_defaults)
dev->dev.platform_data = NULL;
@@ -72,7 +68,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
return 0;
}
-@@ -205,9 +219,8 @@
+@@ -205,9 +219,8 @@ static int ehci_platform_resume(struct d
#define ehci_platform_resume NULL
#endif /* CONFIG_PM */
@@ -84,7 +80,7 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
{}
};
-@@ -231,7 +244,7 @@
+@@ -231,7 +244,7 @@ static struct platform_driver ehci_platf
.owner = THIS_MODULE,
.name = "ehci-platform",
.pm = &ehci_platform_pm_ops,
@@ -93,10 +89,8 @@ Index: linux-3.14.16/drivers/usb/host/ehci-platform.c
}
};
-Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
-===================================================================
---- linux-3.14.16.orig/drivers/usb/host/ohci-platform.c 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/host/ohci-platform.c 2014-08-24 12:41:51.422375146 +0200
+--- a/drivers/usb/host/ohci-platform.c
++++ b/drivers/usb/host/ohci-platform.c
@@ -22,18 +22,22 @@
#include <linux/platform_device.h>
#include <linux/usb/ohci_pdriver.h>
@@ -121,7 +115,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
struct ohci_hcd *ohci = hcd_to_ohci(hcd);
if (pdata->big_endian_desc)
-@@ -63,11 +67,18 @@
+@@ -63,11 +67,18 @@ static int ohci_platform_probe(struct pl
int irq;
int err = -ENOMEM;
@@ -144,7 +138,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
if (usb_disabled())
return -ENODEV;
-@@ -99,6 +110,12 @@
+@@ -99,6 +110,12 @@ static int ohci_platform_probe(struct pl
hcd->rsrc_start = res_mem->start;
hcd->rsrc_len = resource_size(res_mem);
@@ -157,7 +151,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
if (IS_ERR(hcd->regs)) {
err = PTR_ERR(hcd->regs);
-@@ -134,6 +151,9 @@
+@@ -134,6 +151,9 @@ static int ohci_platform_remove(struct p
if (pdata->power_off)
pdata->power_off(dev);
@@ -167,7 +161,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
return 0;
}
-@@ -180,6 +200,11 @@
+@@ -180,6 +200,11 @@ static int ohci_platform_resume(struct d
#define ohci_platform_resume NULL
#endif /* CONFIG_PM */
@@ -179,7 +173,7 @@ Index: linux-3.14.16/drivers/usb/host/ohci-platform.c
static const struct platform_device_id ohci_platform_table[] = {
{ "ohci-platform", 0 },
{ }
-@@ -200,6 +225,7 @@
+@@ -200,6 +225,7 @@ static struct platform_driver ohci_platf
.owner = THIS_MODULE,
.name = "ohci-platform",
.pm = &ohci_platform_pm_ops,
diff --git a/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch b/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch
index c7592ac1ef..e545da3989 100644
--- a/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch
+++ b/target/linux/ramips/patches-3.14/0039-USB-adds-dwc_otg.patch
@@ -47,8 +47,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/usb/dwc_otg/dwc_otg_regs.h
create mode 100644 drivers/usb/dwc_otg/linux/dwc_otg_plat.h
-diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
-index 2e6b832..45d766e 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -88,6 +88,8 @@ if USB
@@ -60,8 +58,6 @@ index 2e6b832..45d766e 100644
source "drivers/usb/mon/Kconfig"
source "drivers/usb/wusbcore/Kconfig"
-diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
-index aaa15d9..5205cf0 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_USB) += core/
@@ -72,9 +68,6 @@ index aaa15d9..5205cf0 100644
obj-$(CONFIG_USB_MON) += mon/
-diff --git a/drivers/usb/dwc_otg/Kconfig b/drivers/usb/dwc_otg/Kconfig
-new file mode 100644
-index 0000000..6dd75f1
--- /dev/null
+++ b/drivers/usb/dwc_otg/Kconfig
@@ -0,0 +1,24 @@
@@ -102,9 +95,6 @@ index 0000000..6dd75f1
+config DWC_OTG_DEBUG
+ bool "Enable debug mode"
+ depends on DWC_OTG
-diff --git a/drivers/usb/dwc_otg/Makefile b/drivers/usb/dwc_otg/Makefile
-new file mode 100644
-index 0000000..95c5b66
--- /dev/null
+++ b/drivers/usb/dwc_otg/Makefile
@@ -0,0 +1,25 @@
@@ -133,9 +123,6 @@ index 0000000..95c5b66
+dwc_otg-objs += dwc_otg_cil.o dwc_otg_cil_intr.o
+dwc_otg-objs += dwc_otg_pcd.o dwc_otg_pcd_intr.o
+dwc_otg-objs += dwc_otg_hcd.o dwc_otg_hcd_intr.o dwc_otg_hcd_queue.o
-diff --git a/drivers/usb/dwc_otg/dummy_audio.c b/drivers/usb/dwc_otg/dummy_audio.c
-new file mode 100644
-index 0000000..225decf
--- /dev/null
+++ b/drivers/usb/dwc_otg/dummy_audio.c
@@ -0,0 +1,1575 @@
@@ -1714,9 +1701,6 @@ index 0000000..225decf
+ remove_proc_entry("isoc_test", NULL);
+}
+module_exit (cleanup);
-diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.c b/drivers/usb/dwc_otg/dwc_otg_attr.c
-new file mode 100644
-index 0000000..8543537
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.c
@@ -0,0 +1,966 @@
@@ -2686,9 +2670,6 @@ index 0000000..8543537
+ device_remove_file(dev, &dev_attr_rd_reg_test);
+ device_remove_file(dev, &dev_attr_wr_reg_test);
+}
-diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.h b/drivers/usb/dwc_otg/dwc_otg_attr.h
-new file mode 100644
-index 0000000..0862b27
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.h
@@ -0,0 +1,67 @@
@@ -2759,9 +2740,6 @@ index 0000000..0862b27
+void dwc_otg_attr_remove (struct device *dev);
+
+#endif
-diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.c b/drivers/usb/dwc_otg/dwc_otg_cil.c
-new file mode 100644
-index 0000000..89aa83e
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.c
@@ -0,0 +1,3692 @@
@@ -6457,9 +6435,6 @@ index 0000000..89aa83e
+}
+
+#endif //DWC_EN_ISOC
-diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.h b/drivers/usb/dwc_otg/dwc_otg_cil.h
-new file mode 100644
-index 0000000..9507992
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.h
@@ -0,0 +1,1098 @@
@@ -7561,9 +7536,6 @@ index 0000000..9507992
+
+#endif
+
-diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
-new file mode 100644
-index 0000000..61b17b3
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
@@ -0,0 +1,750 @@
@@ -8317,9 +8289,6 @@ index 0000000..61b17b3
+
+ return retval;
+}
-diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.c b/drivers/usb/dwc_otg/dwc_otg_driver.c
-new file mode 100644
-index 0000000..263494c
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.c
@@ -0,0 +1,1273 @@
@@ -9596,9 +9565,6 @@ index 0000000..263494c
+ </td></tr>
+
+*/
-diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.h b/drivers/usb/dwc_otg/dwc_otg_driver.h
-new file mode 100644
-index 0000000..fd7f0a4
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.h
@@ -0,0 +1,83 @@
@@ -9685,9 +9651,6 @@ index 0000000..fd7f0a4
+} dwc_otg_device_t;
+
+#endif
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.c b/drivers/usb/dwc_otg/dwc_otg_hcd.c
-new file mode 100644
-index 0000000..fe643b6
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.c
@@ -0,0 +1,2852 @@
@@ -12543,9 +12506,6 @@ index 0000000..fe643b6
+#endif
+}
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.h b/drivers/usb/dwc_otg/dwc_otg_hcd.h
-new file mode 100644
-index 0000000..ee41dc9
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.h
@@ -0,0 +1,668 @@
@@ -13217,9 +13177,6 @@ index 0000000..ee41dc9
+#endif
+#endif
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
-new file mode 100644
-index 0000000..bdf2db9
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
@@ -0,0 +1,1873 @@
@@ -15096,9 +15053,6 @@ index 0000000..bdf2db9
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
-new file mode 100644
-index 0000000..cfb1f16
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
@@ -0,0 +1,684 @@
@@ -15786,9 +15740,6 @@ index 0000000..cfb1f16
+}
+
+#endif /* DWC_DEVICE_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd.c b/drivers/usb/dwc_otg/dwc_otg_pcd.c
-new file mode 100644
-index 0000000..030a3f2
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_pcd.c
@@ -0,0 +1,2523 @@
@@ -18315,9 +18266,6 @@ index 0000000..030a3f2
+EXPORT_SYMBOL(usb_gadget_unregister_driver);
+
+#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd.h b/drivers/usb/dwc_otg/dwc_otg_pcd.h
-new file mode 100644
-index 0000000..48de957
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_pcd.h
@@ -0,0 +1,248 @@
@@ -18569,9 +18517,6 @@ index 0000000..48de957
+
+#endif
+#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c
-new file mode 100644
-index 0000000..fd44fd8
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_pcd_intr.c
@@ -0,0 +1,3654 @@
@@ -22229,9 +22174,6 @@ index 0000000..fd44fd8
+}
+
+#endif /* DWC_HOST_ONLY */
-diff --git a/drivers/usb/dwc_otg/dwc_otg_regs.h b/drivers/usb/dwc_otg/dwc_otg_regs.h
-new file mode 100644
-index 0000000..8265766
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_regs.h
@@ -0,0 +1,2075 @@
@@ -24310,9 +24252,6 @@ index 0000000..8265766
+
+
+#endif
-diff --git a/drivers/usb/dwc_otg/linux/dwc_otg_plat.h b/drivers/usb/dwc_otg/linux/dwc_otg_plat.h
-new file mode 100644
-index 0000000..618151b
--- /dev/null
+++ b/drivers/usb/dwc_otg/linux/dwc_otg_plat.h
@@ -0,0 +1,260 @@
@@ -24576,6 +24515,3 @@ index 0000000..618151b
+
+#endif
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch b/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch
index 31227fcd4f..bc1915e4aa 100644
--- a/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch
+++ b/target/linux/ramips/patches-3.14/0040-USB-add-mt7621-xhci-support.patch
@@ -41,11 +41,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/usb/host/xhci-mtk.c
create mode 100644 drivers/usb/host/xhci-mtk.h
-diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c
-index d59d993..81bbb65 100644
--- a/drivers/usb/core/hcd-pci.c
+++ b/drivers/usb/core/hcd-pci.c
-@@ -215,9 +215,13 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
+@@ -215,9 +215,13 @@ int usb_hcd_pci_probe(struct pci_dev *de
goto disable_pci;
}
@@ -60,11 +58,9 @@ index d59d993..81bbb65 100644
if (driver->flags & HCD_MEMORY) {
/* EHCI, OHCI */
hcd->rsrc_start = pci_resource_start(dev, 0);
-diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index 64ea219..c8cf5a6 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -1251,7 +1251,7 @@ static void hub_quiesce(struct usb_hub *hub, enum hub_quiescing_type type)
+@@ -1270,7 +1270,7 @@ static void hub_quiesce(struct usb_hub *
if (type != HUB_SUSPEND) {
/* Disconnect all the children */
for (i = 0; i < hdev->maxchild; ++i) {
@@ -73,8 +69,6 @@ index 64ea219..c8cf5a6 100644
usb_disconnect(&hub->ports[i]->child);
}
}
-diff --git a/drivers/usb/core/port.c b/drivers/usb/core/port.c
-index 51542f8..0b9e0b3 100644
--- a/drivers/usb/core/port.c
+++ b/drivers/usb/core/port.c
@@ -191,6 +191,7 @@ exit:
@@ -86,8 +80,6 @@ index 51542f8..0b9e0b3 100644
+ device_unregister(&hub->ports[port1 - 1]->dev);
}
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index a9707da..22aab121 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -27,7 +27,13 @@ config USB_XHCI_HCD
@@ -105,8 +97,6 @@ index a9707da..22aab121 100644
endif # USB_XHCI_HCD
-diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile
-index 7530468..6614620 100644
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
@@ -15,7 +15,13 @@ fhci-$(CONFIG_FHCI_DEBUG) += fhci-dbg.o
@@ -133,9 +123,6 @@ index 7530468..6614620 100644
obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o
obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
-diff --git a/drivers/usb/host/mtk-phy-7621.c b/drivers/usb/host/mtk-phy-7621.c
-new file mode 100644
-index 0000000..4e9c0d7
--- /dev/null
+++ b/drivers/usb/host/mtk-phy-7621.c
@@ -0,0 +1,445 @@
@@ -584,9 +571,6 @@ index 0000000..4e9c0d7
+}
+
+#endif
-diff --git a/drivers/usb/host/mtk-phy-7621.h b/drivers/usb/host/mtk-phy-7621.h
-new file mode 100644
-index 0000000..41b0c77
--- /dev/null
+++ b/drivers/usb/host/mtk-phy-7621.h
@@ -0,0 +1,2871 @@
@@ -3461,9 +3445,6 @@ index 0000000..41b0c77
+
+#endif
+#endif
-diff --git a/drivers/usb/host/mtk-phy-ahb.c b/drivers/usb/host/mtk-phy-ahb.c
-new file mode 100644
-index 0000000..ebaf7c8
--- /dev/null
+++ b/drivers/usb/host/mtk-phy-ahb.c
@@ -0,0 +1,58 @@
@@ -3525,9 +3506,6 @@ index 0000000..ebaf7c8
+
+#endif
+
-diff --git a/drivers/usb/host/mtk-phy.c b/drivers/usb/host/mtk-phy.c
-new file mode 100644
-index 0000000..7ed8f01
--- /dev/null
+++ b/drivers/usb/host/mtk-phy.c
@@ -0,0 +1,102 @@
@@ -3633,9 +3611,6 @@ index 0000000..7ed8f01
+ return ((U3PhyReadReg32(addr) & mask) >> offset);
+}
+
-diff --git a/drivers/usb/host/mtk-phy.h b/drivers/usb/host/mtk-phy.h
-new file mode 100644
-index 0000000..07ed410
--- /dev/null
+++ b/drivers/usb/host/mtk-phy.h
@@ -0,0 +1,179 @@
@@ -3818,8 +3793,6 @@ index 0000000..07ed410
+/***********************************/
+#endif
+
-diff --git a/drivers/usb/host/pci-quirks.h b/drivers/usb/host/pci-quirks.h
-index 638e88f..b945c3e 100644
--- a/drivers/usb/host/pci-quirks.h
+++ b/drivers/usb/host/pci-quirks.h
@@ -1,7 +1,7 @@
@@ -3830,9 +3803,7 @@ index 638e88f..b945c3e 100644
+#if defined (CONFIG_PCI) && !defined (CONFIG_USB_MT7621_XHCI_PLATFORM)
void uhci_reset_hc(struct pci_dev *pdev, unsigned long base);
int uhci_check_and_reset_hc(struct pci_dev *pdev, unsigned long base);
- int usb_amd_find_chipset_info(void);
-diff --git a/drivers/usb/host/xhci-dbg.c b/drivers/usb/host/xhci-dbg.c
-index eb009a4..b491120 100644
+ #endif /* CONFIG_PCI */
--- a/drivers/usb/host/xhci-dbg.c
+++ b/drivers/usb/host/xhci-dbg.c
@@ -21,6 +21,9 @@
@@ -3845,11 +3816,9 @@ index eb009a4..b491120 100644
#define XHCI_INIT_VALUE 0x0
-diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c
-index bce4391..e156473 100644
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
-@@ -67,6 +67,9 @@ static struct xhci_segment *xhci_segment_alloc(struct xhci_hcd *xhci,
+@@ -67,6 +67,9 @@ static struct xhci_segment *xhci_segment
static void xhci_segment_free(struct xhci_hcd *xhci, struct xhci_segment *seg)
{
@@ -3859,7 +3828,7 @@ index bce4391..e156473 100644
if (seg->trbs) {
dma_pool_free(xhci->segment_pool, seg->trbs, seg->dma);
seg->trbs = NULL;
-@@ -1375,9 +1378,17 @@ int xhci_endpoint_init(struct xhci_hcd *xhci,
+@@ -1375,9 +1378,17 @@ int xhci_endpoint_init(struct xhci_hcd *
max_burst = (usb_endpoint_maxp(&ep->desc)
& 0x1800) >> 11;
}
@@ -3877,9 +3846,6 @@ index bce4391..e156473 100644
break;
default:
BUG();
-diff --git a/drivers/usb/host/xhci-mtk-power.c b/drivers/usb/host/xhci-mtk-power.c
-new file mode 100644
-index 0000000..09870fa
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-power.c
@@ -0,0 +1,115 @@
@@ -3998,9 +3964,6 @@ index 0000000..09870fa
+ }
+}
+
-diff --git a/drivers/usb/host/xhci-mtk-power.h b/drivers/usb/host/xhci-mtk-power.h
-new file mode 100644
-index 0000000..e57c243
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-power.h
@@ -0,0 +1,13 @@
@@ -4017,9 +3980,6 @@ index 0000000..e57c243
+void enablePortClockPower(int port_index, int port_rev);
+
+#endif
-diff --git a/drivers/usb/host/xhci-mtk-scheduler.c b/drivers/usb/host/xhci-mtk-scheduler.c
-new file mode 100644
-index 0000000..bf6a8bd
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-scheduler.c
@@ -0,0 +1,608 @@
@@ -4631,9 +4591,6 @@ index 0000000..bf6a8bd
+ return SCH_FAIL;
+ }
+}
-diff --git a/drivers/usb/host/xhci-mtk-scheduler.h b/drivers/usb/host/xhci-mtk-scheduler.h
-new file mode 100644
-index 0000000..c55dfb1
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk-scheduler.h
@@ -0,0 +1,77 @@
@@ -4714,9 +4671,6 @@ index 0000000..c55dfb1
+
+
+#endif
-diff --git a/drivers/usb/host/xhci-mtk.c b/drivers/usb/host/xhci-mtk.c
-new file mode 100644
-index 0000000..2eed0a1
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk.c
@@ -0,0 +1,265 @@
@@ -4985,9 +4939,6 @@ index 0000000..2eed0a1
+
+
+
-diff --git a/drivers/usb/host/xhci-mtk.h b/drivers/usb/host/xhci-mtk.h
-new file mode 100644
-index 0000000..0f2d5e8
--- /dev/null
+++ b/drivers/usb/host/xhci-mtk.h
@@ -0,0 +1,120 @@
@@ -5111,11 +5062,9 @@ index 0000000..0f2d5e8
+
+
+#endif
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 8abda5c..a11b82f 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -27,6 +27,13 @@ static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
+@@ -27,6 +27,13 @@ static void xhci_plat_quirks(struct devi
* dev struct in order to setup MSI
*/
xhci->quirks |= XHCI_PLAT;
@@ -5129,7 +5078,7 @@ index 8abda5c..a11b82f 100644
}
/* called during probe() after chip reset completes */
-@@ -99,13 +106,19 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -99,13 +106,19 @@ static int xhci_plat_probe(struct platfo
driver = &xhci_plat_xhci_driver;
@@ -5149,7 +5098,7 @@ index 8abda5c..a11b82f 100644
/* Initialize dma_mask and coherent_dma_mask to 32-bits */
ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
-@@ -120,8 +133,13 @@ static int xhci_plat_probe(struct platform_device *pdev)
+@@ -120,8 +133,13 @@ static int xhci_plat_probe(struct platfo
if (!hcd)
return -ENOMEM;
@@ -5163,11 +5112,9 @@ index 8abda5c..a11b82f 100644
if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len,
driver->description)) {
-diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
-index 0ed64eb..415bec0 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
-@@ -232,7 +232,6 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring,
+@@ -232,7 +232,6 @@ static void inc_enq(struct xhci_hcd *xhc
*/
if (!chain && !more_trbs_coming)
break;
@@ -5175,7 +5122,7 @@ index 0ed64eb..415bec0 100644
/* If we're not dealing with 0.95 hardware or
* isoc rings on AMD 0.96 host,
* carry over the chain bit of the previous TRB
-@@ -268,16 +267,20 @@ static void inc_enq(struct xhci_hcd *xhci, struct xhci_ring *ring,
+@@ -268,16 +267,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)
{
@@ -5196,7 +5143,7 @@ index 0ed64eb..415bec0 100644
return 1;
}
-@@ -2992,6 +2995,7 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring,
+@@ -2991,6 +2994,7 @@ static int prepare_ring(struct xhci_hcd
next = ring->enqueue;
while (last_trb(xhci, ring, ring->enq_seg, next)) {
@@ -5204,7 +5151,7 @@ index 0ed64eb..415bec0 100644
/* If we're not dealing with 0.95 hardware or isoc rings
* on AMD 0.96 host, clear the chain bit.
*/
-@@ -3001,7 +3005,9 @@ static int prepare_ring(struct xhci_hcd *xhci, struct xhci_ring *ep_ring,
+@@ -3000,7 +3004,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);
@@ -5215,7 +5162,7 @@ index 0ed64eb..415bec0 100644
wmb();
next->link.control ^= cpu_to_le32(TRB_CYCLE);
-@@ -3131,6 +3137,9 @@ static void giveback_first_trb(struct xhci_hcd *xhci, int slot_id,
+@@ -3130,6 +3136,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);
@@ -5225,7 +5172,7 @@ index 0ed64eb..415bec0 100644
xhci_ring_ep_doorbell(xhci, slot_id, ep_index, stream_id);
}
-@@ -3186,6 +3195,29 @@ static u32 xhci_td_remainder(unsigned int remainder)
+@@ -3185,6 +3194,29 @@ static u32 xhci_td_remainder(unsigned in
return (remainder >> 10) << 17;
}
@@ -5255,7 +5202,7 @@ index 0ed64eb..415bec0 100644
/*
* For xHCI 1.0 host controllers, TD size is the number of max packet sized
* packets remaining in the TD (*not* including this TRB).
-@@ -3323,6 +3355,7 @@ static int queue_bulk_sg_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3322,6 +3354,7 @@ static int queue_bulk_sg_tx(struct xhci_
}
/* Set the TRB length, TD size, and interrupter fields. */
@@ -5263,7 +5210,7 @@ index 0ed64eb..415bec0 100644
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
-@@ -3332,6 +3365,13 @@ static int queue_bulk_sg_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3331,6 +3364,13 @@ static int queue_bulk_sg_tx(struct xhci_
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@@ -5277,7 +5224,7 @@ index 0ed64eb..415bec0 100644
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-@@ -3394,6 +3434,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3393,6 +3433,9 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
int running_total, trb_buff_len, ret;
unsigned int total_packet_count;
u64 addr;
@@ -5287,7 +5234,7 @@ index 0ed64eb..415bec0 100644
if (urb->num_sgs)
return queue_bulk_sg_tx(xhci, mem_flags, urb, slot_id, ep_index);
-@@ -3419,6 +3462,25 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3418,6 +3461,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 */
@@ -5313,7 +5260,7 @@ index 0ed64eb..415bec0 100644
ret = prepare_transfer(xhci, xhci->devs[slot_id],
ep_index, urb->stream_id,
-@@ -3478,6 +3540,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3477,6 +3539,7 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
field |= TRB_ISP;
/* Set the TRB length, TD size, and interrupter fields. */
@@ -5321,7 +5268,7 @@ index 0ed64eb..415bec0 100644
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
urb->transfer_buffer_length -
-@@ -3487,6 +3550,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3486,6 +3549,10 @@ int xhci_queue_bulk_tx(struct xhci_hcd *
trb_buff_len, total_packet_count, urb,
num_trbs - 1);
}
@@ -5332,7 +5279,7 @@ index 0ed64eb..415bec0 100644
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-@@ -3576,7 +3643,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3575,7 +3642,11 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field |= 0x1;
/* xHCI 1.0 6.4.1.2.1: Transfer Type field */
@@ -5344,7 +5291,7 @@ index 0ed64eb..415bec0 100644
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
field |= TRB_TX_TYPE(TRB_DATA_IN);
-@@ -3600,7 +3671,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3599,7 +3670,12 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
field = TRB_TYPE(TRB_DATA);
length_field = TRB_LEN(urb->transfer_buffer_length) |
@@ -5357,7 +5304,7 @@ index 0ed64eb..415bec0 100644
TRB_INTR_TARGET(0);
if (urb->transfer_buffer_length > 0) {
if (setup->bRequestType & USB_DIR_IN)
-@@ -3611,7 +3687,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3610,7 +3686,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd *
length_field,
field | ep_ring->cycle_state);
}
@@ -5366,7 +5313,7 @@ index 0ed64eb..415bec0 100644
/* Save the DMA address of the last TRB in the TD */
td->last_trb = ep_ring->enqueue;
-@@ -3723,6 +3799,9 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3722,6 +3798,9 @@ static int xhci_queue_isoc_tx(struct xhc
u64 start_addr, addr;
int i, j;
bool more_trbs_coming;
@@ -5376,7 +5323,7 @@ index 0ed64eb..415bec0 100644
ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
-@@ -3736,6 +3815,21 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3735,6 +3814,21 @@ static int xhci_queue_isoc_tx(struct xhc
start_trb = &ep_ring->enqueue->generic;
start_cycle = ep_ring->cycle_state;
@@ -5398,7 +5345,7 @@ index 0ed64eb..415bec0 100644
urb_priv = urb->hcpriv;
/* Queue the first TRB, even if it's zero-length */
for (i = 0; i < num_tds; i++) {
-@@ -3807,9 +3901,13 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3806,9 +3900,13 @@ static int xhci_queue_isoc_tx(struct xhc
} else {
td->last_trb = ep_ring->enqueue;
field |= TRB_IOC;
@@ -5412,7 +5359,7 @@ index 0ed64eb..415bec0 100644
/* Set BEI bit except for the last td */
if (i < num_tds - 1)
field |= TRB_BEI;
-@@ -3824,6 +3922,7 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3823,6 +3921,7 @@ static int xhci_queue_isoc_tx(struct xhc
trb_buff_len = td_remain_len;
/* Set the TRB length, TD size, & interrupter fields. */
@@ -5420,7 +5367,7 @@ index 0ed64eb..415bec0 100644
if (xhci->hci_version < 0x100) {
remainder = xhci_td_remainder(
td_len - running_total);
-@@ -3833,6 +3932,10 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
+@@ -3832,6 +3931,10 @@ static int xhci_queue_isoc_tx(struct xhc
total_packet_count, urb,
(trbs_per_td - j - 1));
}
@@ -5431,8 +5378,6 @@ index 0ed64eb..415bec0 100644
length_field = TRB_LEN(trb_buff_len) |
remainder |
TRB_INTR_TARGET(0);
-diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
-index 924a6cc..27b7d2f 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -32,6 +32,16 @@
@@ -5480,7 +5425,7 @@ index 924a6cc..27b7d2f 100644
static int xhci_free_msi(struct xhci_hcd *xhci)
{
int i;
-@@ -399,6 +421,7 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd)
+@@ -399,6 +421,7 @@ static int xhci_try_enable_msi(struct us
return ret;
}
hcd->irq = pdev->irq;
@@ -5488,7 +5433,7 @@ index 924a6cc..27b7d2f 100644
return 0;
}
-@@ -442,6 +465,11 @@ static void compliance_mode_recovery(unsigned long arg)
+@@ -442,6 +465,11 @@ static void compliance_mode_recovery(uns
"Attempting compliance mode recovery");
hcd = xhci->shared_hcd;
@@ -5500,7 +5445,7 @@ index 924a6cc..27b7d2f 100644
if (hcd->state == HC_STATE_SUSPENDED)
usb_hcd_resume_root_hub(hcd);
-@@ -491,6 +519,9 @@ bool xhci_compliance_mode_recovery_timer_quirk_check(void)
+@@ -491,6 +519,9 @@ bool xhci_compliance_mode_recovery_timer
{
const char *dmi_product_name, *dmi_sys_vendor;
@@ -5543,7 +5488,7 @@ index 924a6cc..27b7d2f 100644
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB2 roothub");
return 0;
-@@ -970,7 +1012,6 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
+@@ -970,7 +1012,6 @@ int xhci_resume(struct xhci_hcd *xhci, b
/* If restore operation fails, re-initialize the HC during resume */
if ((temp & STS_SRE) || hibernated) {
@@ -5551,7 +5496,7 @@ index 924a6cc..27b7d2f 100644
if ((xhci->quirks & XHCI_COMP_MODE_QUIRK) &&
!(xhci_all_ports_seen_u0(xhci))) {
del_timer_sync(&xhci->comp_mode_recovery_timer);
-@@ -1569,6 +1610,13 @@ int xhci_drop_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1573,6 +1614,13 @@ int xhci_drop_endpoint(struct usb_hcd *h
u32 drop_flag;
u32 new_add_flags, new_drop_flags, new_slot_info;
int ret;
@@ -5565,7 +5510,7 @@ index 924a6cc..27b7d2f 100644
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0)
-@@ -1626,6 +1674,40 @@ int xhci_drop_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1630,6 +1678,40 @@ int xhci_drop_endpoint(struct usb_hcd *h
xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep);
@@ -5606,7 +5551,7 @@ index 924a6cc..27b7d2f 100644
xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x, new slot info = %#x\n",
(unsigned int) ep->desc.bEndpointAddress,
udev->slot_id,
-@@ -1661,6 +1743,18 @@ int xhci_add_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1665,6 +1747,18 @@ int xhci_add_endpoint(struct usb_hcd *hc
u32 new_add_flags, new_drop_flags, new_slot_info;
struct xhci_virt_device *virt_dev;
int ret = 0;
@@ -5625,7 +5570,7 @@ index 924a6cc..27b7d2f 100644
ret = xhci_check_args(hcd, udev, ep, 1, true, __func__);
if (ret <= 0) {
-@@ -1728,6 +1822,56 @@ int xhci_add_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
+@@ -1732,6 +1826,56 @@ int xhci_add_endpoint(struct usb_hcd *hc
return -ENOMEM;
}
@@ -5682,7 +5627,7 @@ index 924a6cc..27b7d2f 100644
ctrl_ctx->add_flags |= cpu_to_le32(added_ctxs);
new_add_flags = le32_to_cpu(ctrl_ctx->add_flags);
-@@ -2722,7 +2866,7 @@ int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev)
+@@ -2726,7 +2870,7 @@ int xhci_check_bandwidth(struct usb_hcd
if (ctrl_ctx->add_flags == cpu_to_le32(SLOT_FLAG) &&
ctrl_ctx->drop_flags == 0)
return 0;
@@ -5691,7 +5636,7 @@ index 924a6cc..27b7d2f 100644
xhci_dbg(xhci, "New Input Control Context:\n");
slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->in_ctx);
xhci_dbg_ctx(xhci, virt_dev->in_ctx,
-@@ -4349,10 +4493,14 @@ static u16 xhci_call_host_update_timeout_for_endpoint(struct xhci_hcd *xhci,
+@@ -4352,10 +4496,14 @@ static u16 xhci_call_host_update_timeout
u16 *timeout)
{
if (state == USB3_LPM_U1) {
@@ -5706,7 +5651,7 @@ index 924a6cc..27b7d2f 100644
return xhci_calculate_intel_u2_timeout(udev, desc);
}
-@@ -4737,7 +4885,9 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
+@@ -4740,7 +4888,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 :| */
@@ -5716,7 +5661,7 @@ index 924a6cc..27b7d2f 100644
if (usb_hcd_is_primary_hcd(hcd)) {
xhci = kzalloc(sizeof(struct xhci_hcd), GFP_KERNEL);
-@@ -4800,6 +4950,10 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
+@@ -4803,6 +4953,10 @@ int xhci_gen_setup(struct usb_hcd *hcd,
goto error;
xhci_dbg(xhci, "Reset complete\n");
@@ -5727,7 +5672,7 @@ index 924a6cc..27b7d2f 100644
/* Set dma_mask and coherent_dma_mask to 64-bits,
* if xHC supports 64-bit addressing */
if (HCC_64BIT_ADDR(xhci->hcc_params) &&
-@@ -4824,8 +4978,21 @@ MODULE_DESCRIPTION(DRIVER_DESC);
+@@ -4827,8 +4981,21 @@ MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_LICENSE("GPL");
@@ -5749,7 +5694,7 @@ index 924a6cc..27b7d2f 100644
int retval;
retval = xhci_register_pci();
-@@ -4838,6 +5005,33 @@ static int __init xhci_hcd_init(void)
+@@ -4841,6 +5008,33 @@ static int __init xhci_hcd_init(void)
pr_debug("Problem registering platform driver.\n");
goto unreg_pci;
}
@@ -5783,7 +5728,7 @@ index 924a6cc..27b7d2f 100644
/*
* Check the compiler generated sizes of structures that must be laid
* out in specific ways for hardware access.
-@@ -4855,6 +5049,7 @@ static int __init xhci_hcd_init(void)
+@@ -4858,6 +5052,7 @@ static int __init xhci_hcd_init(void)
BUILD_BUG_ON(sizeof(struct xhci_intr_reg) != 8*32/8);
/* xhci_run_regs has eight fields and embeds 128 xhci_intr_regs */
BUILD_BUG_ON(sizeof(struct xhci_run_regs) != (8+8*128)*32/8);
@@ -5791,8 +5736,6 @@ index 924a6cc..27b7d2f 100644
return 0;
unreg_pci:
xhci_unregister_pci();
-diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
-index 58ed9d0..dda072f 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -29,9 +29,24 @@
@@ -5821,7 +5764,7 @@ index 58ed9d0..dda072f 100644
/* xHCI PCI Configuration Registers */
#define XHCI_SBRN_OFFSET (0x60)
-@@ -1579,8 +1594,12 @@ struct xhci_hcd {
+@@ -1577,8 +1592,12 @@ struct xhci_hcd {
/* Compliance Mode Recovery Data */
struct timer_list comp_mode_recovery_timer;
u32 port_status_u0;
@@ -5834,7 +5777,7 @@ index 58ed9d0..dda072f 100644
};
/* convert between an HCD pointer and the corresponding EHCI_HCD */
-@@ -1728,7 +1747,7 @@ void xhci_urb_free_priv(struct xhci_hcd *xhci, struct urb_priv *urb_priv);
+@@ -1726,7 +1745,7 @@ void xhci_urb_free_priv(struct xhci_hcd
void xhci_free_command(struct xhci_hcd *xhci,
struct xhci_command *command);
@@ -5843,6 +5786,3 @@ index 58ed9d0..dda072f 100644
/* xHCI PCI glue */
int xhci_register_pci(void);
void xhci_unregister_pci(void);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch b/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
index 871e8c1771..c9f66b1ec7 100644
--- a/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
+++ b/target/linux/ramips/patches-3.14/0041-mtd-fix-cfi-cmdset-0002-erase-status-check.patch
@@ -7,11 +7,9 @@ Subject: [PATCH 41/57] mtd: fix cfi cmdset 0002 erase status check
drivers/mtd/chips/cfi_cmdset_0002.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
-index 89b9d68..8d92fc1 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1956,7 +1956,7 @@ static int __xipram do_erase_chip(struct map_info *map, struct flchip *chip)
+@@ -1957,7 +1957,7 @@ static int __xipram do_erase_chip(struct
chip->erase_suspended = 0;
}
@@ -20,7 +18,7 @@ index 89b9d68..8d92fc1 100644
break;
if (time_after(jiffies, timeo)) {
-@@ -2045,7 +2045,7 @@ static int __xipram do_erase_oneblock(struct map_info *map, struct flchip *chip,
+@@ -2046,7 +2046,7 @@ static int __xipram do_erase_oneblock(st
chip->erase_suspended = 0;
}
@@ -29,6 +27,3 @@ index 89b9d68..8d92fc1 100644
xip_enable(map, chip, adr);
break;
}
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch b/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch
index ecee46447a..cdbea00692 100644
--- a/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch
+++ b/target/linux/ramips/patches-3.14/0042-mtd-cfi-cmdset-0002-force-word-write.patch
@@ -7,8 +7,6 @@ Subject: [PATCH 42/57] mtd: cfi cmdset 0002 force word write
drivers/mtd/chips/cfi_cmdset_0002.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
-diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c
-index 8d92fc1..aa06d16 100644
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -41,7 +41,7 @@
@@ -30,7 +28,7 @@ index 8d92fc1..aa06d16 100644
static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
static void cfi_amdstd_sync (struct mtd_info *);
-@@ -192,6 +194,7 @@ static void fixup_amd_bootblock(struct mtd_info *mtd)
+@@ -192,6 +194,7 @@ static void fixup_amd_bootblock(struct m
}
#endif
@@ -38,7 +36,7 @@ index 8d92fc1..aa06d16 100644
static void fixup_use_write_buffers(struct mtd_info *mtd)
{
struct map_info *map = mtd->priv;
-@@ -201,6 +204,7 @@ static void fixup_use_write_buffers(struct mtd_info *mtd)
+@@ -201,6 +204,7 @@ static void fixup_use_write_buffers(stru
mtd->_write = cfi_amdstd_write_buffers;
}
}
@@ -46,7 +44,7 @@ index 8d92fc1..aa06d16 100644
/* Atmel chips don't use the same PRI format as AMD chips */
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
-@@ -1461,6 +1465,7 @@ static int cfi_amdstd_write_words(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -1461,6 +1465,7 @@ static int cfi_amdstd_write_words(struct
/*
* FIXME: interleaved mode not tested, and probably not supported!
*/
@@ -54,7 +52,7 @@ index 8d92fc1..aa06d16 100644
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
int len)
-@@ -1584,7 +1589,6 @@ static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
+@@ -1585,7 +1590,6 @@ static int __xipram do_write_buffer(stru
return ret;
}
@@ -62,7 +60,7 @@ index 8d92fc1..aa06d16 100644
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1659,6 +1663,7 @@ static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -1660,6 +1664,7 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
@@ -70,6 +68,3 @@ index 8d92fc1..aa06d16 100644
/*
* Wait for the flash chip to become ready to write data
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch b/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch
index 6619efd400..8ee26d5182 100644
--- a/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch
+++ b/target/linux/ramips/patches-3.14/0043-mtd-ralink-add-mt7620-nand-driver.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/mtd/maps/ralink_nand.c
create mode 100644 drivers/mtd/maps/ralink_nand.h
-diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
-index 310dc7c..344f460d 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -399,4 +399,8 @@ config MTD_LATCH_ADDR
@@ -26,8 +24,6 @@ index 310dc7c..344f460d 100644
+ depends on RALINK && SOC_MT7620
+
endmenu
-diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile
-index 141c91a..94d2aa0 100644
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
@@ -43,3 +43,5 @@ obj-$(CONFIG_MTD_VMU) += vmu-flash.o
@@ -36,9 +32,6 @@ index 141c91a..94d2aa0 100644
obj-$(CONFIG_MTD_LANTIQ) += lantiq-flash.o
+obj-$(CONFIG_MTD_NAND_MT7620) += ralink_nand.o
+
-diff --git a/drivers/mtd/maps/ralink_nand.c b/drivers/mtd/maps/ralink_nand.c
-new file mode 100644
-index 0000000..64f9119
--- /dev/null
+++ b/drivers/mtd/maps/ralink_nand.c
@@ -0,0 +1,2136 @@
@@ -2178,9 +2171,6 @@ index 0000000..64f9119
+
+
+MODULE_LICENSE("GPL");
-diff --git a/drivers/mtd/maps/ralink_nand.h b/drivers/mtd/maps/ralink_nand.h
-new file mode 100644
-index 0000000..a408ae9
--- /dev/null
+++ b/drivers/mtd/maps/ralink_nand.h
@@ -0,0 +1,232 @@
@@ -2416,6 +2406,3 @@ index 0000000..a408ae9
+
+
+#endif
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch b/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch
index 214e660f68..8d6fac7221 100644
--- a/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch
+++ b/target/linux/ramips/patches-3.14/0044-mtd-add-chunked-read-io-to-m25p80.patch
@@ -8,11 +8,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/mtd/devices/m25p80.c | 128 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
-diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
-index ad19139..6f4290e 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
-@@ -556,6 +556,58 @@ static int m25p80_read(struct mtd_info *mtd, loff_t from, size_t len,
+@@ -562,6 +562,58 @@ static int m25p80_read(struct mtd_info *
return 0;
}
@@ -71,7 +69,7 @@ index ad19139..6f4290e 100644
/*
* Write an address range to the flash chip. Data must be written in
* FLASH_PAGESIZE chunks. The address range may be any size provided
-@@ -643,6 +695,76 @@ static int m25p80_write(struct mtd_info *mtd, loff_t to, size_t len,
+@@ -649,6 +701,76 @@ static int m25p80_write(struct mtd_info
return 0;
}
@@ -148,7 +146,7 @@ index ad19139..6f4290e 100644
static int sst_write(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1252,6 +1374,12 @@ static int m25p_probe(struct spi_device *spi)
+@@ -1260,6 +1382,12 @@ static int m25p_probe(struct spi_device
return -EINVAL;
}
@@ -161,6 +159,3 @@ index ad19139..6f4290e 100644
flash->program_opcode = OPCODE_PP;
if (info->addr_width)
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch b/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch
index 08a0647f27..dea49b169b 100644
--- a/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch
+++ b/target/linux/ramips/patches-3.14/0045-mtd-add-mt7621-nand-support.patch
@@ -29,8 +29,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/mtd/nand/nand_device_list.h
create mode 100644 drivers/mtd/nand/partition.h
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index 90ff447..5cafa39 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -510,4 +510,10 @@ config MTD_NAND_XWAY
@@ -44,20 +42,15 @@ index 90ff447..5cafa39 100644
+ select MTD_NAND_ECC
+
endif # MTD_NAND
-diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
-index 542b568..c68c96c 100644
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -49,5 +49,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740_nand.o
+@@ -49,5 +49,6 @@ obj-$(CONFIG_MTD_NAND_JZ4740) += jz4740
obj-$(CONFIG_MTD_NAND_GPMI_NAND) += gpmi-nand/
obj-$(CONFIG_MTD_NAND_XWAY) += xway_nand.o
obj-$(CONFIG_MTD_NAND_BCM47XXNFLASH) += bcm47xxnflash/
+obj-$(CONFIG_MTK_MTD_NAND) += mtk_nand.o bmt.o
nand-objs := nand_base.o nand_bbt.o
-diff --git a/drivers/mtd/nand/bmt.c b/drivers/mtd/nand/bmt.c
-new file mode 100644
-index 0000000..0462871
--- /dev/null
+++ b/drivers/mtd/nand/bmt.c
@@ -0,0 +1,750 @@
@@ -811,9 +804,6 @@ index 0000000..0462871
+MODULE_AUTHOR("MediaTek");
+MODULE_DESCRIPTION("Bad Block mapping management for MediaTek NAND Flash Driver");
+#endif
-diff --git a/drivers/mtd/nand/bmt.h b/drivers/mtd/nand/bmt.h
-new file mode 100644
-index 0000000..2d30ea9
--- /dev/null
+++ b/drivers/mtd/nand/bmt.h
@@ -0,0 +1,80 @@
@@ -897,9 +887,6 @@ index 0000000..2d30ea9
+unsigned short get_mapping_block_index(int index);
+
+#endif // #ifndef __BMT_H__
-diff --git a/drivers/mtd/nand/dev-nand.c b/drivers/mtd/nand/dev-nand.c
-new file mode 100644
-index 0000000..9fb5235
--- /dev/null
+++ b/drivers/mtd/nand/dev-nand.c
@@ -0,0 +1,63 @@
@@ -966,9 +953,6 @@ index 0000000..9fb5235
+ return retval;
+}
+arch_initcall(mtk_nand_register);
-diff --git a/drivers/mtd/nand/mt6575_typedefs.h b/drivers/mtd/nand/mt6575_typedefs.h
-new file mode 100644
-index 0000000..a7b9647
--- /dev/null
+++ b/drivers/mtd/nand/mt6575_typedefs.h
@@ -0,0 +1,340 @@
@@ -1312,9 +1296,6 @@ index 0000000..a7b9647
+
+#endif // _MT6575_TYPEDEFS_H
+
-diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c
-new file mode 100644
-index 0000000..00e150c
--- /dev/null
+++ b/drivers/mtd/nand/mtk_nand.c
@@ -0,0 +1,2304 @@
@@ -3622,9 +3603,6 @@ index 0000000..00e150c
+module_init(mtk_nand_init);
+module_exit(mtk_nand_exit);
+MODULE_LICENSE("GPL");
-diff --git a/drivers/mtd/nand/mtk_nand.h b/drivers/mtd/nand/mtk_nand.h
-new file mode 100644
-index 0000000..6db88c4
--- /dev/null
+++ b/drivers/mtd/nand/mtk_nand.h
@@ -0,0 +1,452 @@
@@ -4080,11 +4058,9 @@ index 0000000..6db88c4
+extern u32 CFG_BLOCKSIZE;
+#endif
+#endif
-diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
-index 9715a7b..86e2a12 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
-@@ -92,7 +92,7 @@ static struct nand_ecclayout nand_oob_128 = {
+@@ -92,7 +92,7 @@ static struct nand_ecclayout nand_oob_12
.length = 78} }
};
@@ -4093,7 +4069,7 @@ index 9715a7b..86e2a12 100644
static int nand_do_write_oob(struct mtd_info *mtd, loff_t to,
struct mtd_oob_ops *ops);
-@@ -130,7 +130,7 @@ static int check_offs_len(struct mtd_info *mtd,
+@@ -130,7 +130,7 @@ static int check_offs_len(struct mtd_inf
*
* Release chip lock and wake up anyone waiting on the device.
*/
@@ -4102,7 +4078,7 @@ index 9715a7b..86e2a12 100644
{
struct nand_chip *chip = mtd->priv;
-@@ -783,7 +783,7 @@ static void panic_nand_get_device(struct nand_chip *chip,
+@@ -783,7 +783,7 @@ static void panic_nand_get_device(struct
*
* Get the device and lock it for exclusive access
*/
@@ -4111,11 +4087,9 @@ index 9715a7b..86e2a12 100644
nand_get_device(struct mtd_info *mtd, int new_state)
{
struct nand_chip *chip = mtd->priv;
-diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
-index c0615d1..b34cb41 100644
--- a/drivers/mtd/nand/nand_bbt.c
+++ b/drivers/mtd/nand/nand_bbt.c
-@@ -1360,4 +1360,23 @@ int nand_markbad_bbt(struct mtd_info *mtd, loff_t offs)
+@@ -1360,4 +1360,23 @@ int nand_markbad_bbt(struct mtd_info *mt
return ret;
}
@@ -4139,9 +4113,6 @@ index c0615d1..b34cb41 100644
+}
+
EXPORT_SYMBOL(nand_scan_bbt);
-diff --git a/drivers/mtd/nand/nand_def.h b/drivers/mtd/nand/nand_def.h
-new file mode 100644
-index 0000000..82e957d
--- /dev/null
+++ b/drivers/mtd/nand/nand_def.h
@@ -0,0 +1,123 @@
@@ -4268,9 +4239,6 @@ index 0000000..82e957d
+#include "mt6575_typedefs.h"
+
+#endif /* __NAND_DEF_H__ */
-diff --git a/drivers/mtd/nand/nand_device_list.h b/drivers/mtd/nand/nand_device_list.h
-new file mode 100644
-index 0000000..4c36b3a
--- /dev/null
+++ b/drivers/mtd/nand/nand_device_list.h
@@ -0,0 +1,55 @@
@@ -4329,9 +4297,6 @@ index 0000000..4c36b3a
+
+
+#endif
-diff --git a/drivers/mtd/nand/partition.h b/drivers/mtd/nand/partition.h
-new file mode 100644
-index 0000000..034e1af
--- /dev/null
+++ b/drivers/mtd/nand/partition.h
@@ -0,0 +1,115 @@
@@ -4450,6 +4415,3 @@ index 0000000..034e1af
+//#endif
+#undef RECONFIG_PARTITION_SIZE
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch b/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch
index 36b56b4910..4c869eb858 100644
--- a/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch
+++ b/target/linux/ramips/patches-3.14/0046-DT-Add-documentation-for-gpio-ralink.patch
@@ -14,9 +14,6 @@ Cc: linux-gpio@vger.kernel.org
1 file changed, 40 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/gpio-ralink.txt
-diff --git a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
-new file mode 100644
-index 0000000..b4acf02
--- /dev/null
+++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
@@ -0,0 +1,40 @@
@@ -60,6 +57,3 @@ index 0000000..b4acf02
+ 30 34 ];
+
+ };
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch b/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch
index bbdd522934..6518e5679e 100644
--- a/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch
+++ b/target/linux/ramips/patches-3.14/0047-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch
@@ -18,9 +18,6 @@ Cc: linux-gpio@vger.kernel.org
create mode 100644 arch/mips/include/asm/mach-ralink/gpio.h
create mode 100644 drivers/gpio/gpio-ralink.c
-diff --git a/arch/mips/include/asm/mach-ralink/gpio.h b/arch/mips/include/asm/mach-ralink/gpio.h
-new file mode 100644
-index 0000000..f68ee16
--- /dev/null
+++ b/arch/mips/include/asm/mach-ralink/gpio.h
@@ -0,0 +1,24 @@
@@ -48,8 +45,6 @@ index 0000000..f68ee16
+#define gpio_to_irq __gpio_to_irq
+
+#endif /* __ASM_MACH_RALINK_GPIO_H */
-diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index 903f24d..2d75a68 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -260,6 +260,12 @@ config GPIO_SCH311X
@@ -65,11 +60,9 @@ index 903f24d..2d75a68 100644
config GPIO_SPEAR_SPICS
bool "ST SPEAr13xx SPI Chip Select as GPIO support"
depends on PLAT_SPEAR
-diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-index 5d50179..2cbdbe6 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
-@@ -63,6 +63,7 @@ obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf857x.o
+@@ -63,6 +63,7 @@ obj-$(CONFIG_GPIO_PCF857X) += gpio-pcf85
obj-$(CONFIG_GPIO_PCH) += gpio-pch.o
obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
@@ -77,9 +70,6 @@ index 5d50179..2cbdbe6 100644
obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t583.o
obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o
obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o
-diff --git a/drivers/gpio/gpio-ralink.c b/drivers/gpio/gpio-ralink.c
-new file mode 100644
-index 0000000..7e5a2e9
--- /dev/null
+++ b/drivers/gpio/gpio-ralink.c
@@ -0,0 +1,345 @@
@@ -428,6 +418,3 @@ index 0000000..7e5a2e9
+}
+
+subsys_initcall(ralink_gpio_init);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch b/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch
index 9aa03a0949..bdc68b205c 100644
--- a/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch
+++ b/target/linux/ramips/patches-3.14/0048-GPIO-ralink-add-mt7621-gpio-controller.patch
@@ -12,8 +12,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
4 files changed, 187 insertions(+)
create mode 100644 drivers/gpio/gpio-mt7621.c
-diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 4ac98ca..fd3bbb1 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -437,6 +437,9 @@ config RALINK
@@ -26,8 +24,6 @@ index 4ac98ca..fd3bbb1 100644
config SGI_IP22
bool "SGI IP22 (Indy/Indigo2)"
-diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
-index 2d75a68..5dff8d5 100644
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -827,6 +827,12 @@ config GPIO_BCM_KONA
@@ -43,18 +39,13 @@ index 2d75a68..5dff8d5 100644
comment "USB GPIO expanders:"
config GPIO_VIPERBOARD
-diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
-index 2cbdbe6..2365e34 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
-@@ -100,3 +100,4 @@ obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350.o
+@@ -100,3 +100,4 @@ obj-$(CONFIG_GPIO_WM8350) += gpio-wm8350
obj-$(CONFIG_GPIO_WM8994) += gpio-wm8994.o
obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx.o
obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
+obj-$(CONFIG_GPIO_MT7621) += gpio-mt7621.o
-diff --git a/drivers/gpio/gpio-mt7621.c b/drivers/gpio/gpio-mt7621.c
-new file mode 100644
-index 0000000..7ae7eb9
--- /dev/null
+++ b/drivers/gpio/gpio-mt7621.c
@@ -0,0 +1,177 @@
@@ -235,6 +226,3 @@ index 0000000..7ae7eb9
+}
+
+subsys_initcall(mediatek_gpio_init);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch b/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch
index 902334e0fa..23a6b3eadc 100644
--- a/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch
+++ b/target/linux/ramips/patches-3.14/0049-DT-Add-documentation-for-spi-rt2880.patch
@@ -11,9 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
1 file changed, 28 insertions(+)
create mode 100644 Documentation/devicetree/bindings/spi/spi-rt2880.txt
-diff --git a/Documentation/devicetree/bindings/spi/spi-rt2880.txt b/Documentation/devicetree/bindings/spi/spi-rt2880.txt
-new file mode 100644
-index 0000000..068bc90
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-rt2880.txt
@@ -0,0 +1,28 @@
@@ -45,6 +42,3 @@ index 0000000..068bc90
+ };
+ };
+
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch b/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch
index f446689948..e7be1f594c 100644
--- a/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch
+++ b/target/linux/ramips/patches-3.14/0050-SPI-ralink-add-Ralink-SoC-spi-driver.patch
@@ -14,11 +14,9 @@ Acked-by: John Crispin <blogic@openwrt.org>
3 files changed, 439 insertions(+)
create mode 100644 drivers/spi/spi-rt2880.c
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 581ee2a..009f8f3 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -381,6 +381,12 @@ config SPI_RSPI
+@@ -390,6 +390,12 @@ config SPI_RSPI
help
SPI driver for Renesas RSPI and QSPI blocks.
@@ -31,11 +29,9 @@ index 581ee2a..009f8f3 100644
config SPI_S3C24XX
tristate "Samsung S3C24XX series SPI"
depends on ARCH_S3C24XX
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 95af48d..1f647e5 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -60,6 +60,7 @@ spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_DMA) += spi-pxa2xx-dma.o
+@@ -61,6 +61,7 @@ spi-pxa2xx-platform-$(CONFIG_SPI_PXA2XX_
obj-$(CONFIG_SPI_PXA2XX) += spi-pxa2xx-platform.o
obj-$(CONFIG_SPI_PXA2XX_PCI) += spi-pxa2xx-pci.o
obj-$(CONFIG_SPI_RSPI) += spi-rspi.o
@@ -43,9 +39,6 @@ index 95af48d..1f647e5 100644
obj-$(CONFIG_SPI_S3C24XX) += spi-s3c24xx-hw.o
spi-s3c24xx-hw-y := spi-s3c24xx.o
spi-s3c24xx-hw-$(CONFIG_SPI_S3C24XX_FIQ) += spi-s3c24xx-fiq.o
-diff --git a/drivers/spi/spi-rt2880.c b/drivers/spi/spi-rt2880.c
-new file mode 100644
-index 0000000..ac9de67
--- /dev/null
+++ b/drivers/spi/spi-rt2880.c
@@ -0,0 +1,432 @@
@@ -481,6 +474,3 @@ index 0000000..ac9de67
+MODULE_AUTHOR("Sergiy <piratfm@gmail.com>");
+MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>");
+MODULE_LICENSE("GPL");
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch b/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch
index 2c5a9c5e76..2cf147bec6 100644
--- a/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch
+++ b/target/linux/ramips/patches-3.14/0051-SPI-MIPS-ralink-add-mt7621-support.patch
@@ -8,8 +8,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/spi/spi-rt2880.c | 218 +++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 205 insertions(+), 13 deletions(-)
-diff --git a/drivers/spi/spi-rt2880.c b/drivers/spi/spi-rt2880.c
-index ac9de67..1c6b72d 100644
--- a/drivers/spi/spi-rt2880.c
+++ b/drivers/spi/spi-rt2880.c
@@ -21,8 +21,13 @@
@@ -61,7 +59,7 @@ index ac9de67..1c6b72d 100644
};
static inline struct rt2880_spi *spidev_to_rt2880_spi(struct spi_device *spi)
-@@ -149,6 +175,17 @@ static int rt2880_spi_baudrate_set(struct spi_device *spi, unsigned int speed)
+@@ -149,6 +175,17 @@ static int rt2880_spi_baudrate_set(struc
return 0;
}
@@ -79,7 +77,7 @@ index ac9de67..1c6b72d 100644
/*
* called only when no transfer is active on the bus
*/
-@@ -164,7 +201,7 @@ rt2880_spi_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
+@@ -164,7 +201,7 @@ rt2880_spi_setup_transfer(struct spi_dev
if (rs->speed != speed) {
dev_dbg(&spi->dev, "speed_hz:%u\n", speed);
@@ -88,7 +86,7 @@ index ac9de67..1c6b72d 100644
if (rc)
return rc;
}
-@@ -180,6 +217,17 @@ static void rt2880_spi_set_cs(struct rt2880_spi *rs, int enable)
+@@ -180,6 +217,17 @@ static void rt2880_spi_set_cs(struct rt2
rt2880_spi_setbits(rs, RAMIPS_SPI_CTL, SPICTL_SPIENA);
}
@@ -106,7 +104,7 @@ index ac9de67..1c6b72d 100644
static inline int rt2880_spi_wait_till_ready(struct rt2880_spi *rs)
{
int i;
-@@ -198,8 +246,26 @@ static inline int rt2880_spi_wait_till_ready(struct rt2880_spi *rs)
+@@ -198,8 +246,26 @@ static inline int rt2880_spi_wait_till_r
return -ETIMEDOUT;
}
@@ -235,7 +233,7 @@ index ac9de67..1c6b72d 100644
static int rt2880_spi_transfer_one_message(struct spi_master *master,
struct spi_message *m)
{
-@@ -280,25 +440,25 @@ static int rt2880_spi_transfer_one_message(struct spi_master *master,
+@@ -280,25 +440,25 @@ static int rt2880_spi_transfer_one_messa
}
if (!cs_active) {
@@ -265,7 +263,7 @@ index ac9de67..1c6b72d 100644
m->status = status;
spi_finalize_current_message(master);
-@@ -334,8 +494,41 @@ static void rt2880_spi_reset(struct rt2880_spi *rs)
+@@ -334,8 +494,41 @@ static void rt2880_spi_reset(struct rt28
rt2880_spi_write(rs, RAMIPS_SPI_CTL, SPICTL_HIZSDO | SPICTL_SPIENA);
}
@@ -307,7 +305,7 @@ index ac9de67..1c6b72d 100644
struct spi_master *master;
struct rt2880_spi *rs;
unsigned long flags;
-@@ -344,6 +537,10 @@ static int rt2880_spi_probe(struct platform_device *pdev)
+@@ -344,6 +537,10 @@ static int rt2880_spi_probe(struct platf
int status = 0;
struct clk *clk;
@@ -318,7 +316,7 @@ index ac9de67..1c6b72d 100644
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
base = devm_ioremap_resource(&pdev->dev, r);
if (IS_ERR(base))
-@@ -382,12 +579,13 @@ static int rt2880_spi_probe(struct platform_device *pdev)
+@@ -382,12 +579,13 @@ static int rt2880_spi_probe(struct platf
rs->clk = clk;
rs->master = master;
rs->sys_freq = clk_get_rate(rs->clk);
@@ -333,7 +331,7 @@ index ac9de67..1c6b72d 100644
return spi_register_master(master);
}
-@@ -408,12 +606,6 @@ static int rt2880_spi_remove(struct platform_device *pdev)
+@@ -408,12 +606,6 @@ static int rt2880_spi_remove(struct plat
MODULE_ALIAS("platform:" DRIVER_NAME);
@@ -346,6 +344,3 @@ index ac9de67..1c6b72d 100644
static struct platform_driver rt2880_spi_driver = {
.driver = {
.name = DRIVER_NAME,
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch b/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch
index ad7d442eda..3522bda103 100644
--- a/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch
+++ b/target/linux/ramips/patches-3.14/0052-i2c-MIPS-adds-ralink-I2C-driver.patch
@@ -13,10 +13,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 Documentation/devicetree/bindings/i2c/i2c-ralink.txt
create mode 100644 drivers/i2c/busses/i2c-ralink.c
-Index: linux-3.14.16/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/Documentation/devicetree/bindings/i2c/i2c-ralink.txt 2014-08-24 16:03:20.586671002 +0200
+--- /dev/null
++++ b/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
@@ -0,0 +1,27 @@
+I2C for Ralink platforms
+
@@ -45,11 +43,9 @@ Index: linux-3.14.16/Documentation/devicetree/bindings/i2c/i2c-ralink.txt
+ };
+ };
+};
-Index: linux-3.14.16/drivers/i2c/busses/Kconfig
-===================================================================
---- linux-3.14.16.orig/drivers/i2c/busses/Kconfig 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/i2c/busses/Kconfig 2014-08-24 16:03:20.586671002 +0200
-@@ -659,6 +659,10 @@
+--- a/drivers/i2c/busses/Kconfig
++++ b/drivers/i2c/busses/Kconfig
+@@ -659,6 +659,10 @@ config I2C_RIIC
This driver can also be built as a module. If so, the module
will be called i2c-riic.
@@ -60,11 +56,9 @@ Index: linux-3.14.16/drivers/i2c/busses/Kconfig
config HAVE_S3C2410_I2C
bool
help
-Index: linux-3.14.16/drivers/i2c/busses/Makefile
-===================================================================
---- linux-3.14.16.orig/drivers/i2c/busses/Makefile 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/i2c/busses/Makefile 2014-08-24 16:03:20.586671002 +0200
-@@ -63,6 +63,7 @@
+--- a/drivers/i2c/busses/Makefile
++++ b/drivers/i2c/busses/Makefile
+@@ -63,6 +63,7 @@ obj-$(CONFIG_I2C_PNX) += i2c-pnx.o
obj-$(CONFIG_I2C_PUV3) += i2c-puv3.o
obj-$(CONFIG_I2C_PXA) += i2c-pxa.o
obj-$(CONFIG_I2C_PXA_PCI) += i2c-pxa-pci.o
@@ -72,10 +66,8 @@ Index: linux-3.14.16/drivers/i2c/busses/Makefile
obj-$(CONFIG_I2C_RIIC) += i2c-riic.o
obj-$(CONFIG_I2C_S3C2410) += i2c-s3c2410.o
obj-$(CONFIG_I2C_S6000) += i2c-s6000.o
-Index: linux-3.14.16/drivers/i2c/busses/i2c-ralink.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-3.14.16/drivers/i2c/busses/i2c-ralink.c 2014-08-27 23:07:01.318731261 +0200
+--- /dev/null
++++ b/drivers/i2c/busses/i2c-ralink.c
@@ -0,0 +1,271 @@
+/*
+ * drivers/i2c/busses/i2c-ralink.c
diff --git a/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch b/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
index 8470dde873..85207145d4 100644
--- a/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
+++ b/target/linux/ramips/patches-3.14/0053-mmc-MIPS-ralink-add-sdhci-for-mt7620a-SoC.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 drivers/mmc/host/mt6575_sd.h
create mode 100644 drivers/mmc/host/sdhci-mt7620.c
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 1384f67..09a14cb 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -283,6 +283,17 @@ config MMC_SDHCI_BCM2835
@@ -35,11 +33,9 @@ index 1384f67..09a14cb 100644
config MMC_OMAP
tristate "TI OMAP Multimedia Card Interface support"
depends on ARCH_OMAP
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index 3483b6b..430824f 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -64,6 +64,7 @@ obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
+@@ -65,6 +65,7 @@ obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhc
obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o
obj-$(CONFIG_MMC_SDHCI_BCM_KONA) += sdhci-bcm-kona.o
obj-$(CONFIG_MMC_SDHCI_BCM2835) += sdhci-bcm2835.o
@@ -47,9 +43,6 @@ index 3483b6b..430824f 100644
ifeq ($(CONFIG_CB710_DEBUG),y)
CFLAGS-cb710-mmc += -DDEBUG
-diff --git a/drivers/mmc/host/mt6575_sd.h b/drivers/mmc/host/mt6575_sd.h
-new file mode 100644
-index 0000000..406382c
--- /dev/null
+++ b/drivers/mmc/host/mt6575_sd.h
@@ -0,0 +1,1068 @@
@@ -1121,9 +1114,6 @@ index 0000000..406382c
+
+#endif
+
-diff --git a/drivers/mmc/host/sdhci-mt7620.c b/drivers/mmc/host/sdhci-mt7620.c
-new file mode 100644
-index 0000000..a3cb5e4
--- /dev/null
+++ b/drivers/mmc/host/sdhci-mt7620.c
@@ -0,0 +1,2314 @@
@@ -3441,6 +3431,3 @@ index 0000000..a3cb5e4
+MODULE_AUTHOR("Infinity Chen <infinity.chen@mediatek.com>");
+
+EXPORT_SYMBOL(msdc_6575_host);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch b/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch
index 28dd8964b2..39a3e5d6fd 100644
--- a/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch
+++ b/target/linux/ramips/patches-3.14/0054-DMA-ralink-add-rt2880-dma-engine.patch
@@ -13,8 +13,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
5 files changed, 611 insertions(+)
create mode 100644 drivers/dma/ralink-gdma.c
-diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
-index 605b016..a9b31ff 100644
--- a/drivers/dma/Kconfig
+++ b/drivers/dma/Kconfig
@@ -351,6 +351,12 @@ config MOXART_DMA
@@ -30,8 +28,6 @@ index 605b016..a9b31ff 100644
config DMA_ENGINE
bool
-diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
-index a029d0f4..419ccc2 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -44,3 +44,4 @@ obj-$(CONFIG_DMA_JZ4740) += dma-jz4740.o
@@ -39,11 +35,9 @@ index a029d0f4..419ccc2 100644
obj-$(CONFIG_K3_DMA) += k3dma.o
obj-$(CONFIG_MOXART_DMA) += moxart-dma.o
+obj-$(CONFIG_DMA_RALINK) += ralink-gdma.o
-diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
-index ed610b4..cc11e0b 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
-@@ -564,6 +564,32 @@ struct dma_chan *dma_get_any_slave_channel(struct dma_device *device)
+@@ -564,6 +564,32 @@ struct dma_chan *dma_get_any_slave_chann
EXPORT_SYMBOL_GPL(dma_get_any_slave_channel);
/**
@@ -76,9 +70,6 @@ index ed610b4..cc11e0b 100644
* __dma_request_channel - try to allocate an exclusive channel
* @mask: capabilities that the channel must satisfy
* @fn: optional callback to disposition available channels
-diff --git a/drivers/dma/ralink-gdma.c b/drivers/dma/ralink-gdma.c
-new file mode 100644
-index 0000000..2c3cace
--- /dev/null
+++ b/drivers/dma/ralink-gdma.c
@@ -0,0 +1,577 @@
@@ -659,11 +650,9 @@ index 0000000..2c3cace
+MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
+MODULE_DESCRIPTION("GDMA4740 DMA driver");
+MODULE_LICENSE("GPLv2");
-diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index c5c92d5..482131e 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
-@@ -1072,6 +1072,7 @@ struct dma_chan *dma_request_slave_channel_reason(struct device *dev,
+@@ -1073,6 +1073,7 @@ struct dma_chan *dma_request_slave_chann
const char *name);
struct dma_chan *dma_request_slave_channel(struct device *dev, const char *name);
void dma_release_channel(struct dma_chan *chan);
@@ -671,6 +660,3 @@ index c5c92d5..482131e 100644
#else
static inline struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type)
{
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch b/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch
index c1cef33764..55a61b096e 100644
--- a/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch
+++ b/target/linux/ramips/patches-3.14/0055-asoc-add-mt7620-support.patch
@@ -19,8 +19,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 sound/soc/ralink/mt7620-i2s.c
create mode 100644 sound/soc/ralink/mt7620-wm8960.c
-diff --git a/arch/mips/ralink/of.c b/arch/mips/ralink/of.c
-index 405b79c..dfda6e6 100644
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -15,6 +15,7 @@
@@ -39,8 +37,6 @@ index 405b79c..dfda6e6 100644
__iomem void *rt_memc_membase;
extern struct boot_param_header __dtb_start;
-diff --git a/sound/soc/Kconfig b/sound/soc/Kconfig
-index d62ce48..de91f58 100644
--- a/sound/soc/Kconfig
+++ b/sound/soc/Kconfig
@@ -47,6 +47,7 @@ source "sound/soc/kirkwood/Kconfig"
@@ -51,8 +47,6 @@ index d62ce48..de91f58 100644
source "sound/soc/samsung/Kconfig"
source "sound/soc/s6000/Kconfig"
source "sound/soc/sh/Kconfig"
-diff --git a/sound/soc/Makefile b/sound/soc/Makefile
-index 62a1822..1d9398c 100644
--- a/sound/soc/Makefile
+++ b/sound/soc/Makefile
@@ -24,6 +24,7 @@ obj-$(CONFIG_SND_SOC) += nuc900/
@@ -63,9 +57,6 @@ index 62a1822..1d9398c 100644
obj-$(CONFIG_SND_SOC) += samsung/
obj-$(CONFIG_SND_SOC) += s6000/
obj-$(CONFIG_SND_SOC) += sh/
-diff --git a/sound/soc/ralink/Kconfig b/sound/soc/ralink/Kconfig
-new file mode 100644
-index 0000000..d462622
--- /dev/null
+++ b/sound/soc/ralink/Kconfig
@@ -0,0 +1,15 @@
@@ -84,9 +75,6 @@ index 0000000..d462622
+ help
+ Say Y if you want to add support for ASoC audio on the Qi LB60 board
+ a.k.a Qi Ben NanoNote.
-diff --git a/sound/soc/ralink/Makefile b/sound/soc/ralink/Makefile
-new file mode 100644
-index 0000000..3d79980
--- /dev/null
+++ b/sound/soc/ralink/Makefile
@@ -0,0 +1,11 @@
@@ -101,9 +89,6 @@ index 0000000..3d79980
+snd-soc-mt7620-wm8960-objs := mt7620-wm8960.o
+
+obj-$(CONFIG_SND_MT7620_SOC_WM8960) += snd-soc-mt7620-wm8960.o
-diff --git a/sound/soc/ralink/mt7620-i2s.c b/sound/soc/ralink/mt7620-i2s.c
-new file mode 100644
-index 0000000..846db03
--- /dev/null
+++ b/sound/soc/ralink/mt7620-i2s.c
@@ -0,0 +1,466 @@
@@ -573,9 +558,6 @@ index 0000000..846db03
+MODULE_DESCRIPTION("Ingenic JZ4740 SoC I2S driver");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:mt7620-i2s");
-diff --git a/sound/soc/ralink/mt7620-wm8960.c b/sound/soc/ralink/mt7620-wm8960.c
-new file mode 100644
-index 0000000..c0f6389
--- /dev/null
+++ b/sound/soc/ralink/mt7620-wm8960.c
@@ -0,0 +1,125 @@
@@ -704,8 +686,6 @@ index 0000000..c0f6389
+MODULE_DESCRIPTION("ALSA SoC QI LB60 Audio support");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS("platform:qi-lb60-audio");
-diff --git a/sound/soc/soc-io.c b/sound/soc/soc-io.c
-index aa886cc..3fdc8c8 100644
--- a/sound/soc/soc-io.c
+++ b/sound/soc/soc-io.c
@@ -19,7 +19,6 @@
@@ -716,7 +696,7 @@ index aa886cc..3fdc8c8 100644
static int hw_write(struct snd_soc_codec *codec, unsigned int reg,
unsigned int value)
{
-@@ -135,12 +134,3 @@ int snd_soc_codec_set_cache_io(struct snd_soc_codec *codec,
+@@ -135,12 +134,3 @@ int snd_soc_codec_set_cache_io(struct sn
return PTR_ERR_OR_ZERO(codec->control_data);
}
EXPORT_SYMBOL_GPL(snd_soc_codec_set_cache_io);
@@ -729,6 +709,3 @@ index aa886cc..3fdc8c8 100644
-}
-EXPORT_SYMBOL_GPL(snd_soc_codec_set_cache_io);
-#endif
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch b/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch
index 5ddbcd5e50..11f8a426b2 100644
--- a/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch
+++ b/target/linux/ramips/patches-3.14/0056-watchdog-add-MT7621-support.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 193 insertions(+)
create mode 100644 drivers/watchdog/mt7621_wdt.c
-diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
-index 79d2589..40f4e5d 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -1193,6 +1193,13 @@ config RALINK_WDT
+@@ -1202,6 +1202,13 @@ config RALINK_WDT
help
Hardware driver for the Ralink SoC Watchdog Timer.
@@ -29,11 +27,9 @@ index 79d2589..40f4e5d 100644
# PARISC Architecture
# POWERPC Architecture
-diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
-index 985a66c..bbd5d0d 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
-@@ -138,6 +138,7 @@ obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
+@@ -139,6 +139,7 @@ obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
octeon-wdt-y := octeon-wdt-main.o octeon-wdt-nmi.o
obj-$(CONFIG_LANTIQ_WDT) += lantiq_wdt.o
obj-$(CONFIG_RALINK_WDT) += rt2880_wdt.o
@@ -41,9 +37,6 @@ index 985a66c..bbd5d0d 100644
# PARISC Architecture
-diff --git a/drivers/watchdog/mt7621_wdt.c b/drivers/watchdog/mt7621_wdt.c
-new file mode 100644
-index 0000000..29f55c2
--- /dev/null
+++ b/drivers/watchdog/mt7621_wdt.c
@@ -0,0 +1,185 @@
@@ -232,6 +225,3 @@ index 0000000..29f55c2
+MODULE_AUTHOR("John Crispin <blogic@openwrt.org");
+MODULE_LICENSE("GPL v2");
+MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch
index 89e46b904d..43b2b33b5f 100644
--- a/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch
+++ b/target/linux/ramips/patches-3.14/0057-uvc-add-iPassion-iP2970-support.patch
@@ -11,11 +11,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/media/usb/uvc/uvcvideo.h | 3 +
4 files changed, 166 insertions(+)
-diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
-index c3bb250..c6612d4 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -2467,6 +2467,20 @@ static struct usb_device_id uvc_ids[] = {
+@@ -2467,6 +2467,20 @@ static struct usb_device_id uvc_ids[] =
.bInterfaceProtocol = 0,
.driver_info = UVC_QUIRK_PROBE_MINMAX
| UVC_QUIRK_IGNORE_SELECTOR_UNIT },
@@ -36,11 +34,9 @@ index c3bb250..c6612d4 100644
/* Generic USB Video Class */
{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, 0) },
{}
-diff --git a/drivers/media/usb/uvc/uvc_status.c b/drivers/media/usb/uvc/uvc_status.c
-index f552ab9..7132ad4 100644
--- a/drivers/media/usb/uvc/uvc_status.c
+++ b/drivers/media/usb/uvc/uvc_status.c
-@@ -139,6 +139,7 @@ static void uvc_status_complete(struct urb *urb)
+@@ -139,6 +139,7 @@ static void uvc_status_complete(struct u
switch (dev->status[0] & 0x0f) {
case UVC_STATUS_TYPE_CONTROL:
uvc_event_control(dev, dev->status, len);
@@ -48,7 +44,7 @@ index f552ab9..7132ad4 100644
break;
case UVC_STATUS_TYPE_STREAMING:
-@@ -182,6 +183,7 @@ int uvc_status_init(struct uvc_device *dev)
+@@ -182,6 +183,7 @@ int uvc_status_init(struct uvc_device *d
}
pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress);
@@ -56,8 +52,6 @@ index f552ab9..7132ad4 100644
/* For high-speed interrupt endpoints, the bInterval value is used as
* an exponent of two. Some developers forgot about it.
-diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
-index 898c208..2e06163 100644
--- a/drivers/media/usb/uvc/uvc_video.c
+++ b/drivers/media/usb/uvc/uvc_video.c
@@ -21,6 +21,11 @@
@@ -72,7 +66,7 @@ index 898c208..2e06163 100644
#include <media/v4l2-common.h>
-@@ -1075,9 +1080,149 @@ static void uvc_video_decode_data(struct uvc_streaming *stream,
+@@ -1080,9 +1085,149 @@ static void uvc_video_decode_data(struct
}
}
@@ -222,7 +216,7 @@ index 898c208..2e06163 100644
/* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
-@@ -1478,6 +1623,8 @@ static int uvc_init_video_isoc(struct uvc_streaming *stream,
+@@ -1483,6 +1628,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0)
return -ENOMEM;
@@ -231,8 +225,6 @@ index 898c208..2e06163 100644
size = npackets * psize;
for (i = 0; i < UVC_URBS; ++i) {
-diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
-index 9e35982..3cacdfd 100644
--- a/drivers/media/usb/uvc/uvcvideo.h
+++ b/drivers/media/usb/uvc/uvcvideo.h
@@ -137,6 +137,8 @@
@@ -252,6 +244,3 @@ index 9e35982..3cacdfd 100644
};
enum uvc_handle_state {
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch b/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch
index b712a6b2d9..9c2b39dc42 100644
--- a/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch
+++ b/target/linux/ramips/patches-3.14/0058-GPIO-add-named-gpio-exports.patch
@@ -11,8 +11,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
include/linux/gpio/consumer.h | 8 +++++
4 files changed, 90 insertions(+), 2 deletions(-)
-diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c
-index e0a98f5..f16f271 100644
--- a/drivers/gpio/gpiolib-of.c
+++ b/drivers/gpio/gpiolib-of.c
@@ -21,6 +21,8 @@
@@ -24,7 +22,7 @@ index e0a98f5..f16f271 100644
struct gpio_desc;
-@@ -296,3 +298,69 @@ void of_gpiochip_remove(struct gpio_chip *chip)
+@@ -296,3 +298,69 @@ void of_gpiochip_remove(struct gpio_chip
if (chip->of_node)
of_node_put(chip->of_node);
}
@@ -94,8 +92,6 @@ index e0a98f5..f16f271 100644
+ return platform_driver_probe(&gpio_export_driver, of_gpio_export_probe);
+}
+device_initcall(of_gpio_export_init);
-diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
-index 50c4922..aece9f1 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -803,7 +803,7 @@ static struct class gpio_class = {
@@ -107,7 +103,7 @@ index 50c4922..aece9f1 100644
{
unsigned long flags;
int status;
-@@ -843,7 +843,8 @@ int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
+@@ -843,7 +843,8 @@ int gpiod_export(struct gpio_desc *desc,
offset = gpio_chip_hwgpio(desc);
if (desc->chip->names && desc->chip->names[offset])
ioname = desc->chip->names[offset];
@@ -130,11 +126,9 @@ index 50c4922..aece9f1 100644
EXPORT_SYMBOL_GPL(gpiod_export);
static int match_export(struct device *dev, const void *data)
-diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
-index a5f56a0..70a32ee 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
-@@ -126,6 +126,11 @@ static inline int gpio_export(unsigned gpio, bool direction_may_change)
+@@ -126,6 +126,11 @@ static inline int gpio_export(unsigned g
return gpiod_export(gpio_to_desc(gpio), direction_may_change);
}
@@ -146,11 +140,9 @@ index a5f56a0..70a32ee 100644
static inline int gpio_export_link(struct device *dev, const char *name,
unsigned gpio)
{
-diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h
-index 7a8144f..085c31c 100644
--- a/include/linux/gpio/consumer.h
+++ b/include/linux/gpio/consumer.h
-@@ -219,6 +219,7 @@ static inline struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc)
+@@ -219,6 +219,7 @@ static inline struct gpio_chip *gpiod_to
#if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
@@ -158,7 +150,7 @@ index 7a8144f..085c31c 100644
int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
int gpiod_export_link(struct device *dev, const char *name,
struct gpio_desc *desc);
-@@ -227,6 +228,13 @@ void gpiod_unexport(struct gpio_desc *desc);
+@@ -227,6 +228,13 @@ void gpiod_unexport(struct gpio_desc *de
#else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
@@ -172,6 +164,3 @@ index 7a8144f..085c31c 100644
static inline int gpiod_export(struct gpio_desc *desc,
bool direction_may_change)
{
---
-1.7.10.4
-
diff --git a/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch b/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch
index 745ed7690d..5504a2425a 100644
--- a/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch
+++ b/target/linux/ramips/patches-3.14/0059-USB-fix-dwc2.patch
@@ -1,7 +1,5 @@
-Index: linux-3.14.16/drivers/usb/dwc2/hcd.c
-===================================================================
---- linux-3.14.16.orig/drivers/usb/dwc2/hcd.c 2014-08-08 01:50:59.000000000 +0200
-+++ linux-3.14.16/drivers/usb/dwc2/hcd.c 2014-09-07 21:01:06.524023779 +0200
+--- a/drivers/usb/dwc2/hcd.c
++++ b/drivers/usb/dwc2/hcd.c
@@ -47,6 +47,7 @@
#include <linux/io.h>
#include <linux/slab.h>
@@ -10,7 +8,7 @@ Index: linux-3.14.16/drivers/usb/dwc2/hcd.c
#include <linux/usb/hcd.h>
#include <linux/usb/ch11.h>
-@@ -2764,6 +2765,8 @@
+@@ -2764,6 +2765,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso
dev_dbg(hsotg->dev, "DWC OTG HCD INIT\n");
diff --git a/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch b/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch
index 9c5a728995..f7da13a6d8 100644
--- a/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch
+++ b/target/linux/ramips/patches-3.14/0100-mtd-split-remove-padding.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -805,10 +805,6 @@ static void split_uimage(struct mtd_info
+@@ -807,10 +807,6 @@ static void split_uimage(struct mtd_info
return;
len = be32_to_cpu(hdr.size) + 0x40;
diff --git a/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch b/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch
index f48c7cbf97..b3f7d85662 100644
--- a/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch
+++ b/target/linux/ramips/patches-3.14/0101-mtd-add-rtn56u-support.patch
@@ -1,6 +1,6 @@
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
-@@ -793,8 +793,11 @@ static void split_uimage(struct mtd_info
+@@ -795,8 +795,11 @@ static void split_uimage(struct mtd_info
{
struct {
__be32 magic;
@@ -13,7 +13,7 @@
} hdr;
size_t len;
-@@ -804,7 +807,11 @@ static void split_uimage(struct mtd_info
+@@ -806,7 +809,11 @@ 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.14/0103-MIPS-OWRTDTB.patch b/target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch
index 1a00dc2dd8..7fbfa9f69b 100644
--- a/target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch
+++ b/target/linux/ramips/patches-3.14/0103-MIPS-OWRTDTB.patch
@@ -12,7 +12,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/arch/mips/kernel/head.S
+++ b/arch/mips/kernel/head.S
-@@ -146,6 +146,9 @@ EXPORT(__image_cmdline)
+@@ -107,6 +107,9 @@ EXPORT(__image_cmdline)
.fill 0x400
#endif /* CONFIG_IMAGE_CMDLINE_HACK */
@@ -32,7 +32,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+#obj-y += dts/
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
-@@ -90,6 +90,8 @@ static int __init early_init_dt_find_mem
+@@ -91,6 +91,8 @@ static int __init early_init_dt_find_mem
return 0;
}
@@ -41,12 +41,12 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
void __init plat_mem_setup(void)
{
set_io_port_base(KSEG1);
-@@ -98,7 +100,7 @@ void __init plat_mem_setup(void)
+@@ -99,7 +101,7 @@ void __init plat_mem_setup(void)
* Load the builtin devicetree. This causes the chosen node to be
* parsed resulting in our memory appearing
*/
- __dt_setup_arch(&__dtb_start);
+ __dt_setup_arch(&__image_dtb);
- of_scan_flat_dt(early_init_dt_find_memory, NULL);
- if (memory_dtb)
+ strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
+
diff --git a/target/linux/sunxi/Makefile b/target/linux/sunxi/Makefile
index 84dc3346d7..4f59f3ef91 100644
--- a/target/linux/sunxi/Makefile
+++ b/target/linux/sunxi/Makefile
@@ -15,7 +15,7 @@ CPU_TYPE:=cortex-a8
CPU_SUBTYPE:=vfpv3
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
KERNELNAME:="zImage dtbs"
DEFAULT_PACKAGES += uboot-envtools uboot-sunxi kmod-eeprom-sunxi kmod-wdt-sunxi
diff --git a/target/linux/sunxi/patches-3.14/100-dt-sun4i-add-missing-serial-aliases.patch b/target/linux/sunxi/patches-3.14/100-dt-sun4i-add-missing-serial-aliases.patch
index 5048f8500a..caa5d15874 100644
--- a/target/linux/sunxi/patches-3.14/100-dt-sun4i-add-missing-serial-aliases.patch
+++ b/target/linux/sunxi/patches-3.14/100-dt-sun4i-add-missing-serial-aliases.patch
@@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index d4d2763..64fc716 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -19,6 +19,12 @@
@@ -28,6 +26,3 @@ index d4d2763..64fc716 100644
};
cpus {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/101-dt-sun6i-add-missing-serial-aliases.patch b/target/linux/sunxi/patches-3.14/101-dt-sun6i-add-missing-serial-aliases.patch
index e2ba3c19ea..dd0f741b0d 100644
--- a/target/linux/sunxi/patches-3.14/101-dt-sun6i-add-missing-serial-aliases.patch
+++ b/target/linux/sunxi/patches-3.14/101-dt-sun6i-add-missing-serial-aliases.patch
@@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun6i-a31.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
-index 5256ad9..092bf97 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -16,6 +16,16 @@
@@ -32,6 +30,3 @@ index 5256ad9..092bf97 100644
cpus {
#address-cells = <1>;
#size-cells = <0>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/102-dt-sun7i-add-missing-serial-aliases.patch b/target/linux/sunxi/patches-3.14/102-dt-sun7i-add-missing-serial-aliases.patch
index a979036411..80daddc1fc 100644
--- a/target/linux/sunxi/patches-3.14/102-dt-sun7i-add-missing-serial-aliases.patch
+++ b/target/linux/sunxi/patches-3.14/102-dt-sun7i-add-missing-serial-aliases.patch
@@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 6f25cf5..0b6e610 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -18,6 +18,14 @@
@@ -30,6 +28,3 @@ index 6f25cf5..0b6e610 100644
};
cpus {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/103-dt-sun5i-add-missing-serial-aliases.patch b/target/linux/sunxi/patches-3.14/103-dt-sun5i-add-missing-serial-aliases.patch
index c262dfe99c..cd991dd6bc 100644
--- a/target/linux/sunxi/patches-3.14/103-dt-sun5i-add-missing-serial-aliases.patch
+++ b/target/linux/sunxi/patches-3.14/103-dt-sun5i-add-missing-serial-aliases.patch
@@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index c463fd7..d8207b0 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -16,6 +16,11 @@
@@ -27,6 +25,3 @@ index c463fd7..d8207b0 100644
cpus {
#address-cells = <1>;
#size-cells = <0>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/104-dt-sun7i-add-pinmuxing-for-uart2.patch b/target/linux/sunxi/patches-3.14/104-dt-sun7i-add-pinmuxing-for-uart2.patch
index cd343285e3..84baf3926d 100644
--- a/target/linux/sunxi/patches-3.14/104-dt-sun7i-add-pinmuxing-for-uart2.patch
+++ b/target/linux/sunxi/patches-3.14/104-dt-sun7i-add-pinmuxing-for-uart2.patch
@@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.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 0b6e610..2139e0f 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -381,6 +381,13 @@
@@ -30,6 +28,3 @@ index 0b6e610..2139e0f 100644
uart6_pins_a: uart6@0 {
allwinner,pins = "PI12", "PI13";
allwinner,function = "uart6";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/105-dt-sun4i-add-linksprite-pcduino.patch b/target/linux/sunxi/patches-3.14/105-dt-sun4i-add-linksprite-pcduino.patch
index 713c922501..546381981d 100644
--- a/target/linux/sunxi/patches-3.14/105-dt-sun4i-add-linksprite-pcduino.patch
+++ b/target/linux/sunxi/patches-3.14/105-dt-sun4i-add-linksprite-pcduino.patch
@@ -15,8 +15,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2 files changed, 49 insertions(+)
create mode 100644 arch/arm/boot/dts/sun4i-a10-pcduino.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 0320303..8e1d636 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -284,6 +284,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
@@ -27,9 +25,6 @@ index 0320303..8e1d636 100644
sun5i-a10s-olinuxino-micro.dtb \
sun5i-a13-olinuxino.dtb \
sun5i-a13-olinuxino-micro.dtb \
-diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
-new file mode 100644
-index 0000000..f5692a3
--- /dev/null
+++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
@@ -0,0 +1,48 @@
@@ -81,6 +76,3 @@ index 0000000..f5692a3
+ };
+ };
+};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/106-dt-sun7i-add-arch-timer-node.patch b/target/linux/sunxi/patches-3.14/106-dt-sun7i-add-arch-timer-node.patch
index 4ded898bbf..386f04295c 100644
--- a/target/linux/sunxi/patches-3.14/106-dt-sun7i-add-arch-timer-node.patch
+++ b/target/linux/sunxi/patches-3.14/106-dt-sun7i-add-arch-timer-node.patch
@@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 822a816..911d4e4 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -49,6 +49,14 @@
@@ -31,6 +29,3 @@ index 822a816..911d4e4 100644
clocks {
#address-cells = <1>;
#size-cells = <1>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/107-dt-sun4i-add-a10-lime.patch b/target/linux/sunxi/patches-3.14/107-dt-sun4i-add-a10-lime.patch
index c6f9edbf18..d50f362fb0 100644
--- a/target/linux/sunxi/patches-3.14/107-dt-sun4i-add-a10-lime.patch
+++ b/target/linux/sunxi/patches-3.14/107-dt-sun4i-add-a10-lime.patch
@@ -15,8 +15,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2 files changed, 112 insertions(+)
create mode 100644 arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 8e1d636..66d6df3 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -284,6 +284,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
@@ -27,9 +25,6 @@ index 8e1d636..66d6df3 100644
sun4i-a10-pcduino.dtb \
sun5i-a10s-olinuxino-micro.dtb \
sun5i-a13-olinuxino.dtb \
-diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
-new file mode 100644
-index 0000000..66cf0c7
--- /dev/null
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
@@ -0,0 +1,111 @@
@@ -144,6 +139,3 @@ index 0000000..66cf0c7
+ status = "okay";
+ };
+};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/110-dt-sun6i-add-pll-and-spi-modclocks.patch b/target/linux/sunxi/patches-3.14/110-dt-sun6i-add-pll-and-spi-modclocks.patch
index 75c0bd84ce..7d8c2cfbd2 100644
--- a/target/linux/sunxi/patches-3.14/110-dt-sun6i-add-pll-and-spi-modclocks.patch
+++ b/target/linux/sunxi/patches-3.14/110-dt-sun6i-add-pll-and-spi-modclocks.patch
@@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun6i-a31.dtsi | 46 ++++++++++++++++++++++++++++++++--------
1 file changed, 37 insertions(+), 9 deletions(-)
-diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
-index 092bf97..93d7bb6 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -83,16 +83,12 @@
@@ -77,6 +75,3 @@ index 092bf97..93d7bb6 100644
};
soc@01c00000 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/111-dt-sun4i-rename-clocknodes.patch b/target/linux/sunxi/patches-3.14/111-dt-sun4i-rename-clocknodes.patch
index 51280b55d2..9846d5cdee 100644
--- a/target/linux/sunxi/patches-3.14/111-dt-sun4i-rename-clocknodes.patch
+++ b/target/linux/sunxi/patches-3.14/111-dt-sun4i-rename-clocknodes.patch
@@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 30 ++++++++++++++++++++----------
1 file changed, 20 insertions(+), 10 deletions(-)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 64fc716..132b261 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -58,34 +58,38 @@
@@ -134,6 +132,3 @@ index 64fc716..132b261 100644
#clock-cells = <1>;
compatible = "allwinner,sun4i-apb1-gates-clk";
reg = <0x01c2006c 0x4>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/112-dt-sun5i-rename-clocknodes.patch b/target/linux/sunxi/patches-3.14/112-dt-sun5i-rename-clocknodes.patch
index 4ed1f2d59e..d3e65a5e2c 100644
--- a/target/linux/sunxi/patches-3.14/112-dt-sun5i-rename-clocknodes.patch
+++ b/target/linux/sunxi/patches-3.14/112-dt-sun5i-rename-clocknodes.patch
@@ -14,11 +14,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 30 ++++++++++++++++++++----------
2 files changed, 40 insertions(+), 20 deletions(-)
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index 848baaa..99a5120 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
-@@ -51,34 +51,38 @@
+@@ -47,34 +47,38 @@
clock-frequency = <0>;
};
@@ -62,7 +60,7 @@ index 848baaa..99a5120 100644
#clock-cells = <1>;
compatible = "allwinner,sun4i-pll5-clk";
reg = <0x01c20020 0x4>;
-@@ -86,7 +90,7 @@
+@@ -82,7 +86,7 @@
clock-output-names = "pll5_ddr", "pll5_other";
};
@@ -71,7 +69,7 @@ index 848baaa..99a5120 100644
#clock-cells = <1>;
compatible = "allwinner,sun4i-pll6-clk";
reg = <0x01c20028 0x4>;
-@@ -100,6 +104,7 @@
+@@ -96,6 +100,7 @@
compatible = "allwinner,sun4i-cpu-clk";
reg = <0x01c20054 0x4>;
clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>;
@@ -79,7 +77,7 @@ index 848baaa..99a5120 100644
};
axi: axi@01c20054 {
-@@ -107,9 +112,10 @@
+@@ -103,9 +108,10 @@
compatible = "allwinner,sun4i-axi-clk";
reg = <0x01c20054 0x4>;
clocks = <&cpu>;
@@ -91,7 +89,7 @@ index 848baaa..99a5120 100644
#clock-cells = <1>;
compatible = "allwinner,sun4i-axi-gates-clk";
reg = <0x01c2005c 0x4>;
-@@ -122,9 +128,10 @@
+@@ -118,9 +124,10 @@
compatible = "allwinner,sun4i-ahb-clk";
reg = <0x01c20054 0x4>;
clocks = <&axi>;
@@ -103,7 +101,7 @@ index 848baaa..99a5120 100644
#clock-cells = <1>;
compatible = "allwinner,sun5i-a10s-ahb-gates-clk";
reg = <0x01c20060 0x8>;
-@@ -143,9 +150,10 @@
+@@ -139,9 +146,10 @@
compatible = "allwinner,sun4i-apb0-clk";
reg = <0x01c20054 0x4>;
clocks = <&ahb>;
@@ -115,7 +113,7 @@ index 848baaa..99a5120 100644
#clock-cells = <1>;
compatible = "allwinner,sun5i-a10s-apb0-gates-clk";
reg = <0x01c20068 0x4>;
-@@ -159,6 +167,7 @@
+@@ -155,6 +163,7 @@
compatible = "allwinner,sun4i-apb1-mux-clk";
reg = <0x01c20058 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
@@ -123,7 +121,7 @@ index 848baaa..99a5120 100644
};
apb1: apb1@01c20058 {
-@@ -166,9 +175,10 @@
+@@ -162,9 +171,10 @@
compatible = "allwinner,sun4i-apb1-clk";
reg = <0x01c20058 0x4>;
clocks = <&apb1_mux>;
@@ -135,8 +133,6 @@ index 848baaa..99a5120 100644
#clock-cells = <1>;
compatible = "allwinner,sun5i-a10s-apb1-gates-clk";
reg = <0x01c2006c 0x4>;
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index d8207b0..b776baa 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -52,34 +52,38 @@
@@ -256,6 +252,3 @@ index d8207b0..b776baa 100644
#clock-cells = <1>;
compatible = "allwinner,sun5i-a13-apb1-gates-clk";
reg = <0x01c2006c 0x4>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/113-dt-sun6i-rename-clocknodes.patch b/target/linux/sunxi/patches-3.14/113-dt-sun6i-rename-clocknodes.patch
index 56c0208b0a..b0f7648026 100644
--- a/target/linux/sunxi/patches-3.14/113-dt-sun6i-rename-clocknodes.patch
+++ b/target/linux/sunxi/patches-3.14/113-dt-sun6i-rename-clocknodes.patch
@@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun6i-a31.dtsi | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
-diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
-index fc07f70..d3f1995 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -70,17 +70,19 @@
@@ -107,6 +105,3 @@ index fc07f70..d3f1995 100644
#clock-cells = <1>;
compatible = "allwinner,sun6i-a31-apb2-gates-clk";
reg = <0x01c2006c 0x4>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/114-dt-sun7i-rename-clocknodes.patch b/target/linux/sunxi/patches-3.14/114-dt-sun7i-rename-clocknodes.patch
index a1786fc89e..a8a6993e99 100644
--- a/target/linux/sunxi/patches-3.14/114-dt-sun7i-rename-clocknodes.patch
+++ b/target/linux/sunxi/patches-3.14/114-dt-sun7i-rename-clocknodes.patch
@@ -13,11 +13,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 2139e0f..78f562a 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -54,11 +54,12 @@
+@@ -62,11 +62,12 @@
#size-cells = <1>;
ranges;
@@ -31,7 +29,7 @@ index 2139e0f..78f562a 100644
};
osc32k: clk@0 {
-@@ -68,21 +69,23 @@
+@@ -76,21 +77,23 @@
clock-output-names = "osc32k";
};
@@ -58,7 +56,7 @@ index 2139e0f..78f562a 100644
#clock-cells = <1>;
compatible = "allwinner,sun4i-pll5-clk";
reg = <0x01c20020 0x4>;
-@@ -90,7 +93,7 @@
+@@ -98,7 +101,7 @@
clock-output-names = "pll5_ddr", "pll5_other";
};
@@ -67,7 +65,7 @@ index 2139e0f..78f562a 100644
#clock-cells = <1>;
compatible = "allwinner,sun4i-pll6-clk";
reg = <0x01c20028 0x4>;
-@@ -103,6 +106,7 @@
+@@ -111,6 +114,7 @@
compatible = "allwinner,sun4i-cpu-clk";
reg = <0x01c20054 0x4>;
clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll6 1>;
@@ -75,7 +73,7 @@ index 2139e0f..78f562a 100644
};
axi: axi@01c20054 {
-@@ -110,6 +114,7 @@
+@@ -118,6 +122,7 @@
compatible = "allwinner,sun4i-axi-clk";
reg = <0x01c20054 0x4>;
clocks = <&cpu>;
@@ -83,7 +81,7 @@ index 2139e0f..78f562a 100644
};
ahb: ahb@01c20054 {
-@@ -117,9 +122,10 @@
+@@ -125,9 +130,10 @@
compatible = "allwinner,sun4i-ahb-clk";
reg = <0x01c20054 0x4>;
clocks = <&axi>;
@@ -95,7 +93,7 @@ index 2139e0f..78f562a 100644
#clock-cells = <1>;
compatible = "allwinner,sun7i-a20-ahb-gates-clk";
reg = <0x01c20060 0x8>;
-@@ -144,9 +150,10 @@
+@@ -152,9 +158,10 @@
compatible = "allwinner,sun4i-apb0-clk";
reg = <0x01c20054 0x4>;
clocks = <&ahb>;
@@ -107,7 +105,7 @@ index 2139e0f..78f562a 100644
#clock-cells = <1>;
compatible = "allwinner,sun7i-a20-apb0-gates-clk";
reg = <0x01c20068 0x4>;
-@@ -162,6 +169,7 @@
+@@ -170,6 +177,7 @@
compatible = "allwinner,sun4i-apb1-mux-clk";
reg = <0x01c20058 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
@@ -115,7 +113,7 @@ index 2139e0f..78f562a 100644
};
apb1: apb1@01c20058 {
-@@ -169,9 +177,10 @@
+@@ -177,9 +185,10 @@
compatible = "allwinner,sun4i-apb1-clk";
reg = <0x01c20058 0x4>;
clocks = <&apb1_mux>;
@@ -127,6 +125,3 @@ index 2139e0f..78f562a 100644
#clock-cells = <1>;
compatible = "allwinner,sun7i-a20-apb1-gates-clk";
reg = <0x01c2006c 0x4>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/115-dt-sun6i-fix-mod0-compat.patch b/target/linux/sunxi/patches-3.14/115-dt-sun6i-fix-mod0-compat.patch
index 6b14459100..f2644a1df7 100644
--- a/target/linux/sunxi/patches-3.14/115-dt-sun6i-fix-mod0-compat.patch
+++ b/target/linux/sunxi/patches-3.14/115-dt-sun6i-fix-mod0-compat.patch
@@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun6i-a31.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
-diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
-index af6f87c..42f310a 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -200,7 +200,7 @@
@@ -51,6 +49,3 @@ index af6f87c..42f310a 100644
reg = <0x01c200ac 0x4>;
clocks = <&osc24M>, <&pll6>;
clock-output-names = "spi3";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/120-dt-sun7i-add-gmac-clocknode.patch b/target/linux/sunxi/patches-3.14/120-dt-sun7i-add-gmac-clocknode.patch
index 47dab70c69..9a1e485fd8 100644
--- a/target/linux/sunxi/patches-3.14/120-dt-sun7i-add-gmac-clocknode.patch
+++ b/target/linux/sunxi/patches-3.14/120-dt-sun7i-add-gmac-clocknode.patch
@@ -12,11 +12,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 78f562a..f6ae357 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -322,6 +322,34 @@
+@@ -330,6 +330,34 @@
};
/*
@@ -51,6 +49,3 @@ index 78f562a..f6ae357 100644
* Dummy clock used by output clocks
*/
osc24M_32k: clk@1 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/121-dt-sun7i-add-gmac-ctrlnode.patch b/target/linux/sunxi/patches-3.14/121-dt-sun7i-add-gmac-ctrlnode.patch
index bf2d384325..3ddb55ec2f 100644
--- a/target/linux/sunxi/patches-3.14/121-dt-sun7i-add-gmac-ctrlnode.patch
+++ b/target/linux/sunxi/patches-3.14/121-dt-sun7i-add-gmac-ctrlnode.patch
@@ -8,11 +8,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 15 +++++++++++++++
1 file changed, 15 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index f6ae357..fa489fe 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -645,6 +645,21 @@
+@@ -653,6 +653,21 @@
status = "disabled";
};
@@ -34,6 +32,3 @@ index f6ae357..fa489fe 100644
hstimer@01c60000 {
compatible = "allwinner,sun7i-a20-hstimer";
reg = <0x01c60000 0x1000>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/122-dt-sun7i-add-pinmuxing-for-gmac.patch b/target/linux/sunxi/patches-3.14/122-dt-sun7i-add-pinmuxing-for-gmac.patch
index 7fa7b9c898..d539af245d 100644
--- a/target/linux/sunxi/patches-3.14/122-dt-sun7i-add-pinmuxing-for-gmac.patch
+++ b/target/linux/sunxi/patches-3.14/122-dt-sun7i-add-pinmuxing-for-gmac.patch
@@ -11,11 +11,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index fa489fe..679dc50 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -484,6 +484,32 @@
+@@ -492,6 +492,32 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
};
@@ -48,6 +46,3 @@ index fa489fe..679dc50 100644
};
timer@01c20c00 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/123-dt-sun7i-cubietruck-enable-gmac.patch b/target/linux/sunxi/patches-3.14/123-dt-sun7i-cubietruck-enable-gmac.patch
index 4bc4a76ab5..9551fa874e 100644
--- a/target/linux/sunxi/patches-3.14/123-dt-sun7i-cubietruck-enable-gmac.patch
+++ b/target/linux/sunxi/patches-3.14/123-dt-sun7i-cubietruck-enable-gmac.patch
@@ -10,12 +10,10 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 12 ++++++++++++
1 file changed, 12 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index f9dcb61..025ce52 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-@@ -51,6 +51,18 @@
- pinctrl-0 = <&i2c2_pins_a>;
+@@ -47,6 +47,18 @@
+ pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
+
@@ -33,6 +31,3 @@ index f9dcb61..025ce52 100644
};
leds {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/124-dt-sun7i-cubieboard2-enable-gmac.patch b/target/linux/sunxi/patches-3.14/124-dt-sun7i-cubieboard2-enable-gmac.patch
index 511606466d..c4744e9b74 100644
--- a/target/linux/sunxi/patches-3.14/124-dt-sun7i-cubieboard2-enable-gmac.patch
+++ b/target/linux/sunxi/patches-3.14/124-dt-sun7i-cubieboard2-enable-gmac.patch
@@ -11,8 +11,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 27 ++++++++++++---------------
1 file changed, 12 insertions(+), 15 deletions(-)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
-index 5c51cb8..7bf4935 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -19,21 +19,6 @@
@@ -56,6 +54,3 @@ index 5c51cb8..7bf4935 100644
};
leds {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/125-dt-sun7i-olinuxinom-enable-gmac.patch b/target/linux/sunxi/patches-3.14/125-dt-sun7i-olinuxinom-enable-gmac.patch
index 756400a557..b4648c816b 100644
--- a/target/linux/sunxi/patches-3.14/125-dt-sun7i-olinuxinom-enable-gmac.patch
+++ b/target/linux/sunxi/patches-3.14/125-dt-sun7i-olinuxinom-enable-gmac.patch
@@ -12,8 +12,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 27 +++++++++++--------------
1 file changed, 12 insertions(+), 15 deletions(-)
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index ead3013..b02a796 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -19,21 +19,6 @@
@@ -57,6 +55,3 @@ index ead3013..b02a796 100644
};
leds {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/126-dt-sun7i-add-eth-alias-for-gmac.patch b/target/linux/sunxi/patches-3.14/126-dt-sun7i-add-eth-alias-for-gmac.patch
index 0fe2087ebc..014058802c 100644
--- a/target/linux/sunxi/patches-3.14/126-dt-sun7i-add-eth-alias-for-gmac.patch
+++ b/target/linux/sunxi/patches-3.14/126-dt-sun7i-add-eth-alias-for-gmac.patch
@@ -13,8 +13,6 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 679dc50..bfc3a95 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -17,7 +17,7 @@
@@ -26,6 +24,3 @@ index 679dc50..bfc3a95 100644
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/130-dt-sun4i-add-usbclock-bindings.patch b/target/linux/sunxi/patches-3.14/130-dt-sun4i-add-usbclock-bindings.patch
index 71d97c67ac..b94aeaf81c 100644
--- a/target/linux/sunxi/patches-3.14/130-dt-sun4i-add-usbclock-bindings.patch
+++ b/target/linux/sunxi/patches-3.14/130-dt-sun4i-add-usbclock-bindings.patch
@@ -10,8 +10,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 132b261..2d623d0 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -315,6 +315,15 @@
@@ -30,6 +28,3 @@ index 132b261..2d623d0 100644
spi3_clk: clk@01c200d4 {
#clock-cells = <0>;
compatible = "allwinner,sun4i-mod0-clk";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/131-dt-sun5i-add-usbclock-bindings.patch b/target/linux/sunxi/patches-3.14/131-dt-sun5i-add-usbclock-bindings.patch
index 337710cbf5..366adb4b57 100644
--- a/target/linux/sunxi/patches-3.14/131-dt-sun5i-add-usbclock-bindings.patch
+++ b/target/linux/sunxi/patches-3.14/131-dt-sun5i-add-usbclock-bindings.patch
@@ -11,11 +11,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 9 +++++++++
2 files changed, 18 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index 99a5120..905317e 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
-@@ -276,6 +276,15 @@
+@@ -272,6 +272,15 @@
clock-output-names = "ir0";
};
@@ -31,8 +29,6 @@ index 99a5120..905317e 100644
mbus_clk: clk@01c2015c {
#clock-cells = <0>;
compatible = "allwinner,sun4i-mod0-clk";
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index b776baa..d196ebc6 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -274,6 +274,15 @@
@@ -51,6 +47,3 @@ index b776baa..d196ebc6 100644
mbus_clk: clk@01c2015c {
#clock-cells = <0>;
compatible = "allwinner,sun4i-mod0-clk";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/132-dt-sun7i-add-usbclock-bindings.patch b/target/linux/sunxi/patches-3.14/132-dt-sun7i-add-usbclock-bindings.patch
index 151aa46162..1a97faef5e 100644
--- a/target/linux/sunxi/patches-3.14/132-dt-sun7i-add-usbclock-bindings.patch
+++ b/target/linux/sunxi/patches-3.14/132-dt-sun7i-add-usbclock-bindings.patch
@@ -10,11 +10,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index bfc3a95..822a816 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -305,6 +305,15 @@
+@@ -313,6 +313,15 @@
clock-output-names = "ir1";
};
@@ -30,6 +28,3 @@ index bfc3a95..822a816 100644
spi3_clk: clk@01c200d4 {
#clock-cells = <0>;
compatible = "allwinner,sun4i-mod0-clk";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/135-pinctrl-fixes.patch b/target/linux/sunxi/patches-3.14/135-pinctrl-fixes.patch
index e653fe900f..5eb1fabc0b 100644
--- a/target/linux/sunxi/patches-3.14/135-pinctrl-fixes.patch
+++ b/target/linux/sunxi/patches-3.14/135-pinctrl-fixes.patch
@@ -13,11 +13,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/pinctrl/pinctrl-sunxi-pins.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-sunxi-pins.h b/drivers/pinctrl/pinctrl-sunxi-pins.h
-index 6fd8d4d..3d60669 100644
--- a/drivers/pinctrl/pinctrl-sunxi-pins.h
+++ b/drivers/pinctrl/pinctrl-sunxi-pins.h
-@@ -1932,27 +1932,27 @@ static const struct sunxi_desc_pin sun5i_a13_pins[] = {
+@@ -1932,27 +1932,27 @@ static const struct sunxi_desc_pin sun5i
SUNXI_PIN(SUNXI_PINCTRL_PIN_PF0,
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
@@ -51,24 +49,6 @@ index 6fd8d4d..3d60669 100644
/* Hole */
SUNXI_PIN(SUNXI_PINCTRL_PIN_PG0,
SUNXI_FUNCTION(0x0, "gpio_in"),
---
-2.0.3
-
-From 8d2c11e63a3302bbbdac41fc765c881da8a8eb37 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sat, 15 Feb 2014 12:58:17 +0100
-Subject: [PATCH] pinctrl-sunxi: Fix hang on gpio irq
-
-Our irq handler was missing chained_irq_enter / exit calls, causing a
-hard hang as soon as a gpio irq happened.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/pinctrl/pinctrl-sunxi.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/pinctrl/pinctrl-sunxi.c b/drivers/pinctrl/pinctrl-sunxi.c
-index f9fabe9..d16da53 100644
--- a/drivers/pinctrl/pinctrl-sunxi.c
+++ b/drivers/pinctrl/pinctrl-sunxi.c
@@ -13,6 +13,7 @@
@@ -79,7 +59,7 @@ index f9fabe9..d16da53 100644
#include <linux/irqdomain.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/module.h>
-@@ -670,6 +671,8 @@ static void sunxi_pinctrl_irq_handler(unsigned irq, struct irq_desc *desc)
+@@ -670,6 +671,8 @@ static void sunxi_pinctrl_irq_handler(un
struct sunxi_pinctrl *pctl = irq_get_handler_data(irq);
const unsigned long reg = readl(pctl->membase + IRQ_STATUS_REG);
@@ -88,7 +68,7 @@ index f9fabe9..d16da53 100644
/* Clear all interrupts */
writel(reg, pctl->membase + IRQ_STATUS_REG);
-@@ -683,6 +686,7 @@ static void sunxi_pinctrl_irq_handler(unsigned irq, struct irq_desc *desc)
+@@ -683,6 +686,7 @@ static void sunxi_pinctrl_irq_handler(un
}
chained_irq_exit(chip, desc);
}
@@ -96,6 +76,3 @@ index f9fabe9..d16da53 100644
}
static struct of_device_id sunxi_pinctrl_match[] = {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/136-1-irqchip-sun4i-fixes.patch b/target/linux/sunxi/patches-3.14/136-1-irqchip-sun4i-fixes.patch
index 5a8c83c5e1..4345d3e0dd 100644
--- a/target/linux/sunxi/patches-3.14/136-1-irqchip-sun4i-fixes.patch
+++ b/target/linux/sunxi/patches-3.14/136-1-irqchip-sun4i-fixes.patch
@@ -17,8 +17,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
kernel/irq/manage.c | 2 +-
4 files changed, 45 insertions(+), 9 deletions(-)
-diff --git a/include/linux/irq.h b/include/linux/irq.h
-index 7dc1003..0f036fb 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -349,6 +349,8 @@ struct irq_chip {
@@ -38,8 +36,6 @@ index 7dc1003..0f036fb 100644
};
/* This include will go away once we isolated irq_desc usage to core code */
-diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
-index dc04c16..6397df2 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -281,6 +281,19 @@ void unmask_irq(struct irq_desc *desc)
@@ -62,7 +58,7 @@ index dc04c16..6397df2 100644
/*
* handle_nested_irq - Handle a nested irq from a irq thread
* @irq: the interrupt number
-@@ -435,6 +448,27 @@ static inline void preflow_handler(struct irq_desc *desc)
+@@ -435,6 +448,27 @@ static inline void preflow_handler(struc
static inline void preflow_handler(struct irq_desc *desc) { }
#endif
@@ -90,7 +86,7 @@ index dc04c16..6397df2 100644
/**
* handle_fasteoi_irq - irq handler for transparent controllers
* @irq: the interrupt number
-@@ -448,6 +482,8 @@ static inline void preflow_handler(struct irq_desc *desc) { }
+@@ -448,6 +482,8 @@ static inline void preflow_handler(struc
void
handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc)
{
@@ -99,7 +95,7 @@ index dc04c16..6397df2 100644
raw_spin_lock(&desc->lock);
if (unlikely(irqd_irq_inprogress(&desc->irq_data)))
-@@ -473,18 +509,14 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc)
+@@ -473,18 +509,14 @@ handle_fasteoi_irq(unsigned int irq, str
preflow_handler(desc);
handle_irq_event(desc);
@@ -122,11 +118,9 @@ index dc04c16..6397df2 100644
}
/**
-diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h
-index 001fa5b..e98bb56 100644
--- a/kernel/irq/internals.h
+++ b/kernel/irq/internals.h
-@@ -73,6 +73,7 @@ extern void irq_percpu_enable(struct irq_desc *desc, unsigned int cpu);
+@@ -73,6 +73,7 @@ extern void irq_percpu_enable(struct irq
extern void irq_percpu_disable(struct irq_desc *desc, unsigned int cpu);
extern void mask_irq(struct irq_desc *desc);
extern void unmask_irq(struct irq_desc *desc);
@@ -134,11 +128,9 @@ index 001fa5b..e98bb56 100644
extern void init_kstat_irqs(struct irq_desc *desc, int node, int nr);
-diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
-index d3bf660..7593958 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
-@@ -718,7 +718,7 @@ static void irq_finalize_oneshot(struct irq_desc *desc,
+@@ -713,7 +713,7 @@ again:
if (!desc->threads_oneshot && !irqd_irq_disabled(&desc->irq_data) &&
irqd_irq_masked(&desc->irq_data))
@@ -147,35 +139,56 @@ index d3bf660..7593958 100644
out_unlock:
raw_spin_unlock_irq(&desc->lock);
---
-2.0.3
-
-From d000f9a5348e6d6c8b620a9c2d0b97c69d6d6153 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 11 Mar 2014 16:47:46 +0100
-Subject: [PATCH] irqchip: sun4i: Fix irq 0 not working
-
-SUN4I_IRQ_VECTOR_REG containing 0 can mean one of 3 things:
-1) no more irqs pending
-2) irq 0 pending
-3) spurious irq
-
-So if we immediately get a reading of 0, check the irq-pending reg
-to differentiate between 2 and 3. We only do this once to avoid
-the extra check in the common case of 1) hapening after having
-read the vector-reg once.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
----
- drivers/irqchip/irq-sun4i.c | 18 ++++++++++++++++--
- 1 file changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
-index a5438d8..5c25048 100644
--- a/drivers/irqchip/irq-sun4i.c
+++ b/drivers/irqchip/irq-sun4i.c
-@@ -140,10 +140,24 @@ static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *re
+@@ -41,13 +41,11 @@ static asmlinkage void __exception_irq_e
+ static void sun4i_irq_ack(struct irq_data *irqd)
+ {
+ unsigned int irq = irqd_to_hwirq(irqd);
+- unsigned int irq_off = irq % 32;
+- int reg = irq / 32;
+- u32 val;
+
+- val = readl(sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
+- writel(val | (1 << irq_off),
+- sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
++ if (irq != 0)
++ return; /* Only IRQ 0 / the ENMI needs to be acked */
++
++ writel(BIT(0), sun4i_irq_base + SUN4I_IRQ_PENDING_REG(0));
+ }
+
+ static void sun4i_irq_mask(struct irq_data *irqd)
+@@ -76,16 +74,16 @@ static void sun4i_irq_unmask(struct irq_
+
+ static struct irq_chip sun4i_irq_chip = {
+ .name = "sun4i_irq",
+- .irq_ack = sun4i_irq_ack,
++ .irq_eoi = sun4i_irq_ack,
+ .irq_mask = sun4i_irq_mask,
+ .irq_unmask = sun4i_irq_unmask,
++ .flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED,
+ };
+
+ static int sun4i_irq_map(struct irq_domain *d, unsigned int virq,
+ irq_hw_number_t hw)
+ {
+- irq_set_chip_and_handler(virq, &sun4i_irq_chip,
+- handle_level_irq);
++ irq_set_chip_and_handler(virq, &sun4i_irq_chip, handle_fasteoi_irq);
+ set_irq_flags(virq, IRQF_VALID | IRQF_PROBE);
+
+ return 0;
+@@ -109,7 +107,7 @@ static int __init sun4i_of_init(struct d
+ writel(0, sun4i_irq_base + SUN4I_IRQ_ENABLE_REG(1));
+ writel(0, sun4i_irq_base + SUN4I_IRQ_ENABLE_REG(2));
+
+- /* Mask all the interrupts */
++ /* Unmask all the interrupts, ENABLE_REG(x) is used for masking */
+ writel(0, sun4i_irq_base + SUN4I_IRQ_MASK_REG(0));
+ writel(0, sun4i_irq_base + SUN4I_IRQ_MASK_REG(1));
+ writel(0, sun4i_irq_base + SUN4I_IRQ_MASK_REG(2));
+@@ -140,10 +138,24 @@ static asmlinkage void __exception_irq_e
{
u32 irq, hwirq;
@@ -202,214 +215,3 @@ index a5438d8..5c25048 100644
- }
+ } while (hwirq != 0);
}
---
-2.0.3
-
-From b37587009473582d9fc080e8b8b99b67b0077a90 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 11 Mar 2014 16:53:23 +0100
-Subject: [PATCH] irqchip: sun4i: Fix a comment about mask register
- initialization
-
-The comment was claiming that we were masking all irqs, while the code actually
-*un*masks all of them.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
----
- drivers/irqchip/irq-sun4i.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
-index 5c25048..8a2fbee 100644
---- a/drivers/irqchip/irq-sun4i.c
-+++ b/drivers/irqchip/irq-sun4i.c
-@@ -109,7 +109,7 @@ static int __init sun4i_of_init(struct device_node *node,
- writel(0, sun4i_irq_base + SUN4I_IRQ_ENABLE_REG(1));
- writel(0, sun4i_irq_base + SUN4I_IRQ_ENABLE_REG(2));
-
-- /* Mask all the interrupts */
-+ /* Unmask all the interrupts, ENABLE_REG(x) is used for masking */
- writel(0, sun4i_irq_base + SUN4I_IRQ_MASK_REG(0));
- writel(0, sun4i_irq_base + SUN4I_IRQ_MASK_REG(1));
- writel(0, sun4i_irq_base + SUN4I_IRQ_MASK_REG(2));
---
-2.0.3
-
-From c8865ee82b74b2d95339370972a0d9bfdbac09cf Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Wed, 12 Mar 2014 17:43:45 +0100
-Subject: [PATCH] irqchip: sun4i: Don't ack IRQs != 0, fix acking of IRQ 0
-
-All IRQs except for IRQ 0 seem to not need acking, so drop acking for them.
-
-The ENMI needs to have the ack done *after* clearing the interrupt source,
-otherwise we will get a spurious interrupt for each real interrupt.
-
-So use the new IRQCHIP_EOI_THREADED flag for this in combination with
-handle_fasteoi_irq. This uses a separate irq_chip struct for IRQ 0,
-since we only want this behavior for IRQ 0.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/irqchip/irq-sun4i.c | 19 ++++++++++++++++---
- 1 file changed, 16 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
-index 8a2fbee..a0ed1ea 100644
---- a/drivers/irqchip/irq-sun4i.c
-+++ b/drivers/irqchip/irq-sun4i.c
-@@ -76,16 +76,29 @@ static void sun4i_irq_unmask(struct irq_data *irqd)
-
- static struct irq_chip sun4i_irq_chip = {
- .name = "sun4i_irq",
-- .irq_ack = sun4i_irq_ack,
- .irq_mask = sun4i_irq_mask,
- .irq_unmask = sun4i_irq_unmask,
- };
-
-+/* IRQ 0 / the ENMI needs a late eoi call */
-+static struct irq_chip sun4i_irq_chip_enmi = {
-+ .name = "sun4i_irq",
-+ .irq_eoi = sun4i_irq_ack,
-+ .irq_mask = sun4i_irq_mask,
-+ .irq_unmask = sun4i_irq_unmask,
-+ .flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED,
-+};
-+
- static int sun4i_irq_map(struct irq_domain *d, unsigned int virq,
- irq_hw_number_t hw)
- {
-- irq_set_chip_and_handler(virq, &sun4i_irq_chip,
-- handle_level_irq);
-+ if (hw == 0)
-+ irq_set_chip_and_handler(virq, &sun4i_irq_chip_enmi,
-+ handle_fasteoi_irq);
-+ else
-+ irq_set_chip_and_handler(virq, &sun4i_irq_chip,
-+ handle_level_irq);
-+
- set_irq_flags(virq, IRQF_VALID | IRQF_PROBE);
-
- return 0;
---
-2.0.3
-
-From f8b4347aa12d7a30aa1d3e5bfcdccece52d17af3 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 13 Mar 2014 19:38:26 +0100
-Subject: [PATCH] irqchip: sun4i: Use handle_fasteoi_irq for all interrupts
-
-Since the sun4i irq chip does not require any action and clears the interrupt
-when the level goes back to inactive, we don't need to mask / unmask for
-non oneshot IRQs, to achieve this we make sun4i_irq_ack a nop for all irqs
-except irq 0 and use handle_fasteoi_irq for all interrupts.
-
-Now there might be a case when the device reactivates the interrupt
-before the RETI. But that does not matter as we run the primary
-interrupt handlers with interrupts disabled.
-
-This also allows us to get rid of needing to use 2 irq_chip structs, this
-means that the IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED will now influence
-all interrupts rather then just irq 0, but that does not matter as the eoi
-is now a nop anyways for all interrupts but irq 0.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
----
- drivers/irqchip/irq-sun4i.c | 18 ++++--------------
- 1 file changed, 4 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
-index a0ed1ea..6a8c88d 100644
---- a/drivers/irqchip/irq-sun4i.c
-+++ b/drivers/irqchip/irq-sun4i.c
-@@ -45,6 +45,9 @@ static void sun4i_irq_ack(struct irq_data *irqd)
- int reg = irq / 32;
- u32 val;
-
-+ if (irq != 0)
-+ return; /* Only IRQ 0 / the ENMI needs to be acked */
-+
- val = readl(sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
- writel(val | (1 << irq_off),
- sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
-@@ -76,13 +79,6 @@ static void sun4i_irq_unmask(struct irq_data *irqd)
-
- static struct irq_chip sun4i_irq_chip = {
- .name = "sun4i_irq",
-- .irq_mask = sun4i_irq_mask,
-- .irq_unmask = sun4i_irq_unmask,
--};
--
--/* IRQ 0 / the ENMI needs a late eoi call */
--static struct irq_chip sun4i_irq_chip_enmi = {
-- .name = "sun4i_irq",
- .irq_eoi = sun4i_irq_ack,
- .irq_mask = sun4i_irq_mask,
- .irq_unmask = sun4i_irq_unmask,
-@@ -92,13 +88,7 @@ static struct irq_chip sun4i_irq_chip_enmi = {
- static int sun4i_irq_map(struct irq_domain *d, unsigned int virq,
- irq_hw_number_t hw)
- {
-- if (hw == 0)
-- irq_set_chip_and_handler(virq, &sun4i_irq_chip_enmi,
-- handle_fasteoi_irq);
-- else
-- irq_set_chip_and_handler(virq, &sun4i_irq_chip,
-- handle_level_irq);
--
-+ irq_set_chip_and_handler(virq, &sun4i_irq_chip, handle_fasteoi_irq);
- set_irq_flags(virq, IRQF_VALID | IRQF_PROBE);
-
- return 0;
---
-2.0.3
-
-From de39bc31eaa554bd044e6adefacd3da6da5bf6e3 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 13 Mar 2014 20:41:20 +0100
-Subject: [PATCH] irqchip: sun4i: simplify sun4i_irq_ack
-
-Now that we only ack irq 0 the code can be simplified a lot.
-
-Also switch from read / modify / write to a simple write clear:
-1) This is what the android code does (it has a hack for acking irq 0
- in its unmask code doing this)
-2) read / modify / write simply does not make sense for an irq status
- register like this, if the other bits are writeable (and the data sheet says
- they are not) they should be write 1 to clear, since otherwise a read /
- modify / write can race with a device raising an interrupt and then clear
- the pending bit unintentionally
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
----
- drivers/irqchip/irq-sun4i.c | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
-index 6a8c88d..75615b5 100644
---- a/drivers/irqchip/irq-sun4i.c
-+++ b/drivers/irqchip/irq-sun4i.c
-@@ -41,16 +41,11 @@ static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *re
- static void sun4i_irq_ack(struct irq_data *irqd)
- {
- unsigned int irq = irqd_to_hwirq(irqd);
-- unsigned int irq_off = irq % 32;
-- int reg = irq / 32;
-- u32 val;
-
- if (irq != 0)
- return; /* Only IRQ 0 / the ENMI needs to be acked */
-
-- val = readl(sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
-- writel(val | (1 << irq_off),
-- sun4i_irq_base + SUN4I_IRQ_PENDING_REG(reg));
-+ writel(BIT(0), sun4i_irq_base + SUN4I_IRQ_PENDING_REG(0));
- }
-
- static void sun4i_irq_mask(struct irq_data *irqd)
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/137-1-pinctrl-create-irq-pin-mapping.patch b/target/linux/sunxi/patches-3.14/137-1-pinctrl-create-irq-pin-mapping.patch
index cd209cdb59..1e4f1c79df 100644
--- a/target/linux/sunxi/patches-3.14/137-1-pinctrl-create-irq-pin-mapping.patch
+++ b/target/linux/sunxi/patches-3.14/137-1-pinctrl-create-irq-pin-mapping.patch
@@ -13,11 +13,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/pinctrl/pinctrl-sunxi.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
-diff --git a/drivers/pinctrl/pinctrl-sunxi.c b/drivers/pinctrl/pinctrl-sunxi.c
-index d16da53..067e7e10 100644
--- a/drivers/pinctrl/pinctrl-sunxi.c
+++ b/drivers/pinctrl/pinctrl-sunxi.c
-@@ -531,8 +531,6 @@ static int sunxi_pinctrl_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
+@@ -531,8 +531,6 @@ static int sunxi_pinctrl_gpio_to_irq(str
if (!desc)
return -EINVAL;
@@ -26,7 +24,7 @@ index d16da53..067e7e10 100644
dev_dbg(chip->dev, "%s: request IRQ for GPIO %d, return %d\n",
chip->label, offset + chip->base, desc->irqnum);
-@@ -759,6 +757,9 @@ static int sunxi_pinctrl_build_state(struct platform_device *pdev)
+@@ -759,6 +757,9 @@ static int sunxi_pinctrl_build_state(str
struct sunxi_desc_function *func = pin->functions;
while (func->name) {
@@ -36,6 +34,3 @@ index d16da53..067e7e10 100644
sunxi_pinctrl_add_function(pctl, func->name);
func++;
}
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/137-2-pinctrl-add-IRQCHIP_SKIP_SET_WAKE.patch b/target/linux/sunxi/patches-3.14/137-2-pinctrl-add-IRQCHIP_SKIP_SET_WAKE.patch
index 8db59a454d..58e13946d9 100644
--- a/target/linux/sunxi/patches-3.14/137-2-pinctrl-add-IRQCHIP_SKIP_SET_WAKE.patch
+++ b/target/linux/sunxi/patches-3.14/137-2-pinctrl-add-IRQCHIP_SKIP_SET_WAKE.patch
@@ -13,11 +13,9 @@ Also add a name to the irq chip.
drivers/pinctrl/pinctrl-sunxi.c | 2 ++
1 file changed, 2 insertions(+)
-diff --git a/drivers/pinctrl/pinctrl-sunxi.c b/drivers/pinctrl/pinctrl-sunxi.c
-index 067e7e10..d7a41a8 100644
--- a/drivers/pinctrl/pinctrl-sunxi.c
+++ b/drivers/pinctrl/pinctrl-sunxi.c
-@@ -661,6 +661,8 @@ static struct irq_chip sunxi_pinctrl_irq_chip = {
+@@ -661,6 +661,8 @@ static struct irq_chip sunxi_pinctrl_irq
.irq_mask_ack = sunxi_pinctrl_irq_mask_ack,
.irq_unmask = sunxi_pinctrl_irq_unmask,
.irq_set_type = sunxi_pinctrl_irq_set_type,
@@ -26,6 +24,3 @@ index 067e7e10..d7a41a8 100644
};
static void sunxi_pinctrl_irq_handler(unsigned irq, struct irq_desc *desc)
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/137-3-dt-sun7i-add-interrupt-cells.patch b/target/linux/sunxi/patches-3.14/137-3-dt-sun7i-add-interrupt-cells.patch
index 31cf5e4852..fb3b5cde95 100644
--- a/target/linux/sunxi/patches-3.14/137-3-dt-sun7i-add-interrupt-cells.patch
+++ b/target/linux/sunxi/patches-3.14/137-3-dt-sun7i-add-interrupt-cells.patch
@@ -13,11 +13,9 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 0c57ac5..30b9aba 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -572,7 +572,7 @@
+@@ -424,7 +424,7 @@
clocks = <&apb0_gates 5>;
gpio-controller;
interrupt-controller;
@@ -26,6 +24,3 @@ index 0c57ac5..30b9aba 100644
#size-cells = <0>;
#gpio-cells = <3>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/140-dt-sunxi-convert-to-new-clock-compats.patch b/target/linux/sunxi/patches-3.14/140-dt-sunxi-convert-to-new-clock-compats.patch
index 443a65218e..875aea1450 100644
--- a/target/linux/sunxi/patches-3.14/140-dt-sunxi-convert-to-new-clock-compats.patch
+++ b/target/linux/sunxi/patches-3.14/140-dt-sunxi-convert-to-new-clock-compats.patch
@@ -15,8 +15,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 54 +++++++++++++++++------------------
5 files changed, 110 insertions(+), 110 deletions(-)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 2d623d0..f6f41d6 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -60,7 +60,7 @@
@@ -289,11 +287,9 @@ index 2d623d0..f6f41d6 100644
reg = <0x01c200d4 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "spi3";
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index 905317e..df90a29 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
-@@ -53,7 +53,7 @@
+@@ -49,7 +49,7 @@
osc24M: clk@01c20050 {
#clock-cells = <0>;
@@ -302,7 +298,7 @@ index 905317e..df90a29 100644
reg = <0x01c20050 0x4>;
clock-frequency = <24000000>;
clock-output-names = "osc24M";
-@@ -68,7 +68,7 @@
+@@ -64,7 +64,7 @@
pll1: clk@01c20000 {
#clock-cells = <0>;
@@ -311,7 +307,7 @@ index 905317e..df90a29 100644
reg = <0x01c20000 0x4>;
clocks = <&osc24M>;
clock-output-names = "pll1";
-@@ -76,7 +76,7 @@
+@@ -72,7 +72,7 @@
pll4: clk@01c20018 {
#clock-cells = <0>;
@@ -320,7 +316,7 @@ index 905317e..df90a29 100644
reg = <0x01c20018 0x4>;
clocks = <&osc24M>;
clock-output-names = "pll4";
-@@ -84,7 +84,7 @@
+@@ -80,7 +80,7 @@
pll5: clk@01c20020 {
#clock-cells = <1>;
@@ -329,7 +325,7 @@ index 905317e..df90a29 100644
reg = <0x01c20020 0x4>;
clocks = <&osc24M>;
clock-output-names = "pll5_ddr", "pll5_other";
-@@ -92,7 +92,7 @@
+@@ -88,7 +88,7 @@
pll6: clk@01c20028 {
#clock-cells = <1>;
@@ -338,7 +334,7 @@ index 905317e..df90a29 100644
reg = <0x01c20028 0x4>;
clocks = <&osc24M>;
clock-output-names = "pll6_sata", "pll6_other", "pll6";
-@@ -101,7 +101,7 @@
+@@ -97,7 +97,7 @@
/* dummy is 200M */
cpu: cpu@01c20054 {
#clock-cells = <0>;
@@ -347,7 +343,7 @@ index 905317e..df90a29 100644
reg = <0x01c20054 0x4>;
clocks = <&osc32k>, <&osc24M>, <&pll1>, <&dummy>;
clock-output-names = "cpu";
-@@ -109,7 +109,7 @@
+@@ -105,7 +105,7 @@
axi: axi@01c20054 {
#clock-cells = <0>;
@@ -356,7 +352,7 @@ index 905317e..df90a29 100644
reg = <0x01c20054 0x4>;
clocks = <&cpu>;
clock-output-names = "axi";
-@@ -117,7 +117,7 @@
+@@ -113,7 +113,7 @@
axi_gates: clk@01c2005c {
#clock-cells = <1>;
@@ -365,7 +361,7 @@ index 905317e..df90a29 100644
reg = <0x01c2005c 0x4>;
clocks = <&axi>;
clock-output-names = "axi_dram";
-@@ -125,7 +125,7 @@
+@@ -121,7 +121,7 @@
ahb: ahb@01c20054 {
#clock-cells = <0>;
@@ -374,7 +370,7 @@ index 905317e..df90a29 100644
reg = <0x01c20054 0x4>;
clocks = <&axi>;
clock-output-names = "ahb";
-@@ -147,7 +147,7 @@
+@@ -143,7 +143,7 @@
apb0: apb0@01c20054 {
#clock-cells = <0>;
@@ -383,7 +379,7 @@ index 905317e..df90a29 100644
reg = <0x01c20054 0x4>;
clocks = <&ahb>;
clock-output-names = "apb0";
-@@ -164,7 +164,7 @@
+@@ -160,7 +160,7 @@
apb1_mux: apb1_mux@01c20058 {
#clock-cells = <0>;
@@ -392,7 +388,7 @@ index 905317e..df90a29 100644
reg = <0x01c20058 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
clock-output-names = "apb1_mux";
-@@ -172,7 +172,7 @@
+@@ -168,7 +168,7 @@
apb1: apb1@01c20058 {
#clock-cells = <0>;
@@ -401,7 +397,7 @@ index 905317e..df90a29 100644
reg = <0x01c20058 0x4>;
clocks = <&apb1_mux>;
clock-output-names = "apb1";
-@@ -190,7 +190,7 @@
+@@ -186,7 +186,7 @@
nand_clk: clk@01c20080 {
#clock-cells = <0>;
@@ -410,7 +406,7 @@ index 905317e..df90a29 100644
reg = <0x01c20080 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "nand";
-@@ -198,7 +198,7 @@
+@@ -194,7 +194,7 @@
ms_clk: clk@01c20084 {
#clock-cells = <0>;
@@ -419,7 +415,7 @@ index 905317e..df90a29 100644
reg = <0x01c20084 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "ms";
-@@ -206,7 +206,7 @@
+@@ -202,7 +202,7 @@
mmc0_clk: clk@01c20088 {
#clock-cells = <0>;
@@ -428,7 +424,7 @@ index 905317e..df90a29 100644
reg = <0x01c20088 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "mmc0";
-@@ -214,7 +214,7 @@
+@@ -210,7 +210,7 @@
mmc1_clk: clk@01c2008c {
#clock-cells = <0>;
@@ -437,7 +433,7 @@ index 905317e..df90a29 100644
reg = <0x01c2008c 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "mmc1";
-@@ -222,7 +222,7 @@
+@@ -218,7 +218,7 @@
mmc2_clk: clk@01c20090 {
#clock-cells = <0>;
@@ -446,7 +442,7 @@ index 905317e..df90a29 100644
reg = <0x01c20090 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "mmc2";
-@@ -230,7 +230,7 @@
+@@ -226,7 +226,7 @@
ts_clk: clk@01c20098 {
#clock-cells = <0>;
@@ -455,7 +451,7 @@ index 905317e..df90a29 100644
reg = <0x01c20098 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "ts";
-@@ -238,7 +238,7 @@
+@@ -234,7 +234,7 @@
ss_clk: clk@01c2009c {
#clock-cells = <0>;
@@ -464,7 +460,7 @@ index 905317e..df90a29 100644
reg = <0x01c2009c 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "ss";
-@@ -246,7 +246,7 @@
+@@ -242,7 +242,7 @@
spi0_clk: clk@01c200a0 {
#clock-cells = <0>;
@@ -473,7 +469,7 @@ index 905317e..df90a29 100644
reg = <0x01c200a0 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "spi0";
-@@ -254,7 +254,7 @@
+@@ -250,7 +250,7 @@
spi1_clk: clk@01c200a4 {
#clock-cells = <0>;
@@ -482,7 +478,7 @@ index 905317e..df90a29 100644
reg = <0x01c200a4 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "spi1";
-@@ -262,7 +262,7 @@
+@@ -258,7 +258,7 @@
spi2_clk: clk@01c200a8 {
#clock-cells = <0>;
@@ -491,7 +487,7 @@ index 905317e..df90a29 100644
reg = <0x01c200a8 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "spi2";
-@@ -270,7 +270,7 @@
+@@ -266,7 +266,7 @@
ir0_clk: clk@01c200b0 {
#clock-cells = <0>;
@@ -500,7 +496,7 @@ index 905317e..df90a29 100644
reg = <0x01c200b0 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "ir0";
-@@ -287,7 +287,7 @@
+@@ -283,7 +283,7 @@
mbus_clk: clk@01c2015c {
#clock-cells = <0>;
@@ -509,8 +505,6 @@ index 905317e..df90a29 100644
reg = <0x01c2015c 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "mbus";
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index d196ebc6..24cd86cb 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -54,7 +54,7 @@
@@ -729,8 +723,6 @@ index d196ebc6..24cd86cb 100644
reg = <0x01c2015c 0x4>;
clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
clock-output-names = "mbus";
-diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
-index d3f1995..af6f87c 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -95,7 +95,7 @@
@@ -778,8 +770,6 @@ index d3f1995..af6f87c 100644
reg = <0x01c20058 0x4>;
clocks = <&osc32k>, <&osc24M>, <&pll6>, <&pll6>;
clock-output-names = "apb2_mux";
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 911d4e4..d00fbf8 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -64,7 +64,7 @@
@@ -1025,6 +1015,3 @@ index 911d4e4..d00fbf8 100644
reg = <0x01c2015c 0x4>;
clocks = <&osc24M>, <&pll6 2>, <&pll5 1>;
clock-output-names = "mbus";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/141-dt-sunxi-add-common-regulator-include.patch b/target/linux/sunxi/patches-3.14/141-dt-sunxi-add-common-regulator-include.patch
index 07dda97efa..32f4f72a9b 100644
--- a/target/linux/sunxi/patches-3.14/141-dt-sunxi-add-common-regulator-include.patch
+++ b/target/linux/sunxi/patches-3.14/141-dt-sunxi-add-common-regulator-include.patch
@@ -17,9 +17,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
1 file changed, 75 insertions(+)
create mode 100644 arch/arm/boot/dts/sunxi-common-regulators.dtsi
-diff --git a/arch/arm/boot/dts/sunxi-common-regulators.dtsi b/arch/arm/boot/dts/sunxi-common-regulators.dtsi
-new file mode 100644
-index 0000000..18eeac0
--- /dev/null
+++ b/arch/arm/boot/dts/sunxi-common-regulators.dtsi
@@ -0,0 +1,75 @@
@@ -98,6 +95,3 @@ index 0000000..18eeac0
+ status = "disabled";
+ };
+};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/145-1-dt-sun7i-add-a20-spi.patch b/target/linux/sunxi/patches-3.14/145-1-dt-sun7i-add-a20-spi.patch
index 47e342c66a..45dc8ba733 100644
--- a/target/linux/sunxi/patches-3.14/145-1-dt-sun7i-add-a20-spi.patch
+++ b/target/linux/sunxi/patches-3.14/145-1-dt-sun7i-add-a20-spi.patch
@@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 44 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index d00fbf8..0f0ee58 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -401,6 +401,28 @@
@@ -44,10 +42,12 @@ index d00fbf8..0f0ee58 100644
emac: ethernet@01c0b000 {
compatible = "allwinner,sun4i-a10-emac";
reg = <0x01c0b000 0x1000>;
-@@ -417,6 +439,28 @@
+@@ -415,6 +437,28 @@
+ status = "disabled";
+ #address-cells = <1>;
#size-cells = <0>;
- };
-
++ };
++
+ spi2: spi@01c17000 {
+ compatible = "allwinner,sun4i-a10-spi";
+ reg = <0x01c17000 0x1000>;
@@ -68,11 +68,6 @@ index d00fbf8..0f0ee58 100644
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
-+ };
-+
+ };
+
pio: pinctrl@01c20800 {
- compatible = "allwinner,sun7i-a20-pinctrl";
- reg = <0x01c20800 0x400>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/145-2-dt-sun4i-add-a10-spi.patch b/target/linux/sunxi/patches-3.14/145-2-dt-sun4i-add-a10-spi.patch
index d39b6eebec..1505e66075 100644
--- a/target/linux/sunxi/patches-3.14/145-2-dt-sun4i-add-a10-spi.patch
+++ b/target/linux/sunxi/patches-3.14/145-2-dt-sun4i-add-a10-spi.patch
@@ -10,8 +10,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 44 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index f6f41d6..157bc09 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -339,6 +339,28 @@
@@ -43,10 +41,12 @@ index f6f41d6..157bc09 100644
emac: ethernet@01c0b000 {
compatible = "allwinner,sun4i-a10-emac";
reg = <0x01c0b000 0x1000>;
-@@ -355,6 +377,28 @@
+@@ -353,6 +375,28 @@
+ status = "disabled";
+ #address-cells = <1>;
#size-cells = <0>;
- };
-
++ };
++
+ spi2: spi@01c17000 {
+ compatible = "allwinner,sun4i-a10-spi";
+ reg = <0x01c17000 0x1000>;
@@ -67,11 +67,6 @@ index f6f41d6..157bc09 100644
+ status = "disabled";
+ #address-cells = <1>;
+ #size-cells = <0>;
-+ };
-+
+ };
+
intc: interrupt-controller@01c20400 {
- compatible = "allwinner,sun4i-ic";
- reg = <0x01c20400 0x400>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/145-3-dt-sun5i-add-a13-spi.patch b/target/linux/sunxi/patches-3.14/145-3-dt-sun5i-add-a13-spi.patch
index 75cbcee7cb..7558d5623e 100644
--- a/target/linux/sunxi/patches-3.14/145-3-dt-sun5i-add-a13-spi.patch
+++ b/target/linux/sunxi/patches-3.14/145-3-dt-sun5i-add-a13-spi.patch
@@ -11,8 +11,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index 24cd86cb..7102d12 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -298,6 +298,39 @@
@@ -55,6 +53,3 @@ index 24cd86cb..7102d12 100644
intc: interrupt-controller@01c20400 {
compatible = "allwinner,sun4i-ic";
reg = <0x01c20400 0x400>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/146-1-spi-add-a31-spi.patch b/target/linux/sunxi/patches-3.14/146-1-spi-add-a31-spi.patch
index 3d52020e5e..761ecc18f2 100644
--- a/target/linux/sunxi/patches-3.14/146-1-spi-add-a31-spi.patch
+++ b/target/linux/sunxi/patches-3.14/146-1-spi-add-a31-spi.patch
@@ -19,9 +19,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
create mode 100644 Documentation/devicetree/bindings/spi/spi-sun6i.txt
create mode 100644 drivers/spi/spi-sun6i.c
-diff --git a/Documentation/devicetree/bindings/spi/spi-sun6i.txt b/Documentation/devicetree/bindings/spi/spi-sun6i.txt
-new file mode 100644
-index 0000000..21de73d
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-sun6i.txt
@@ -0,0 +1,24 @@
@@ -49,11 +46,9 @@ index 0000000..21de73d
+ clock-names = "ahb", "mod";
+ resets = <&ahb1_rst 21>;
+};
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 581ee2a..58530d3 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -446,6 +446,12 @@ config SPI_SIRF
+@@ -455,6 +455,12 @@ config SPI_SIRF
help
SPI driver for CSR SiRFprimaII SoCs
@@ -66,11 +61,9 @@ index 581ee2a..58530d3 100644
config SPI_MXS
tristate "Freescale MXS SPI controller"
depends on ARCH_MXS
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 95af48d..13b6ccf9 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -70,6 +70,7 @@ obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hspi.o
+@@ -71,6 +71,7 @@ obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hsp
obj-$(CONFIG_SPI_SH_MSIOF) += spi-sh-msiof.o
obj-$(CONFIG_SPI_SH_SCI) += spi-sh-sci.o
obj-$(CONFIG_SPI_SIRF) += spi-sirf.o
@@ -78,9 +71,6 @@ index 95af48d..13b6ccf9 100644
obj-$(CONFIG_SPI_TEGRA114) += spi-tegra114.o
obj-$(CONFIG_SPI_TEGRA20_SFLASH) += spi-tegra20-sflash.o
obj-$(CONFIG_SPI_TEGRA20_SLINK) += spi-tegra20-slink.o
-diff --git a/drivers/spi/spi-sun6i.c b/drivers/spi/spi-sun6i.c
-new file mode 100644
-index 0000000..94d38d0
--- /dev/null
+++ b/drivers/spi/spi-sun6i.c
@@ -0,0 +1,483 @@
@@ -567,6 +557,3 @@ index 0000000..94d38d0
+MODULE_AUTHOR("Maxime Ripard <maxime.ripard@free-electrons.com>");
+MODULE_DESCRIPTION("Allwinner A31 SPI controller driver");
+MODULE_LICENSE("GPL");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/146-2-spi-add-a10-spi.patch b/target/linux/sunxi/patches-3.14/146-2-spi-add-a10-spi.patch
index 38461d4dc0..483d216a57 100644
--- a/target/linux/sunxi/patches-3.14/146-2-spi-add-a10-spi.patch
+++ b/target/linux/sunxi/patches-3.14/146-2-spi-add-a10-spi.patch
@@ -24,9 +24,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
create mode 100644 Documentation/devicetree/bindings/spi/spi-sun4i.txt
create mode 100644 drivers/spi/spi-sun4i.c
-diff --git a/Documentation/devicetree/bindings/spi/spi-sun4i.txt b/Documentation/devicetree/bindings/spi/spi-sun4i.txt
-new file mode 100644
-index 0000000..de827f5
--- /dev/null
+++ b/Documentation/devicetree/bindings/spi/spi-sun4i.txt
@@ -0,0 +1,24 @@
@@ -54,11 +51,9 @@ index 0000000..de827f5
+ #address-cells = <1>;
+ #size-cells = <0>;
+};
-diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
-index 58530d3..78adfae 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -446,6 +446,12 @@ config SPI_SIRF
+@@ -455,6 +455,12 @@ config SPI_SIRF
help
SPI driver for CSR SiRFprimaII SoCs
@@ -71,11 +66,9 @@ index 58530d3..78adfae 100644
config SPI_SUN6I
tristate "Allwinner A31 SPI controller"
depends on ARCH_SUNXI || COMPILE_TEST
-diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
-index 13b6ccf9..65f4993 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -70,6 +70,7 @@ obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hspi.o
+@@ -71,6 +71,7 @@ obj-$(CONFIG_SPI_SH_HSPI) += spi-sh-hsp
obj-$(CONFIG_SPI_SH_MSIOF) += spi-sh-msiof.o
obj-$(CONFIG_SPI_SH_SCI) += spi-sh-sci.o
obj-$(CONFIG_SPI_SIRF) += spi-sirf.o
@@ -83,9 +76,6 @@ index 13b6ccf9..65f4993 100644
obj-$(CONFIG_SPI_SUN6I) += spi-sun6i.o
obj-$(CONFIG_SPI_TEGRA114) += spi-tegra114.o
obj-$(CONFIG_SPI_TEGRA20_SFLASH) += spi-tegra20-sflash.o
-diff --git a/drivers/spi/spi-sun4i.c b/drivers/spi/spi-sun4i.c
-new file mode 100644
-index 0000000..3f82705
--- /dev/null
+++ b/drivers/spi/spi-sun4i.c
@@ -0,0 +1,477 @@
@@ -566,6 +556,3 @@ index 0000000..3f82705
+MODULE_AUTHOR("Maxime Ripard <maxime.ripard@free-electrons.com>");
+MODULE_DESCRIPTION("Allwinner A1X/A20 SPI controller driver");
+MODULE_LICENSE("GPL");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/147-sun6i-enable-spi-in-defconfig.patch b/target/linux/sunxi/patches-3.14/147-sun6i-enable-spi-in-defconfig.patch
index 2eac6a45cd..6f2dbe5375 100644
--- a/target/linux/sunxi/patches-3.14/147-sun6i-enable-spi-in-defconfig.patch
+++ b/target/linux/sunxi/patches-3.14/147-sun6i-enable-spi-in-defconfig.patch
@@ -8,8 +8,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/configs/sunxi_defconfig | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
-index 3e2259b..b5df4a5 100644
--- a/arch/arm/configs/sunxi_defconfig
+++ b/arch/arm/configs/sunxi_defconfig
@@ -24,6 +24,7 @@ CONFIG_IP_PNP_BOOTP=y
@@ -29,6 +27,3 @@ index 3e2259b..b5df4a5 100644
CONFIG_GPIO_SYSFS=y
# CONFIG_HWMON is not set
CONFIG_WATCHDOG=y
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/148-dt-sun7i-add-spi-muxing.patch b/target/linux/sunxi/patches-3.14/148-dt-sun7i-add-spi-muxing.patch
index f554267a5e..0c78fa4bc8 100644
--- a/target/linux/sunxi/patches-3.14/148-dt-sun7i-add-spi-muxing.patch
+++ b/target/linux/sunxi/patches-3.14/148-dt-sun7i-add-spi-muxing.patch
@@ -8,8 +8,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 0f0ee58..6161fd8 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -571,6 +571,20 @@
@@ -33,6 +31,3 @@ index 0f0ee58..6161fd8 100644
};
timer@01c20c00 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/149-dt-sun7i-add-spi-on-olinuxinom.patch b/target/linux/sunxi/patches-3.14/149-dt-sun7i-add-spi-on-olinuxinom.patch
index e814af5aef..cbcfea7c9c 100644
--- a/target/linux/sunxi/patches-3.14/149-dt-sun7i-add-spi-on-olinuxinom.patch
+++ b/target/linux/sunxi/patches-3.14/149-dt-sun7i-add-spi-on-olinuxinom.patch
@@ -12,8 +12,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index b02a796..9d98316 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -18,7 +18,24 @@
@@ -41,6 +39,3 @@ index b02a796..9d98316 100644
pinctrl@01c20800 {
led_pins_olinuxino: led_pins@0 {
allwinner,pins = "PH2";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/150-dt-sun4i-add-ahci.patch b/target/linux/sunxi/patches-3.14/150-dt-sun4i-add-ahci.patch
index f82261d52d..6c10a98d77 100644
--- a/target/linux/sunxi/patches-3.14/150-dt-sun4i-add-ahci.patch
+++ b/target/linux/sunxi/patches-3.14/150-dt-sun4i-add-ahci.patch
@@ -15,8 +15,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 8 ++++++++
3 files changed, 22 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
-index cbd2e13..d6ec839 100644
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
@@ -35,6 +35,10 @@
@@ -30,8 +28,6 @@ index cbd2e13..d6ec839 100644
pinctrl@01c20800 {
emac_power_pin_a1000: emac_power_pin@0 {
allwinner,pins = "PH15";
-diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
-index b139ee6..20407ac 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -12,6 +12,7 @@
@@ -63,8 +59,6 @@ index b139ee6..20407ac 100644
+ status = "okay";
+ };
};
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 157bc09..18e09b41 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -388,6 +388,14 @@
@@ -82,6 +76,3 @@ index 157bc09..18e09b41 100644
spi3: spi@01c1f000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c1f000 0x1000>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/151-dt-sun7i-add-ahci.patch b/target/linux/sunxi/patches-3.14/151-dt-sun7i-add-ahci.patch
index d4685d93d5..28722028e2 100644
--- a/target/linux/sunxi/patches-3.14/151-dt-sun7i-add-ahci.patch
+++ b/target/linux/sunxi/patches-3.14/151-dt-sun7i-add-ahci.patch
@@ -16,8 +16,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
4 files changed, 47 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
-index 7bf4935..4bed115 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -13,12 +13,18 @@
@@ -48,8 +46,6 @@ index 7bf4935..4bed115 100644
+ status = "okay";
+ };
};
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index 025ce52..ef5fed8 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -13,13 +13,26 @@
@@ -79,7 +75,7 @@ index 025ce52..ef5fed8 100644
led_pins_cubietruck: led_pins@0 {
allwinner,pins = "PH7", "PH11", "PH20", "PH21";
allwinner,function = "gpio_out";
-@@ -90,4 +103,10 @@
+@@ -86,4 +99,10 @@
gpios = <&pio 7 7 0>;
};
};
@@ -90,8 +86,6 @@ index 025ce52..ef5fed8 100644
+ status = "okay";
+ };
};
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index 9d98316..c9b0f37 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -13,6 +13,7 @@
@@ -123,8 +117,6 @@ index 9d98316..c9b0f37 100644
+ status = "okay";
+ };
};
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 6161fd8..864b7c6 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -450,6 +450,14 @@
@@ -142,6 +134,3 @@ index 6161fd8..864b7c6 100644
spi3: spi@01c1f000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c1f000 0x1000>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/155-wdt-add-new-compats.patch b/target/linux/sunxi/patches-3.14/155-wdt-add-new-compats.patch
index 1635025522..75c444d6d0 100644
--- a/target/linux/sunxi/patches-3.14/155-wdt-add-new-compats.patch
+++ b/target/linux/sunxi/patches-3.14/155-wdt-add-new-compats.patch
@@ -14,8 +14,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/watchdog/sunxi_wdt.c | 1 +
2 files changed, 5 insertions(+), 3 deletions(-)
-diff --git a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
-index e39cb26..6e8c937 100644
--- a/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/sunxi-wdt.txt
@@ -2,13 +2,14 @@ Allwinner SoCs Watchdog timer
@@ -36,11 +34,9 @@ index e39cb26..6e8c937 100644
+ compatible = "allwinner,sun4i-a10-wdt";
reg = <0x01c20c90 0x10>;
};
-diff --git a/drivers/watchdog/sunxi_wdt.c b/drivers/watchdog/sunxi_wdt.c
-index 76332d89..7c8923d 100644
--- a/drivers/watchdog/sunxi_wdt.c
+++ b/drivers/watchdog/sunxi_wdt.c
-@@ -206,6 +206,7 @@ static void sunxi_wdt_shutdown(struct platform_device *pdev)
+@@ -206,6 +206,7 @@ static void sunxi_wdt_shutdown(struct pl
static const struct of_device_id sunxi_wdt_dt_ids[] = {
{ .compatible = "allwinner,sun4i-wdt" },
@@ -48,6 +44,3 @@ index 76332d89..7c8923d 100644
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, sunxi_wdt_dt_ids);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/156-dt-sunxi-update-wdt-compats.patch b/target/linux/sunxi/patches-3.14/156-dt-sunxi-update-wdt-compats.patch
index 6ac1a7e8f9..235550b47d 100644
--- a/target/linux/sunxi/patches-3.14/156-dt-sunxi-update-wdt-compats.patch
+++ b/target/linux/sunxi/patches-3.14/156-dt-sunxi-update-wdt-compats.patch
@@ -16,11 +16,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 3ce650b..4b90a18 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
-@@ -597,7 +597,7 @@
+@@ -487,7 +487,7 @@
};
wdt: watchdog@01c20c90 {
@@ -29,11 +27,9 @@ index 3ce650b..4b90a18 100644
reg = <0x01c20c90 0x10>;
};
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index 1795c26..45300a6 100644
--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
+++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
-@@ -508,7 +508,7 @@
+@@ -392,7 +392,7 @@
};
wdt: watchdog@01c20c90 {
@@ -42,11 +38,9 @@ index 1795c26..45300a6 100644
reg = <0x01c20c90 0x10>;
};
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index 8bc8e14..280ffee 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
-@@ -454,7 +454,7 @@
+@@ -393,7 +393,7 @@
};
wdt: watchdog@01c20c90 {
@@ -55,8 +49,6 @@ index 8bc8e14..280ffee 100644
reg = <0x01c20c90 0x10>;
};
-diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
-index e4267bd..8441733 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
@@ -289,7 +289,7 @@
@@ -68,11 +60,9 @@ index e4267bd..8441733 100644
reg = <0x01c20ca0 0x20>;
};
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 30b9aba..4981f5e 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -725,7 +725,7 @@
+@@ -608,7 +608,7 @@
};
wdt: watchdog@01c20c90 {
@@ -81,6 +71,3 @@ index 30b9aba..4981f5e 100644
reg = <0x01c20c90 0x10>;
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/160-dt-sun4i-add-usb-host-bindings.patch b/target/linux/sunxi/patches-3.14/160-dt-sun4i-add-usb-host-bindings.patch
index 9ca7345e20..f1853dfb42 100644
--- a/target/linux/sunxi/patches-3.14/160-dt-sun4i-add-usb-host-bindings.patch
+++ b/target/linux/sunxi/patches-3.14/160-dt-sun4i-add-usb-host-bindings.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 52 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 18e09b41..27dc6ee 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -377,6 +377,38 @@
@@ -81,6 +79,3 @@ index 18e09b41..27dc6ee 100644
spi3: spi@01c1f000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c1f000 0x1000>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/161-dt-sun5i-add-usb-host-bindings.patch b/target/linux/sunxi/patches-3.14/161-dt-sun5i-add-usb-host-bindings.patch
index 1beb5e14d8..7b014954f7 100644
--- a/target/linux/sunxi/patches-3.14/161-dt-sun5i-add-usb-host-bindings.patch
+++ b/target/linux/sunxi/patches-3.14/161-dt-sun5i-add-usb-host-bindings.patch
@@ -12,10 +12,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 32 ++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index b2cb5dc..f34e0d8 100644
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index 7102d12..0e9c239 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -320,6 +320,38 @@
@@ -57,6 +53,3 @@ index 7102d12..0e9c239 100644
spi2: spi@01c17000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c17000 0x1000>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/162-dt-sun7i-add-usb-host-bindings.patch b/target/linux/sunxi/patches-3.14/162-dt-sun7i-add-usb-host-bindings.patch
index b2b9d33caa..a8d0f171d9 100644
--- a/target/linux/sunxi/patches-3.14/162-dt-sun7i-add-usb-host-bindings.patch
+++ b/target/linux/sunxi/patches-3.14/162-dt-sun7i-add-usb-host-bindings.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 52 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 864b7c6..4cc2f5f 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -439,6 +439,38 @@
@@ -81,6 +79,3 @@ index 864b7c6..4cc2f5f 100644
spi3: spi@01c1f000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c1f000 0x1000>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/163-dt-sun4i-add-usb-host-to-boards.patch b/target/linux/sunxi/patches-3.14/163-dt-sun4i-add-usb-host-to-boards.patch
index 220bed603e..ce78cb7512 100644
--- a/target/linux/sunxi/patches-3.14/163-dt-sun4i-add-usb-host-to-boards.patch
+++ b/target/linux/sunxi/patches-3.14/163-dt-sun4i-add-usb-host-to-boards.patch
@@ -19,8 +19,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10-hackberry.dts | 40 +++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
-index 6692d336..d7c17e4 100644
--- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts
+++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
@@ -13,6 +13,7 @@
@@ -74,9 +72,9 @@ index 6692d336..d7c17e4 100644
};
uart0: serial@01c28000 {
-@@ -62,4 +92,14 @@
- enable-active-high;
- gpio = <&pio 7 19 0>;
+@@ -66,4 +96,14 @@
+ gpio = <&pio 7 19 0>;
+ };
};
+
+ reg_usb1_vbus: usb1-vbus {
@@ -89,23 +87,6 @@ index 6692d336..d7c17e4 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
-From dbf6ffa0b3832d91c2509e6753f485cedc791051 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sat, 11 Jan 2014 05:15:06 +0100
-Subject: [PATCH] ARM: sun4i: dt: Add USB host nodes to mini-xplus dts
-
-Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | 31 ++++++++++++++++++++++++++++++
- 1 file changed, 31 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
-index 70b3323..dd84a9e3 100644
--- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
@@ -13,16 +13,47 @@
@@ -156,21 +137,6 @@ index 70b3323..dd84a9e3 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
-From 528808ae38fee761be9f3451f51b457cb56d33ee Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 17 Feb 2014 20:41:04 +0100
-Subject: [PATCH] ARM: sun4i: dt: Add USB host nodes to pcduino.dts
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- arch/arm/boot/dts/sun4i-a10-pcduino.dts | 31 +++++++++++++++++++++++++++++++
- 1 file changed, 31 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
-index f5692a3..255b47e 100644
--- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts
+++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
@@ -12,6 +12,7 @@
@@ -223,24 +189,6 @@ index f5692a3..255b47e 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
-From 58b778ce8cbc6fdb1fda5a6998fdd114a2b77cc9 Mon Sep 17 00:00:00 2001
-From: Roman Byshko <rbyshko@gmail.com>
-Date: Wed, 18 Sep 2013 22:45:06 +0200
-Subject: [PATCH] ARM: sun4i: dt: Add USB host nodes to cubieboard dts
-
-Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
-
-Signed-off-by: Roman Byshko <rbyshko@gmail.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 30 ++++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
-index 20407ac..4684cbe 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -34,11 +34,33 @@
@@ -290,6 +238,3 @@ index 20407ac..4684cbe 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/164-dt-sun5i-add-usb-host-to-boards.patch b/target/linux/sunxi/patches-3.14/164-dt-sun5i-add-usb-host-to-boards.patch
index 203b185d3c..9776f5ba5c 100644
--- a/target/linux/sunxi/patches-3.14/164-dt-sun5i-add-usb-host-to-boards.patch
+++ b/target/linux/sunxi/patches-3.14/164-dt-sun5i-add-usb-host-to-boards.patch
@@ -11,8 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
-index a4ba5ff..7a9187b 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -13,12 +13,26 @@
@@ -67,23 +65,6 @@ index a4ba5ff..7a9187b 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
-From a3396ca280066e9a1ee74b36f5e376c945382bff Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sat, 11 Jan 2014 05:21:43 +0100
-Subject: [PATCH] ARM: sun5i: dt: Add USB host nodes to a13-olinuxino-micro
-
-Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | 27 +++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
-index fe2ce0a..11169d5 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
@@ -14,12 +14,26 @@
@@ -138,6 +119,3 @@ index fe2ce0a..11169d5 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/165-dt-sun7i-add-usb-host-to-boards.patch b/target/linux/sunxi/patches-3.14/165-dt-sun7i-add-usb-host-to-boards.patch
index d720f645d6..00d28e7e5d 100644
--- a/target/linux/sunxi/patches-3.14/165-dt-sun7i-add-usb-host-to-boards.patch
+++ b/target/linux/sunxi/patches-3.14/165-dt-sun7i-add-usb-host-to-boards.patch
@@ -10,8 +10,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index ef5fed8..cb25d3c 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -20,11 +20,33 @@
@@ -48,7 +46,7 @@ index ef5fed8..cb25d3c 100644
pinctrl@01c20800 {
ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
allwinner,pins = "PH12";
-@@ -109,4 +131,12 @@
+@@ -105,4 +127,12 @@
gpio = <&pio 7 12 0>;
status = "okay";
};
@@ -61,24 +59,6 @@ index ef5fed8..cb25d3c 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
-From 8ce7da7026a24fe522abb3d7798cea12358946c0 Mon Sep 17 00:00:00 2001
-From: Roman Byshko <rbyshko@gmail.com>
-Date: Thu, 19 Sep 2013 21:29:45 +0200
-Subject: [PATCH] ARM: sun7i: dt: Add USB host nodes to cubieboard2 dts
-
-Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
-
-Signed-off-by: Roman Byshko <rbyshko@gmail.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 30 +++++++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
-index 4bed115..68de89f 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -20,11 +20,33 @@
@@ -128,23 +108,6 @@ index 4bed115..68de89f 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
-From e0e1a55781f7ba89a776456c8764782165e5efcc Mon Sep 17 00:00:00 2001
-From: Zalan Blenessy <zalan.blenessy@gmail.com>
-Date: Sun, 22 Dec 2013 17:08:10 +0100
-Subject: [PATCH] ARM: sun7i: dt: Add USB host nodes to a20-olinuxino-micro dts
-
-Add nodes for the usb-phy and ehci- and ohci-usb-host controllers.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 30 +++++++++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index c9b0f37..eeadf76 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -31,6 +31,20 @@
@@ -196,6 +159,3 @@ index c9b0f37..eeadf76 100644
+ status = "okay";
+ };
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/170-input-add-sun4i-ts-driver.patch b/target/linux/sunxi/patches-3.14/170-input-add-sun4i-ts-driver.patch
index d97b02a306..bde35b1f12 100644
--- a/target/linux/sunxi/patches-3.14/170-input-add-sun4i-ts-driver.patch
+++ b/target/linux/sunxi/patches-3.14/170-input-add-sun4i-ts-driver.patch
@@ -27,9 +27,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
create mode 100644 Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
create mode 100644 drivers/input/touchscreen/sun4i-ts.c
-diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
-new file mode 100644
-index 0000000..e45927e
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
@@ -0,0 +1,15 @@
@@ -48,8 +45,6 @@ index 0000000..e45927e
+ reg = <0x01c25000 0x100>;
+ interrupts = <29>;
+ };
-diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
-index 07e9e82..f4c5ca3 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -906,6 +906,16 @@ config TOUCHSCREEN_STMPE
@@ -69,11 +64,9 @@ index 07e9e82..f4c5ca3 100644
config TOUCHSCREEN_SUR40
tristate "Samsung SUR40 (Surface 2.0/PixelSense) touchscreen"
depends on USB
-diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
-index 62801f2..c8f7375 100644
--- a/drivers/input/touchscreen/Makefile
+++ b/drivers/input/touchscreen/Makefile
-@@ -54,6 +54,7 @@ obj-$(CONFIG_TOUCHSCREEN_PIXCIR) += pixcir_i2c_ts.o
+@@ -54,6 +54,7 @@ obj-$(CONFIG_TOUCHSCREEN_PIXCIR) += pixc
obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o
obj-$(CONFIG_TOUCHSCREEN_ST1232) += st1232.o
obj-$(CONFIG_TOUCHSCREEN_STMPE) += stmpe-ts.o
@@ -81,9 +74,6 @@ index 62801f2..c8f7375 100644
obj-$(CONFIG_TOUCHSCREEN_SUR40) += sur40.o
obj-$(CONFIG_TOUCHSCREEN_TI_AM335X_TSC) += ti_am335x_tsc.o
obj-$(CONFIG_TOUCHSCREEN_TNETV107X) += tnetv107x-ts.o
-diff --git a/drivers/input/touchscreen/sun4i-ts.c b/drivers/input/touchscreen/sun4i-ts.c
-new file mode 100644
-index 0000000..5945219
--- /dev/null
+++ b/drivers/input/touchscreen/sun4i-ts.c
@@ -0,0 +1,262 @@
@@ -349,6 +339,3 @@ index 0000000..5945219
+MODULE_DESCRIPTION("Allwinner sun4i resistive touchscreen controller driver");
+MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>");
+MODULE_LICENSE("GPL");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch b/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch
index 3d0bdad31f..bad8df7687 100644
--- a/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch
+++ b/target/linux/sunxi/patches-3.14/171-input-add-temp-sensor-support.patch
@@ -17,8 +17,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/input/touchscreen/sun4i-ts.c | 140 ++++++++++++++++-----
2 files changed, 114 insertions(+), 31 deletions(-)
-diff --git a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
-index e45927e..6bac67b 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/sun4i.txt
@@ -6,10 +6,15 @@ Required properties:
@@ -37,8 +35,6 @@ index e45927e..6bac67b 100644
interrupts = <29>;
+ allwinner,ts-attached;
};
-diff --git a/drivers/input/touchscreen/sun4i-ts.c b/drivers/input/touchscreen/sun4i-ts.c
-index 5945219..16cbb01 100644
--- a/drivers/input/touchscreen/sun4i-ts.c
+++ b/drivers/input/touchscreen/sun4i-ts.c
@@ -3,6 +3,9 @@
@@ -77,7 +73,7 @@ index 5945219..16cbb01 100644
if (reg_val & FIFO_DATA_PENDING) {
x = readl(ts->base + TP_DATA);
-@@ -139,6 +141,20 @@ static irqreturn_t sun4i_ts_irq(int irq, void *dev_id)
+@@ -139,6 +141,20 @@ static irqreturn_t sun4i_ts_irq(int irq,
input_report_key(ts->input, BTN_TOUCH, 0);
input_sync(ts->input);
}
@@ -98,7 +94,7 @@ index 5945219..16cbb01 100644
writel(reg_val, ts->base + TP_INT_FIFOS);
-@@ -149,9 +165,9 @@ static int sun4i_ts_open(struct input_dev *dev)
+@@ -149,9 +165,9 @@ static int sun4i_ts_open(struct input_de
{
struct sun4i_ts_data *ts = input_get_drvdata(dev);
@@ -111,7 +107,7 @@ index 5945219..16cbb01 100644
return 0;
}
-@@ -160,15 +176,48 @@ static void sun4i_ts_close(struct input_dev *dev)
+@@ -160,15 +176,48 @@ static void sun4i_ts_close(struct input_
{
struct sun4i_ts_data *ts = input_get_drvdata(dev);
@@ -162,11 +158,12 @@ index 5945219..16cbb01 100644
ts = devm_kzalloc(dev, sizeof(struct sun4i_ts_data), GFP_KERNEL);
if (!ts)
-@@ -176,24 +225,27 @@ static int sun4i_ts_probe(struct platform_device *pdev)
+@@ -176,24 +225,27 @@ static int sun4i_ts_probe(struct platfor
ts->dev = dev;
ts->ignore_fifo_data = true;
--
++ ts->temp_data = -1;
+
- ts->input = devm_input_allocate_device(dev);
- if (!ts->input)
- return -ENOMEM;
@@ -184,8 +181,6 @@ index 5945219..16cbb01 100644
- input_set_abs_params(ts->input, ABS_X, 0, 4095, 0, 0);
- input_set_abs_params(ts->input, ABS_Y, 0, 4095, 0, 0);
- input_set_drvdata(ts->input, ts);
-+ ts->temp_data = -1;
-+
+ if (ts_attached) {
+ ts->input = devm_input_allocate_device(dev);
+ if (!ts->input)
@@ -208,7 +203,7 @@ index 5945219..16cbb01 100644
ts->base = devm_ioremap_resource(dev,
platform_get_resource(pdev, IORESOURCE_MEM, 0));
-@@ -232,14 +284,39 @@ static int sun4i_ts_probe(struct platform_device *pdev)
+@@ -232,14 +284,39 @@ static int sun4i_ts_probe(struct platfor
writel(STYLUS_UP_DEBOUN(5) | STYLUS_UP_DEBOUN_EN(1) | TP_MODE_EN(1),
ts->base + TP_CTRL1);
@@ -251,7 +246,7 @@ index 5945219..16cbb01 100644
static const struct of_device_id sun4i_ts_of_match[] = {
{ .compatible = "allwinner,sun4i-ts", },
{ /* sentinel */ }
-@@ -253,6 +330,7 @@ static struct platform_driver sun4i_ts_driver = {
+@@ -253,6 +330,7 @@ static struct platform_driver sun4i_ts_d
.of_match_table = of_match_ptr(sun4i_ts_of_match),
},
.probe = sun4i_ts_probe,
@@ -259,6 +254,3 @@ index 5945219..16cbb01 100644
};
module_platform_driver(sun4i_ts_driver);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/172-input-add-lradc-keys-driver.patch b/target/linux/sunxi/patches-3.14/172-input-add-lradc-keys-driver.patch
index ee8f80668f..859a7f1a67 100644
--- a/target/linux/sunxi/patches-3.14/172-input-add-lradc-keys-driver.patch
+++ b/target/linux/sunxi/patches-3.14/172-input-add-lradc-keys-driver.patch
@@ -24,9 +24,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
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..7801264
--- /dev/null
+++ b/Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
@@ -0,0 +1,22 @@
@@ -52,8 +49,6 @@ index 0000000..7801264
+ linux,chan0-keycodes = <KEY_VOLUMEUP KEY_VOLUMEDOWN
+ KEY_MENU KEY_ENTER KEY_HOME>;
+ };
-diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
-index a673c9f..d8a51cd 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -544,6 +544,16 @@ config KEYBOARD_STMPE
@@ -73,11 +68,9 @@ index a673c9f..d8a51cd 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 a699b61..f3265bd 100644
--- a/drivers/input/keyboard/Makefile
+++ b/drivers/input/keyboard/Makefile
-@@ -50,6 +50,7 @@ obj-$(CONFIG_KEYBOARD_SH_KEYSC) += sh_keysc.o
+@@ -50,6 +50,7 @@ obj-$(CONFIG_KEYBOARD_SH_KEYSC) += sh_k
obj-$(CONFIG_KEYBOARD_SPEAR) += spear-keyboard.o
obj-$(CONFIG_KEYBOARD_STMPE) += stmpe-keypad.o
obj-$(CONFIG_KEYBOARD_STOWAWAY) += stowaway.o
@@ -85,9 +78,6 @@ index a699b61..f3265bd 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..5c55e17
--- /dev/null
+++ b/drivers/input/keyboard/sun4i-lradc-keys.c
@@ -0,0 +1,243 @@
@@ -334,6 +324,3 @@ index 0000000..5c55e17
+MODULE_DESCRIPTION("Allwinner sun4i low res adc attached tablet keys driver");
+MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>");
+MODULE_LICENSE("GPL");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/173-1-dt-sun4i-add-lradc-node.patch b/target/linux/sunxi/patches-3.14/173-1-dt-sun4i-add-lradc-node.patch
index 1c7bc810f7..544528d8e7 100644
--- a/target/linux/sunxi/patches-3.14/173-1-dt-sun4i-add-lradc-node.patch
+++ b/target/linux/sunxi/patches-3.14/173-1-dt-sun4i-add-lradc-node.patch
@@ -8,11 +8,9 @@ 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 7014518..3ce650b 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
-@@ -607,6 +607,13 @@
+@@ -549,6 +549,13 @@
interrupts = <24>;
};
@@ -26,6 +24,3 @@ index 7014518..3ce650b 100644
sid: eeprom@01c23800 {
compatible = "allwinner,sun4i-sid";
reg = <0x01c23800 0x10>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/173-2-dt-sun5i-add-lradc-node.patch b/target/linux/sunxi/patches-3.14/173-2-dt-sun5i-add-lradc-node.patch
index fbb0a32ca4..6fa1c2b9f6 100644
--- a/target/linux/sunxi/patches-3.14/173-2-dt-sun5i-add-lradc-node.patch
+++ b/target/linux/sunxi/patches-3.14/173-2-dt-sun5i-add-lradc-node.patch
@@ -11,12 +11,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 7 +++++++
4 files changed, 30 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
-index 5bc25c7..93c6778 100644
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index 8ba1ed7..1795c26 100644
-diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
-index 177196c..c2c455d 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
@@ -14,6 +14,7 @@
@@ -27,7 +21,7 @@ index 177196c..c2c455d 100644
/ {
model = "Olimex A13-Olinuxino";
-@@ -64,6 +65,13 @@
+@@ -49,6 +50,13 @@
};
};
@@ -41,11 +35,9 @@ index 177196c..c2c455d 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 6fc84a4..8bc8e14 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
-@@ -458,6 +458,13 @@
+@@ -429,6 +429,13 @@
reg = <0x01c20c90 0x10>;
};
@@ -59,6 +51,3 @@ index 6fc84a4..8bc8e14 100644
sid: eeprom@01c23800 {
compatible = "allwinner,sun4i-sid";
reg = <0x01c23800 0x10>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/173-3-dt-sun7i-add-lradc-node.patch b/target/linux/sunxi/patches-3.14/173-3-dt-sun7i-add-lradc-node.patch
index 417dddc2c0..44e9f53cbc 100644
--- a/target/linux/sunxi/patches-3.14/173-3-dt-sun7i-add-lradc-node.patch
+++ b/target/linux/sunxi/patches-3.14/173-3-dt-sun7i-add-lradc-node.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, 16 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index 822cbe2..15f1f3f 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -14,6 +14,7 @@
@@ -21,7 +19,7 @@ index 822cbe2..15f1f3f 100644
/ {
model = "Olimex A20-Olinuxino Micro";
-@@ -96,6 +97,14 @@
+@@ -73,6 +74,14 @@
};
};
@@ -36,11 +34,9 @@ index 822cbe2..15f1f3f 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 1d9b314..0c57ac5 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -735,6 +735,13 @@
+@@ -670,6 +670,13 @@
interrupts = <0 24 4>;
};
@@ -54,6 +50,3 @@ index 1d9b314..0c57ac5 100644
sid: eeprom@01c23800 {
compatible = "allwinner,sun7i-a20-sid";
reg = <0x01c23800 0x200>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/175-reset-add-of_reset_control_get.patch b/target/linux/sunxi/patches-3.14/175-reset-add-of_reset_control_get.patch
index 7bf9511fe9..3b6db99dbf 100644
--- a/target/linux/sunxi/patches-3.14/175-reset-add-of_reset_control_get.patch
+++ b/target/linux/sunxi/patches-3.14/175-reset-add-of_reset_control_get.patch
@@ -15,11 +15,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
include/linux/reset.h | 4 ++++
2 files changed, 34 insertions(+), 9 deletions(-)
-diff --git a/drivers/reset/core.c b/drivers/reset/core.c
-index d1b6089..4f3dda7 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
-@@ -127,15 +127,16 @@ int reset_control_deassert(struct reset_control *rstc)
+@@ -127,15 +127,16 @@ int reset_control_deassert(struct reset_
EXPORT_SYMBOL_GPL(reset_control_deassert);
/**
@@ -39,7 +37,7 @@ index d1b6089..4f3dda7 100644
{
struct reset_control *rstc = ERR_PTR(-EPROBE_DEFER);
struct reset_controller_dev *r, *rcdev;
-@@ -144,13 +145,10 @@ struct reset_control *reset_control_get(struct device *dev, const char *id)
+@@ -144,13 +145,10 @@ struct reset_control *reset_control_get(
int rstc_id;
int ret;
@@ -55,7 +53,7 @@ index d1b6089..4f3dda7 100644
index, &args);
if (ret)
return ERR_PTR(ret);
-@@ -185,12 +183,35 @@ struct reset_control *reset_control_get(struct device *dev, const char *id)
+@@ -185,12 +183,35 @@ struct reset_control *reset_control_get(
return ERR_PTR(-ENOMEM);
}
@@ -92,8 +90,6 @@ index d1b6089..4f3dda7 100644
EXPORT_SYMBOL_GPL(reset_control_get);
/**
-diff --git a/include/linux/reset.h b/include/linux/reset.h
-index 6082247..a398025 100644
--- a/include/linux/reset.h
+++ b/include/linux/reset.h
@@ -1,6 +1,8 @@
@@ -105,7 +101,7 @@ index 6082247..a398025 100644
struct device;
struct reset_control;
-@@ -8,6 +10,8 @@ int reset_control_reset(struct reset_control *rstc);
+@@ -8,6 +10,8 @@ int reset_control_reset(struct reset_con
int reset_control_assert(struct reset_control *rstc);
int reset_control_deassert(struct reset_control *rstc);
@@ -114,6 +110,3 @@ index 6082247..a398025 100644
struct reset_control *reset_control_get(struct device *dev, const char *id);
void reset_control_put(struct reset_control *rstc);
struct reset_control *devm_reset_control_get(struct device *dev, const char *id);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/176-clk-sun5i-add-support-for-reset-ctrler.patch b/target/linux/sunxi/patches-3.14/176-clk-sun5i-add-support-for-reset-ctrler.patch
index 6d322c7bc6..3986d193b1 100644
--- a/target/linux/sunxi/patches-3.14/176-clk-sun5i-add-support-for-reset-ctrler.patch
+++ b/target/linux/sunxi/patches-3.14/176-clk-sun5i-add-support-for-reset-ctrler.patch
@@ -13,8 +13,6 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clocksource/timer-sun5i.c | 6 ++++++
2 files changed, 10 insertions(+)
-diff --git a/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt b/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
-index 7c26154..27cfc7d 100644
--- a/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
+++ b/Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
@@ -9,6 +9,9 @@ Required properties:
@@ -33,8 +31,6 @@ index 7c26154..27cfc7d 100644
clocks = <&ahb1_gates 19>;
+ resets = <&ahb1rst 19>;
};
-diff --git a/drivers/clocksource/timer-sun5i.c b/drivers/clocksource/timer-sun5i.c
-index deebcd6..0226844 100644
--- a/drivers/clocksource/timer-sun5i.c
+++ b/drivers/clocksource/timer-sun5i.c
@@ -16,6 +16,7 @@
@@ -53,7 +49,7 @@ index deebcd6..0226844 100644
unsigned long rate;
struct clk *clk;
int ret, irq;
-@@ -162,6 +164,10 @@ static void __init sun5i_timer_init(struct device_node *node)
+@@ -162,6 +164,10 @@ static void __init sun5i_timer_init(stru
clk_prepare_enable(clk);
rate = clk_get_rate(clk);
@@ -64,6 +60,3 @@ index deebcd6..0226844 100644
writel(~0, timer_base + TIMER_INTVAL_LO_REG(1));
writel(TIMER_CTL_ENABLE | TIMER_CTL_RELOAD,
timer_base + TIMER_CTL_REG(1));
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/180-clk-sunxi-add-clock-output-names-dt-prop-support.patch b/target/linux/sunxi/patches-3.14/180-clk-sunxi-add-clock-output-names-dt-prop-support.patch
index 4f7d275522..73caeb9ba3 100644
--- a/target/linux/sunxi/patches-3.14/180-clk-sunxi-add-clock-output-names-dt-prop-support.patch
+++ b/target/linux/sunxi/patches-3.14/180-clk-sunxi-add-clock-output-names-dt-prop-support.patch
@@ -19,11 +19,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index abb6c5a..0ed9794 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -51,6 +51,8 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
+@@ -51,6 +51,8 @@ static void __init sun4i_osc_clk_setup(s
if (!gate)
goto err_free_fixed;
@@ -32,7 +30,7 @@ index abb6c5a..0ed9794 100644
/* set up gate and fixed rate properties */
gate->reg = of_iomap(node, 0);
gate->bit_idx = SUNXI_OSC24M_GATE;
-@@ -601,6 +603,8 @@ static void __init sunxi_mux_clk_setup(struct device_node *node,
+@@ -601,6 +603,8 @@ static void __init sunxi_mux_clk_setup(s
(parents[i] = of_clk_get_parent_name(node, i)) != NULL)
i++;
@@ -41,7 +39,7 @@ index abb6c5a..0ed9794 100644
clk = clk_register_mux(NULL, clk_name, parents, i,
CLK_SET_RATE_NO_REPARENT, reg,
data->shift, SUNXI_MUX_GATE_WIDTH,
-@@ -660,6 +664,8 @@ static void __init sunxi_divider_clk_setup(struct device_node *node,
+@@ -660,6 +664,8 @@ static void __init sunxi_divider_clk_set
clk_parent = of_clk_get_parent_name(node, 0);
@@ -50,6 +48,3 @@ index abb6c5a..0ed9794 100644
clk = clk_register_divider(NULL, clk_name, clk_parent, 0,
reg, data->shift, data->width,
data->pow ? CLK_DIVIDER_POWER_OF_TWO : 0,
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/181-clk-sunxi-add-names-for-pll56.patch b/target/linux/sunxi/patches-3.14/181-clk-sunxi-add-names-for-pll56.patch
index 879462b766..4229fa4f1c 100644
--- a/target/linux/sunxi/patches-3.14/181-clk-sunxi-add-names-for-pll56.patch
+++ b/target/linux/sunxi/patches-3.14/181-clk-sunxi-add-names-for-pll56.patch
@@ -19,8 +19,6 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 0ed9794..7a2ed98 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -389,6 +389,7 @@ struct factors_data {
@@ -31,7 +29,7 @@ index 0ed9794..7a2ed98 100644
};
static struct clk_factors_config sun4i_pll1_config = {
-@@ -457,6 +458,14 @@ static const struct factors_data sun4i_pll5_data __initconst = {
+@@ -457,6 +458,14 @@ static const struct factors_data sun4i_p
.enable = 31,
.table = &sun4i_pll5_config,
.getter = sun4i_get_pll5_factors,
@@ -46,7 +44,7 @@ index 0ed9794..7a2ed98 100644
};
static const struct factors_data sun4i_apb1_data __initconst = {
-@@ -499,14 +508,14 @@ static struct clk * __init sunxi_factors_clk_setup(struct device_node *node,
+@@ -499,14 +508,14 @@ static struct clk * __init sunxi_factors
(parents[i] = of_clk_get_parent_name(node, i)) != NULL)
i++;
@@ -69,7 +67,7 @@ index 0ed9794..7a2ed98 100644
factors = kzalloc(sizeof(struct clk_factors), GFP_KERNEL);
if (!factors)
-@@ -838,7 +847,7 @@ static const struct divs_data pll5_divs_data __initconst = {
+@@ -838,7 +847,7 @@ static const struct divs_data pll5_divs_
};
static const struct divs_data pll6_divs_data __initconst = {
@@ -78,6 +76,3 @@ index 0ed9794..7a2ed98 100644
.div = {
{ .shift = 0, .table = pll6_sata_tbl, .gate = 14 }, /* M, SATA */
{ .fixed = 2 }, /* P, other */
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/182-clk-sunxi-add-support-for-usb-clockreg-reset.patch b/target/linux/sunxi/patches-3.14/182-clk-sunxi-add-support-for-usb-clockreg-reset.patch
index 533b6013f1..e8977362c7 100644
--- a/target/linux/sunxi/patches-3.14/182-clk-sunxi-add-support-for-usb-clockreg-reset.patch
+++ b/target/linux/sunxi/patches-3.14/182-clk-sunxi-add-support-for-usb-clockreg-reset.patch
@@ -18,8 +18,6 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 71 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 736fb60..23beb6e 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
@@ -18,6 +18,7 @@
@@ -30,7 +28,7 @@ index 736fb60..23beb6e 100644
#include "clk-factors.h"
-@@ -688,6 +689,59 @@ static void __init sunxi_divider_clk_setup(struct device_node *node,
+@@ -688,6 +689,59 @@ static void __init sunxi_divider_clk_set
/**
@@ -90,7 +88,7 @@ index 736fb60..23beb6e 100644
* sunxi_gates_clk_setup() - Setup function for leaf gates on clocks
*/
-@@ -695,6 +749,7 @@ static void __init sunxi_divider_clk_setup(struct device_node *node,
+@@ -695,6 +749,7 @@ static void __init sunxi_divider_clk_set
struct gates_data {
DECLARE_BITMAP(mask, SUNXI_GATES_MAX_SIZE);
@@ -98,7 +96,7 @@ index 736fb60..23beb6e 100644
};
static const struct gates_data sun4i_axi_gates_data __initconst = {
-@@ -765,6 +820,7 @@ static void __init sunxi_gates_clk_setup(struct device_node *node,
+@@ -765,6 +820,7 @@ static void __init sunxi_gates_clk_setup
struct gates_data *data)
{
struct clk_onecell_data *clk_data;
@@ -106,7 +104,7 @@ index 736fb60..23beb6e 100644
const char *clk_parent;
const char *clk_name;
void *reg;
-@@ -808,6 +864,21 @@ static void __init sunxi_gates_clk_setup(struct device_node *node,
+@@ -808,6 +864,21 @@ static void __init sunxi_gates_clk_setup
clk_data->clk_num = i;
of_clk_add_provider(node, of_clk_src_onecell_get, clk_data);
@@ -128,6 +126,3 @@ index 736fb60..23beb6e 100644
}
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/182-clk-sunxi-get-divs-parent-clockname.patch b/target/linux/sunxi/patches-3.14/182-clk-sunxi-get-divs-parent-clockname.patch
index 53f2217247..777dfde856 100644
--- a/target/linux/sunxi/patches-3.14/182-clk-sunxi-get-divs-parent-clockname.patch
+++ b/target/linux/sunxi/patches-3.14/182-clk-sunxi-get-divs-parent-clockname.patch
@@ -19,11 +19,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 7a2ed98..736fb60 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -869,7 +869,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
+@@ -940,7 +940,7 @@ static void __init sunxi_divs_clk_setup(
struct divs_data *data)
{
struct clk_onecell_data *clk_data;
@@ -32,7 +30,7 @@ index 7a2ed98..736fb60 100644
const char *clk_name;
struct clk **clks, *pclk;
struct clk_hw *gate_hw, *rate_hw;
-@@ -883,6 +883,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
+@@ -954,6 +954,7 @@ static void __init sunxi_divs_clk_setup(
/* Set up factor clock that we will be dividing */
pclk = sunxi_factors_clk_setup(node, data->factors);
@@ -40,6 +38,3 @@ index 7a2ed98..736fb60 100644
reg = of_iomap(node, 0);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/183-clk-sunxi-add-usb-clockreg-defs.patch b/target/linux/sunxi/patches-3.14/183-clk-sunxi-add-usb-clockreg-defs.patch
index 07e8879896..c79f803198 100644
--- a/target/linux/sunxi/patches-3.14/183-clk-sunxi-add-usb-clockreg-defs.patch
+++ b/target/linux/sunxi/patches-3.14/183-clk-sunxi-add-usb-clockreg-defs.patch
@@ -18,8 +18,6 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 12 ++++++++++++
2 files changed, 17 insertions(+)
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index 0cf679b..ca2b692 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -37,6 +37,8 @@ Required properties:
@@ -31,9 +29,9 @@ index 0cf679b..ca2b692 100644
Required properties for all clocks:
- reg : shall be the control register address for the clock.
-@@ -50,6 +52,9 @@ Required properties for all clocks:
- If the clock module only has one output, the name shall be the
- module name.
+@@ -49,6 +51,9 @@ Required properties for all clocks:
+ Additionally, "allwinner,*-gates-clk" clocks require:
+ - clock-output-names : the corresponding gate names that the clock controls
+And "allwinner,*-usb-clk" clocks also require:
+- reset-cells : shall be set to 1
@@ -41,11 +39,9 @@ index 0cf679b..ca2b692 100644
Clock consumers should specify the desired clocks they use with a
"clocks" phandle cell. Consumers that are using a gated clock should
provide an additional ID in their clock property. This ID is the
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 23beb6e..a779c31 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -816,6 +816,16 @@ static const struct gates_data sun7i_a20_apb1_gates_data __initconst = {
+@@ -816,6 +816,16 @@ static const struct gates_data sun7i_a20
.mask = { 0xff80ff },
};
@@ -62,7 +58,7 @@ index 23beb6e..a779c31 100644
static void __init sunxi_gates_clk_setup(struct device_node *node,
struct gates_data *data)
{
-@@ -1107,6 +1117,8 @@ static const struct of_device_id clk_gates_match[] __initconst = {
+@@ -1107,6 +1117,8 @@ static const struct of_device_id clk_gat
{.compatible = "allwinner,sun6i-a31-apb1-gates-clk", .data = &sun6i_a31_apb1_gates_data,},
{.compatible = "allwinner,sun7i-a20-apb1-gates-clk", .data = &sun7i_a20_apb1_gates_data,},
{.compatible = "allwinner,sun6i-a31-apb2-gates-clk", .data = &sun6i_a31_apb2_gates_data,},
@@ -71,6 +67,3 @@ index 23beb6e..a779c31 100644
{}
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/184-clk-sunxi-add-pll6-on-a31.patch b/target/linux/sunxi/patches-3.14/184-clk-sunxi-add-pll6-on-a31.patch
index 4d71742803..7193c5029b 100644
--- a/target/linux/sunxi/patches-3.14/184-clk-sunxi-add-pll6-on-a31.patch
+++ b/target/linux/sunxi/patches-3.14/184-clk-sunxi-add-pll6-on-a31.patch
@@ -16,8 +16,6 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 45 +++++++++++++++++++++++
2 files changed, 46 insertions(+)
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index ca2b692..c37c764 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -11,6 +11,7 @@ Required properties:
@@ -28,11 +26,9 @@ index ca2b692..c37c764 100644
"allwinner,sun4i-cpu-clk" - for the CPU multiplexer clock
"allwinner,sun4i-axi-clk" - for the AXI clock
"allwinner,sun4i-axi-gates-clk" - for the AXI gates
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index a779c31..d4cf297 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -252,7 +252,38 @@ static void sun4i_get_pll5_factors(u32 *freq, u32 parent_rate,
+@@ -252,7 +252,38 @@ static void sun4i_get_pll5_factors(u32 *
*n = DIV_ROUND_UP(div, (*k+1));
}
@@ -61,17 +57,17 @@ index a779c31..d4cf297 100644
+ /* we were called to round the frequency, we can now return */
+ if (n == NULL)
+ return;
-+
+
+ *k = div / 32;
+ if (*k > 3)
+ *k = 3;
-
++
+ *n = DIV_ROUND_UP(div, (*k+1));
+}
/**
* sun4i_get_apb1_factors() - calculates m, p factors for APB1
-@@ -420,6 +451,13 @@ static struct clk_factors_config sun4i_pll5_config = {
+@@ -420,6 +451,13 @@ static struct clk_factors_config sun4i_p
.kwidth = 2,
};
@@ -85,7 +81,7 @@ index a779c31..d4cf297 100644
static struct clk_factors_config sun4i_apb1_config = {
.mshift = 0,
.mwidth = 5,
-@@ -469,6 +507,12 @@ static const struct factors_data sun4i_pll6_data __initconst = {
+@@ -469,6 +507,12 @@ static const struct factors_data sun4i_p
.name = "pll6",
};
@@ -98,7 +94,7 @@ index a779c31..d4cf297 100644
static const struct factors_data sun4i_apb1_data __initconst = {
.table = &sun4i_apb1_config,
.getter = sun4i_get_apb1_factors,
-@@ -1069,6 +1113,7 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
+@@ -1069,6 +1113,7 @@ free_clkdata:
static const struct of_device_id clk_factors_match[] __initconst = {
{.compatible = "allwinner,sun4i-pll1-clk", .data = &sun4i_pll1_data,},
{.compatible = "allwinner,sun6i-a31-pll1-clk", .data = &sun6i_a31_pll1_data,},
@@ -106,6 +102,3 @@ index a779c31..d4cf297 100644
{.compatible = "allwinner,sun4i-apb1-clk", .data = &sun4i_apb1_data,},
{.compatible = "allwinner,sun4i-mod0-clk", .data = &sun4i_mod0_data,},
{.compatible = "allwinner,sun7i-a20-out-clk", .data = &sun7i_a20_out_data,},
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/185-clk-sunxi-add-a20-a31-gmac-clock.patch b/target/linux/sunxi/patches-3.14/185-clk-sunxi-add-a20-a31-gmac-clock.patch
index e105c25702..86d6301937 100644
--- a/target/linux/sunxi/patches-3.14/185-clk-sunxi-add-a20-a31-gmac-clock.patch
+++ b/target/linux/sunxi/patches-3.14/185-clk-sunxi-add-a20-a31-gmac-clock.patch
@@ -18,8 +18,6 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 96 +++++++++++++++++++++++
2 files changed, 126 insertions(+)
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index c37c764..256a908 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
@@ -38,6 +38,7 @@ Required properties:
@@ -30,7 +28,7 @@ index c37c764..256a908 100644
"allwinner,sun4i-a10-usb-clk" - for usb gates + resets on A10 / A20
"allwinner,sun5i-a13-usb-clk" - for usb gates + resets on A13
-@@ -56,6 +57,9 @@ Required properties for all clocks:
+@@ -55,6 +56,9 @@ Additionally, "allwinner,*-gates-clk" cl
And "allwinner,*-usb-clk" clocks also require:
- reset-cells : shall be set to 1
@@ -40,9 +38,9 @@ index c37c764..256a908 100644
Clock consumers should specify the desired clocks they use with a
"clocks" phandle cell. Consumers that are using a gated clock should
provide an additional ID in their clock property. This ID is the
-@@ -102,3 +106,29 @@ mmc0_clk: clk@01c20088 {
- clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
- clock-output-names = "mmc0";
+@@ -82,3 +86,29 @@ cpu: cpu@01c20054 {
+ reg = <0x01c20054 0x4>;
+ clocks = <&osc32k>, <&osc24M>, <&pll1>;
};
+
+mii_phy_tx_clk: clk@2 {
@@ -70,11 +68,9 @@ index c37c764..256a908 100644
+ clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
+ clock-output-names = "gmac";
+};
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index d4cf297..335c987 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -411,6 +411,102 @@ static void sun7i_a20_get_out_factors(u32 *freq, u32 parent_rate,
+@@ -411,6 +411,102 @@ static void sun7i_a20_get_out_factors(u3
/**
@@ -177,6 +173,3 @@ index d4cf297..335c987 100644
* sunxi_factors_clk_setup() - Setup function for factor clocks
*/
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/186-clk-sunxi-add-new-clock-compats.patch b/target/linux/sunxi/patches-3.14/186-clk-sunxi-add-new-clock-compats.patch
index 728fca8454..f842a23912 100644
--- a/target/linux/sunxi/patches-3.14/186-clk-sunxi-add-new-clock-compats.patch
+++ b/target/linux/sunxi/patches-3.14/186-clk-sunxi-add-new-clock-compats.patch
@@ -18,11 +18,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-sunxi.c | 30 +++++++++----------
2 files changed, 33 insertions(+), 33 deletions(-)
-diff --git a/Documentation/devicetree/bindings/clock/sunxi.txt b/Documentation/devicetree/bindings/clock/sunxi.txt
-index 256a908..a5160d8 100644
--- a/Documentation/devicetree/bindings/clock/sunxi.txt
+++ b/Documentation/devicetree/bindings/clock/sunxi.txt
-@@ -6,37 +6,37 @@ This binding uses the common clock binding[1].
+@@ -6,37 +6,37 @@ This binding uses the common clock bindi
Required properties:
- compatible : shall be one of the following:
@@ -75,25 +73,23 @@ index 256a908..a5160d8 100644
"allwinner,sun7i-a20-out-clk" - for the external output clocks
"allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31
"allwinner,sun4i-a10-usb-clk" - for usb gates + resets on A10 / A20
-@@ -69,7 +69,7 @@ For example:
+@@ -68,21 +68,21 @@ For example:
- osc24M: clk@01c20050 {
+ osc24M: osc24M@01c20050 {
#clock-cells = <0>;
- compatible = "allwinner,sun4i-osc-clk";
+ compatible = "allwinner,sun4i-a10-osc-clk";
reg = <0x01c20050 0x4>;
clocks = <&osc24M_fixed>;
- clock-output-names = "osc24M";
-@@ -77,7 +77,7 @@ osc24M: clk@01c20050 {
+ };
- pll1: clk@01c20000 {
+ pll1: pll1@01c20000 {
#clock-cells = <0>;
- compatible = "allwinner,sun4i-pll1-clk";
+ compatible = "allwinner,sun4i-a10-pll1-clk";
reg = <0x01c20000 0x4>;
clocks = <&osc24M>;
- clock-output-names = "pll1";
-@@ -93,7 +93,7 @@ pll5: clk@01c20020 {
+ };
cpu: cpu@01c20054 {
#clock-cells = <0>;
@@ -101,12 +97,10 @@ index 256a908..a5160d8 100644
+ compatible = "allwinner,sun4i-a10-cpu-clk";
reg = <0x01c20054 0x4>;
clocks = <&osc32k>, <&osc24M>, <&pll1>;
- clock-output-names = "cpu";
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 335c987..23baad9 100644
+ };
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -80,7 +80,7 @@ static void __init sun4i_osc_clk_setup(struct device_node *node)
+@@ -80,7 +80,7 @@ err_free_gate:
err_free_fixed:
kfree(fixed);
}
@@ -115,7 +109,7 @@ index 335c987..23baad9 100644
-@@ -1207,52 +1207,52 @@ static void __init sunxi_divs_clk_setup(struct device_node *node,
+@@ -1207,52 +1207,52 @@ free_clkdata:
/* Matches for factors clocks */
static const struct of_device_id clk_factors_match[] __initconst = {
@@ -182,6 +176,3 @@ index 335c987..23baad9 100644
{.compatible = "allwinner,sun5i-a10s-apb1-gates-clk", .data = &sun5i_a10s_apb1_gates_data,},
{.compatible = "allwinner,sun5i-a13-apb1-gates-clk", .data = &sun5i_a13_apb1_gates_data,},
{.compatible = "allwinner,sun6i-a31-apb1-gates-clk", .data = &sun6i_a31_apb1_gates_data,},
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/187-clk-sunxi-automatic-reparenting.patch b/target/linux/sunxi/patches-3.14/187-clk-sunxi-automatic-reparenting.patch
index b78b661ed8..2cd8a263be 100644
--- a/target/linux/sunxi/patches-3.14/187-clk-sunxi-automatic-reparenting.patch
+++ b/target/linux/sunxi/patches-3.14/187-clk-sunxi-automatic-reparenting.patch
@@ -14,11 +14,9 @@ Signed-off-by: Emilio López <emilio@elopez.com.ar>
drivers/clk/sunxi/clk-factors.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
-diff --git a/drivers/clk/sunxi/clk-factors.c b/drivers/clk/sunxi/clk-factors.c
-index 9e23264..3806d97 100644
--- a/drivers/clk/sunxi/clk-factors.c
+++ b/drivers/clk/sunxi/clk-factors.c
-@@ -77,6 +77,41 @@ static long clk_factors_round_rate(struct clk_hw *hw, unsigned long rate,
+@@ -77,6 +77,41 @@ static long clk_factors_round_rate(struc
return rate;
}
@@ -60,7 +58,7 @@ index 9e23264..3806d97 100644
static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
unsigned long parent_rate)
{
-@@ -113,6 +148,7 @@ static int clk_factors_set_rate(struct clk_hw *hw, unsigned long rate,
+@@ -113,6 +148,7 @@ static int clk_factors_set_rate(struct c
}
const struct clk_ops clk_factors_ops = {
@@ -68,6 +66,3 @@ index 9e23264..3806d97 100644
.recalc_rate = clk_factors_recalc_rate,
.round_rate = clk_factors_round_rate,
.set_rate = clk_factors_set_rate,
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/188-clk-sunxi-implement-mmc-phasectrl.patch b/target/linux/sunxi/patches-3.14/188-clk-sunxi-implement-mmc-phasectrl.patch
index 1288f8fed9..c191b350f8 100644
--- a/target/linux/sunxi/patches-3.14/188-clk-sunxi-implement-mmc-phasectrl.patch
+++ b/target/linux/sunxi/patches-3.14/188-clk-sunxi-implement-mmc-phasectrl.patch
@@ -16,11 +16,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2 files changed, 57 insertions(+)
create mode 100644 include/linux/clk/sunxi.h
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 23baad9..9afd8dd 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -507,6 +507,41 @@ CLK_OF_DECLARE(sun7i_a20_gmac, "allwinner,sun7i-a20-gmac-clk",
+@@ -507,6 +507,41 @@ CLK_OF_DECLARE(sun7i_a20_gmac, "allwinne
/**
@@ -62,9 +60,6 @@ index 23baad9..9afd8dd 100644
* sunxi_factors_clk_setup() - Setup function for factor clocks
*/
-diff --git a/include/linux/clk/sunxi.h b/include/linux/clk/sunxi.h
-new file mode 100644
-index 0000000..1ef5c89
--- /dev/null
+++ b/include/linux/clk/sunxi.h
@@ -0,0 +1,22 @@
@@ -90,6 +85,3 @@ index 0000000..1ef5c89
+void clk_sunxi_mmc_phase_control(struct clk_hw *hw, u8 sample, u8 output);
+
+#endif
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/190-ahci-libahci-changes.patch b/target/linux/sunxi/patches-3.14/190-ahci-libahci-changes.patch
index 21a119f96b..9600e95d5a 100644
--- a/target/linux/sunxi/patches-3.14/190-ahci-libahci-changes.patch
+++ b/target/linux/sunxi/patches-3.14/190-ahci-libahci-changes.patch
@@ -20,11 +20,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/ata/sata_highbank.c | 3 ++-
4 files changed, 31 insertions(+), 10 deletions(-)
-diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
-index c81d809..8bfc477 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
-@@ -578,6 +578,7 @@ static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class,
+@@ -583,6 +583,7 @@ static int ahci_vt8251_hardreset(struct
unsigned long deadline)
{
struct ata_port *ap = link->ap;
@@ -32,7 +30,7 @@ index c81d809..8bfc477 100644
bool online;
int rc;
-@@ -588,7 +589,7 @@ static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class,
+@@ -593,7 +594,7 @@ static int ahci_vt8251_hardreset(struct
rc = sata_link_hardreset(link, sata_ehc_deb_timing(&link->eh_context),
deadline, &online, NULL);
@@ -41,7 +39,7 @@ index c81d809..8bfc477 100644
DPRINTK("EXIT, rc=%d, class=%u\n", rc, *class);
-@@ -603,6 +604,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class,
+@@ -608,6 +609,7 @@ static int ahci_p5wdh_hardreset(struct a
{
struct ata_port *ap = link->ap;
struct ahci_port_priv *pp = ap->private_data;
@@ -49,7 +47,7 @@ index c81d809..8bfc477 100644
u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG;
struct ata_taskfile tf;
bool online;
-@@ -618,7 +620,7 @@ static int ahci_p5wdh_hardreset(struct ata_link *link, unsigned int *class,
+@@ -623,7 +625,7 @@ static int ahci_p5wdh_hardreset(struct a
rc = sata_link_hardreset(link, sata_ehc_deb_timing(&link->eh_context),
deadline, &online, NULL);
@@ -58,13 +56,31 @@ index c81d809..8bfc477 100644
/* The pseudo configuration device on SIMG4726 attached to
* ASUS P5W-DH Deluxe doesn't send signature FIS after
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 2289efd..64d1a99d 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
-@@ -323,6 +323,12 @@ struct ahci_host_priv {
+@@ -37,6 +37,7 @@
+
+ #include <linux/clk.h>
+ #include <linux/libata.h>
++#include <linux/regulator/consumer.h>
+
+ /* Enclosure Management Control */
+ #define EM_CTRL_MSG_TYPE 0x000f0000
+@@ -51,6 +52,7 @@
+
+ enum {
+ AHCI_MAX_PORTS = 32,
++ AHCI_MAX_CLKS = 3,
+ AHCI_MAX_SG = 168, /* hardware max is 64K */
+ AHCI_DMA_BOUNDARY = 0xffffffff,
+ AHCI_MAX_CMDS = 32,
+@@ -322,8 +324,15 @@ struct ahci_host_priv {
+ u32 em_loc; /* enclosure management location */
+ u32 em_buf_sz; /* EM buffer size in byte */
u32 em_msg_type; /* EM message type */
- struct clk *clk; /* Only for platforms supporting clk */
+- struct clk *clk; /* Only for platforms supporting clk */
++ struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
++ struct regulator *target_pwr; /* Optional */
void *plat_data; /* Other platform data */
+ /*
+ * Optional ahci_start_engine override, if not set this gets set to the
@@ -75,11 +91,9 @@ index 2289efd..64d1a99d 100644
};
extern int ahci_ignore_sss;
-diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
-index 36605ab..f839bb3 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
-@@ -394,6 +394,9 @@ static ssize_t ahci_show_em_supported(struct device *dev,
+@@ -394,6 +394,9 @@ static ssize_t ahci_show_em_supported(st
*
* If inconsistent, config values are fixed up by this function.
*
@@ -89,7 +103,7 @@ index 36605ab..f839bb3 100644
* LOCKING:
* None.
*/
-@@ -500,6 +503,9 @@ void ahci_save_initial_config(struct device *dev,
+@@ -500,6 +503,9 @@ void ahci_save_initial_config(struct dev
hpriv->cap = cap;
hpriv->cap2 = cap2;
hpriv->port_map = port_map;
@@ -99,7 +113,7 @@ index 36605ab..f839bb3 100644
}
EXPORT_SYMBOL_GPL(ahci_save_initial_config);
-@@ -766,7 +772,7 @@ static void ahci_start_port(struct ata_port *ap)
+@@ -766,7 +772,7 @@ static void ahci_start_port(struct ata_p
/* enable DMA */
if (!(hpriv->flags & AHCI_HFLAG_DELAY_ENGINE))
@@ -108,7 +122,7 @@ index 36605ab..f839bb3 100644
/* turn on LEDs */
if (ap->flags & ATA_FLAG_EM) {
-@@ -1234,7 +1240,7 @@ int ahci_kick_engine(struct ata_port *ap)
+@@ -1234,7 +1240,7 @@ int ahci_kick_engine(struct ata_port *ap
/* restart engine */
out_restart:
@@ -117,7 +131,7 @@ index 36605ab..f839bb3 100644
return rc;
}
EXPORT_SYMBOL_GPL(ahci_kick_engine);
-@@ -1426,6 +1432,7 @@ static int ahci_hardreset(struct ata_link *link, unsigned int *class,
+@@ -1426,6 +1432,7 @@ static int ahci_hardreset(struct ata_lin
const unsigned long *timing = sata_ehc_deb_timing(&link->eh_context);
struct ata_port *ap = link->ap;
struct ahci_port_priv *pp = ap->private_data;
@@ -125,7 +139,7 @@ index 36605ab..f839bb3 100644
u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG;
struct ata_taskfile tf;
bool online;
-@@ -1443,7 +1450,7 @@ static int ahci_hardreset(struct ata_link *link, unsigned int *class,
+@@ -1443,7 +1450,7 @@ static int ahci_hardreset(struct ata_lin
rc = sata_link_hardreset(link, timing, deadline, &online,
ahci_check_ready);
@@ -134,7 +148,7 @@ index 36605ab..f839bb3 100644
if (online)
*class = ahci_dev_classify(ap);
-@@ -2007,10 +2014,12 @@ static void ahci_thaw(struct ata_port *ap)
+@@ -2007,10 +2014,12 @@ static void ahci_thaw(struct ata_port *a
void ahci_error_handler(struct ata_port *ap)
{
@@ -148,7 +162,7 @@ index 36605ab..f839bb3 100644
}
sata_pmp_error_handler(ap);
-@@ -2031,6 +2040,7 @@ static void ahci_post_internal_cmd(struct ata_queued_cmd *qc)
+@@ -2031,6 +2040,7 @@ static void ahci_post_internal_cmd(struc
static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep)
{
@@ -156,7 +170,7 @@ index 36605ab..f839bb3 100644
void __iomem *port_mmio = ahci_port_base(ap);
struct ata_device *dev = ap->link.device;
u32 devslp, dm, dito, mdat, deto;
-@@ -2094,7 +2104,7 @@ static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep)
+@@ -2094,7 +2104,7 @@ static void ahci_set_aggressive_devslp(s
PORT_DEVSLP_ADSE);
writel(devslp, port_mmio + PORT_DEVSLP);
@@ -165,7 +179,7 @@ index 36605ab..f839bb3 100644
/* enable device sleep feature for the drive */
err_mask = ata_dev_set_feature(dev,
-@@ -2106,6 +2116,7 @@ static void ahci_set_aggressive_devslp(struct ata_port *ap, bool sleep)
+@@ -2106,6 +2116,7 @@ static void ahci_set_aggressive_devslp(s
static void ahci_enable_fbs(struct ata_port *ap)
{
@@ -173,7 +187,7 @@ index 36605ab..f839bb3 100644
struct ahci_port_priv *pp = ap->private_data;
void __iomem *port_mmio = ahci_port_base(ap);
u32 fbs;
-@@ -2134,11 +2145,12 @@ static void ahci_enable_fbs(struct ata_port *ap)
+@@ -2134,11 +2145,12 @@ static void ahci_enable_fbs(struct ata_p
} else
dev_err(ap->host->dev, "Failed to enable FBS\n");
@@ -187,7 +201,7 @@ index 36605ab..f839bb3 100644
struct ahci_port_priv *pp = ap->private_data;
void __iomem *port_mmio = ahci_port_base(ap);
u32 fbs;
-@@ -2166,7 +2178,7 @@ static void ahci_disable_fbs(struct ata_port *ap)
+@@ -2166,7 +2178,7 @@ static void ahci_disable_fbs(struct ata_
pp->fbs_enabled = false;
}
@@ -196,11 +210,9 @@ index 36605ab..f839bb3 100644
}
static void ahci_pmp_attach(struct ata_port *ap)
-diff --git a/drivers/ata/sata_highbank.c b/drivers/ata/sata_highbank.c
-index 870b11e..b3b18d1 100644
--- a/drivers/ata/sata_highbank.c
+++ b/drivers/ata/sata_highbank.c
-@@ -403,6 +403,7 @@ static int ahci_highbank_hardreset(struct ata_link *link, unsigned int *class,
+@@ -403,6 +403,7 @@ static int ahci_highbank_hardreset(struc
static const unsigned long timing[] = { 5, 100, 500};
struct ata_port *ap = link->ap;
struct ahci_port_priv *pp = ap->private_data;
@@ -208,7 +220,7 @@ index 870b11e..b3b18d1 100644
u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG;
struct ata_taskfile tf;
bool online;
-@@ -431,7 +432,7 @@ static int ahci_highbank_hardreset(struct ata_link *link, unsigned int *class,
+@@ -431,7 +432,7 @@ static int ahci_highbank_hardreset(struc
break;
} while (!online && retry--);
@@ -217,66 +229,24 @@ index 870b11e..b3b18d1 100644
if (online)
*class = ahci_dev_classify(ap);
---
-2.0.3
-
-From fcc3a79f048480e6723b0cfd294f9eecbf73dfd9 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Thu, 16 Jan 2014 14:32:35 +0100
-Subject: [PATCH] ahci-platform: Add support for devices with more then 1 clock
-
-The allwinner-sun4i AHCI controller needs 2 clocks to be enabled and the
-imx AHCI controller needs 3 clocks to be enabled.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- .../devicetree/bindings/ata/ahci-platform.txt | 1 +
- drivers/ata/ahci.h | 3 +-
- drivers/ata/ahci_platform.c | 119 ++++++++++++++++-----
- include/linux/ahci_platform.h | 4 +
- 4 files changed, 99 insertions(+), 28 deletions(-)
-
-diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-index 89de156..3ced07d 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-@@ -10,6 +10,7 @@ Required properties:
+@@ -10,6 +10,8 @@ Required properties:
Optional properties:
- dma-coherent : Present if dma operations are coherent
+- clocks : a list of phandle + clock specifier pairs
++- target-supply : regulator for SATA target power
Example:
sata@ffe08000 {
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 64d1a99d..c12862b 100644
---- a/drivers/ata/ahci.h
-+++ b/drivers/ata/ahci.h
-@@ -51,6 +51,7 @@
-
- enum {
- AHCI_MAX_PORTS = 32,
-+ AHCI_MAX_CLKS = 3,
- AHCI_MAX_SG = 168, /* hardware max is 64K */
- AHCI_DMA_BOUNDARY = 0xffffffff,
- AHCI_MAX_CMDS = 32,
-@@ -321,7 +322,7 @@ struct ahci_host_priv {
- u32 em_loc; /* enclosure management location */
- u32 em_buf_sz; /* EM buffer size in byte */
- u32 em_msg_type; /* EM message type */
-- struct clk *clk; /* Only for platforms supporting clk */
-+ struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
- void *plat_data; /* Other platform data */
- /*
- * Optional ahci_start_engine override, if not set this gets set to the
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 4b231ba..609975d 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -87,6 +87,66 @@ static struct scsi_host_template ahci_platform_sht = {
+@@ -87,78 +87,252 @@ static struct scsi_host_template ahci_pl
AHCI_SHT("ahci_platform"),
};
+-static int ahci_probe(struct platform_device *pdev)
+/**
+ * ahci_platform_enable_clks - Enable platform clocks
+ * @hpriv: host private area to store config values
@@ -292,23 +262,46 @@ index 4b231ba..609975d 100644
+ * 0 on success otherwise a negative error code
+ */
+int ahci_platform_enable_clks(struct ahci_host_priv *hpriv)
-+{
+ {
+- struct device *dev = &pdev->dev;
+- struct ahci_platform_data *pdata = dev_get_platdata(dev);
+- const struct platform_device_id *id = platform_get_device_id(pdev);
+- struct ata_port_info pi = ahci_port_info[id ? id->driver_data : 0];
+- const struct ata_port_info *ppi[] = { &pi, NULL };
+- struct ahci_host_priv *hpriv;
+- struct ata_host *host;
+- struct resource *mem;
+- int irq;
+- int n_ports;
+- int i;
+- int rc;
+ int c, rc;
-+
+
+- mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+- if (!mem) {
+- dev_err(dev, "no mmio space\n");
+- return -EINVAL;
+ for (c = 0; c < AHCI_MAX_CLKS && hpriv->clks[c]; c++) {
+ rc = clk_prepare_enable(hpriv->clks[c]);
+ if (rc)
+ goto disable_unprepare_clk;
-+ }
+ }
+ return 0;
-+
+
+- irq = platform_get_irq(pdev, 0);
+- if (irq <= 0) {
+- dev_err(dev, "no irq\n");
+- return -EINVAL;
+- }
+disable_unprepare_clk:
+ while (--c >= 0)
+ clk_disable_unprepare(hpriv->clks[c]);
+ return rc;
+}
+EXPORT_SYMBOL_GPL(ahci_platform_enable_clks);
-+
+
+- if (pdata && pdata->ata_port_info)
+- pi = *pdata->ata_port_info;
+/**
+ * ahci_platform_disable_clks - Disable platform clocks
+ * @hpriv: host private area to store config values
@@ -322,320 +315,17 @@ index 4b231ba..609975d 100644
+void ahci_platform_disable_clks(struct ahci_host_priv *hpriv)
+{
+ int c;
-+
+
+- hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL);
+- if (!hpriv) {
+- dev_err(dev, "can't alloc ahci_host_priv\n");
+- return -ENOMEM;
+ for (c = AHCI_MAX_CLKS - 1; c >= 0; c--)
+ if (hpriv->clks[c])
+ clk_disable_unprepare(hpriv->clks[c]);
+}
+EXPORT_SYMBOL_GPL(ahci_platform_disable_clks);
+
-+static void ahci_put_clks(struct ahci_host_priv *hpriv)
-+{
-+ int c;
-+
-+ for (c = 0; c < AHCI_MAX_CLKS && hpriv->clks[c]; c++)
-+ clk_put(hpriv->clks[c]);
-+}
-+
- static int ahci_probe(struct platform_device *pdev)
- {
- struct device *dev = &pdev->dev;
-@@ -97,6 +157,7 @@ static int ahci_probe(struct platform_device *pdev)
- struct ahci_host_priv *hpriv;
- struct ata_host *host;
- struct resource *mem;
-+ struct clk *clk;
- int irq;
- int n_ports;
- int i;
-@@ -131,17 +192,31 @@ static int ahci_probe(struct platform_device *pdev)
- return -ENOMEM;
- }
-
-- hpriv->clk = clk_get(dev, NULL);
-- if (IS_ERR(hpriv->clk)) {
-- dev_err(dev, "can't get clock\n");
-- } else {
-- rc = clk_prepare_enable(hpriv->clk);
-- if (rc) {
-- dev_err(dev, "clock prepare enable failed");
-- goto free_clk;
-+ for (i = 0; i < AHCI_MAX_CLKS; i++) {
-+ /*
-+ * For now we must use clk_get(dev, NULL) for the first clock,
-+ * because some platforms (da850, spear13xx) are not yet
-+ * converted to use devicetree for clocks. For new platforms
-+ * this is equivalent to of_clk_get(dev->of_node, 0).
-+ */
-+ if (i == 0)
-+ clk = clk_get(dev, NULL);
-+ else
-+ clk = of_clk_get(dev->of_node, i);
-+
-+ if (IS_ERR(clk)) {
-+ rc = PTR_ERR(clk);
-+ if (rc == -EPROBE_DEFER)
-+ goto free_clk;
-+ break;
- }
-+ hpriv->clks[i] = clk;
- }
-
-+ rc = ahci_enable_clks(dev, hpriv);
-+ if (rc)
-+ goto free_clk;
-+
- /*
- * Some platforms might need to prepare for mmio region access,
- * which could be done in the following init call. So, the mmio
-@@ -222,11 +297,9 @@ static int ahci_probe(struct platform_device *pdev)
- if (pdata && pdata->exit)
- pdata->exit(dev);
- disable_unprepare_clk:
-- if (!IS_ERR(hpriv->clk))
-- clk_disable_unprepare(hpriv->clk);
-+ ahci_disable_clks(hpriv);
- free_clk:
-- if (!IS_ERR(hpriv->clk))
-- clk_put(hpriv->clk);
-+ ahci_put_clks(hpriv);
- return rc;
- }
-
-@@ -239,10 +312,8 @@ static void ahci_host_stop(struct ata_host *host)
- if (pdata && pdata->exit)
- pdata->exit(dev);
-
-- if (!IS_ERR(hpriv->clk)) {
-- clk_disable_unprepare(hpriv->clk);
-- clk_put(hpriv->clk);
-- }
-+ ahci_disable_clks(hpriv);
-+ ahci_put_clks(hpriv);
- }
-
- #ifdef CONFIG_PM_SLEEP
-@@ -277,8 +348,7 @@ static int ahci_suspend(struct device *dev)
- if (pdata && pdata->suspend)
- return pdata->suspend(dev);
-
-- if (!IS_ERR(hpriv->clk))
-- clk_disable_unprepare(hpriv->clk);
-+ ahci_disable_clks(hpriv);
-
- return 0;
- }
-@@ -290,13 +360,9 @@ static int ahci_resume(struct device *dev)
- struct ahci_host_priv *hpriv = host->private_data;
- int rc;
-
-- if (!IS_ERR(hpriv->clk)) {
-- rc = clk_prepare_enable(hpriv->clk);
-- if (rc) {
-- dev_err(dev, "clock prepare enable failed");
-- return rc;
-- }
-- }
-+ rc = ahci_enable_clks(dev, hpriv);
-+ if (rc)
-+ return rc;
-
- if (pdata && pdata->resume) {
- rc = pdata->resume(dev);
-@@ -317,8 +383,7 @@ static int ahci_resume(struct device *dev)
- return 0;
-
- disable_unprepare_clk:
-- if (!IS_ERR(hpriv->clk))
-- clk_disable_unprepare(hpriv->clk);
-+ ahci_disable_clks(hpriv);
-
- return rc;
- }
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index 73a2500..769d065 100644
---- a/include/linux/ahci_platform.h
-+++ b/include/linux/ahci_platform.h
-@@ -19,6 +19,7 @@
-
- struct device;
- struct ata_port_info;
-+struct ahci_host_priv;
-
- struct ahci_platform_data {
- int (*init)(struct device *dev, void __iomem *addr);
-@@ -30,4 +31,7 @@ struct ahci_platform_data {
- unsigned int mask_port_map;
- };
-
-+int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
-+void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
-+
- #endif /* _AHCI_PLATFORM_H */
---
-2.0.3
-
-From 3dc53b267843b6dfeb2eb67e52e17915dc2347ab Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Fri, 17 Jan 2014 13:23:21 +0100
-Subject: [PATCH] ahci-platform: Add support for an optional regulator for
- sata-target power
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- .../devicetree/bindings/ata/ahci-platform.txt | 1 +
- drivers/ata/ahci.h | 2 ++
- drivers/ata/ahci_platform.c | 36 ++++++++++++++++++++--
- 3 files changed, 37 insertions(+), 2 deletions(-)
-
-diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-index 3ced07d..1ac807f 100644
---- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
-+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-@@ -11,6 +11,7 @@ Required properties:
- Optional properties:
- - dma-coherent : Present if dma operations are coherent
- - clocks : a list of phandle + clock specifier pairs
-+- target-supply : regulator for SATA target power
-
- Example:
- sata@ffe08000 {
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index c12862b..bf8100c 100644
---- a/drivers/ata/ahci.h
-+++ b/drivers/ata/ahci.h
-@@ -37,6 +37,7 @@
-
- #include <linux/clk.h>
- #include <linux/libata.h>
-+#include <linux/regulator/consumer.h>
-
- /* Enclosure Management Control */
- #define EM_CTRL_MSG_TYPE 0x000f0000
-@@ -323,6 +324,7 @@ struct ahci_host_priv {
- u32 em_buf_sz; /* EM buffer size in byte */
- u32 em_msg_type; /* EM message type */
- struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
-+ struct regulator *target_pwr; /* Optional */
- void *plat_data; /* Other platform data */
- /*
- * Optional ahci_start_engine override, if not set this gets set to the
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 609975d..907c076 100644
---- a/drivers/ata/ahci_platform.c
-+++ b/drivers/ata/ahci_platform.c
-@@ -192,6 +192,14 @@ static int ahci_probe(struct platform_device *pdev)
- return -ENOMEM;
- }
-
-+ hpriv->target_pwr = devm_regulator_get_optional(dev, "target");
-+ if (IS_ERR(hpriv->target_pwr)) {
-+ rc = PTR_ERR(hpriv->target_pwr);
-+ if (rc == -EPROBE_DEFER)
-+ return -EPROBE_DEFER;
-+ hpriv->target_pwr = NULL;
-+ }
-+
- for (i = 0; i < AHCI_MAX_CLKS; i++) {
- /*
- * For now we must use clk_get(dev, NULL) for the first clock,
-@@ -213,9 +221,15 @@ static int ahci_probe(struct platform_device *pdev)
- hpriv->clks[i] = clk;
- }
-
-+ if (hpriv->target_pwr) {
-+ rc = regulator_enable(hpriv->target_pwr);
-+ if (rc)
-+ goto free_clk;
-+ }
-+
- rc = ahci_enable_clks(dev, hpriv);
- if (rc)
-- goto free_clk;
-+ goto disable_regulator;
-
- /*
- * Some platforms might need to prepare for mmio region access,
-@@ -298,6 +312,9 @@ static int ahci_probe(struct platform_device *pdev)
- pdata->exit(dev);
- disable_unprepare_clk:
- ahci_disable_clks(hpriv);
-+disable_regulator:
-+ if (hpriv->target_pwr)
-+ regulator_disable(hpriv->target_pwr);
- free_clk:
- ahci_put_clks(hpriv);
- return rc;
-@@ -314,6 +331,9 @@ static void ahci_host_stop(struct ata_host *host)
-
- ahci_disable_clks(hpriv);
- ahci_put_clks(hpriv);
-+
-+ if (hpriv->target_pwr)
-+ regulator_disable(hpriv->target_pwr);
- }
-
- #ifdef CONFIG_PM_SLEEP
-@@ -350,6 +370,9 @@ static int ahci_suspend(struct device *dev)
-
- ahci_disable_clks(hpriv);
-
-+ if (hpriv->target_pwr)
-+ regulator_disable(hpriv->target_pwr);
-+
- return 0;
- }
-
-@@ -360,9 +383,15 @@ static int ahci_resume(struct device *dev)
- struct ahci_host_priv *hpriv = host->private_data;
- int rc;
-
-+ if (hpriv->target_pwr) {
-+ rc = regulator_enable(hpriv->target_pwr);
-+ if (rc)
-+ return rc;
-+ }
-+
- rc = ahci_enable_clks(dev, hpriv);
- if (rc)
-- return rc;
-+ goto disable_regulator;
-
- if (pdata && pdata->resume) {
- rc = pdata->resume(dev);
-@@ -384,6 +413,9 @@ static int ahci_resume(struct device *dev)
-
- disable_unprepare_clk:
- ahci_disable_clks(hpriv);
-+disable_regulator:
-+ if (hpriv->target_pwr)
-+ regulator_disable(hpriv->target_pwr);
-
- return rc;
- }
---
-2.0.3
-
-From 74f54552b061865ff46d43aa68d0c6e8852dc592 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 20 Jan 2014 14:54:40 +0100
-Subject: [PATCH] ahci-platform: Add enable_ / disable_resources helper
- functions
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci_platform.c | 112 ++++++++++++++++++++++++++++--------------
- include/linux/ahci_platform.h | 2 +
- 2 files changed, 77 insertions(+), 37 deletions(-)
-
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 907c076..6ebbc17 100644
---- a/drivers/ata/ahci_platform.c
-+++ b/drivers/ata/ahci_platform.c
-@@ -139,6 +139,68 @@ void ahci_platform_disable_clks(struct ahci_host_priv *hpriv)
- }
- EXPORT_SYMBOL_GPL(ahci_platform_disable_clks);
-
+/**
+ * ahci_platform_enable_resources - Enable platform resources
+ * @hpriv: host private area to store config values
@@ -662,8 +352,9 @@ index 907c076..6ebbc17 100644
+ rc = regulator_enable(hpriv->target_pwr);
+ if (rc)
+ return rc;
-+ }
-+
+ }
+
+- hpriv->flags |= (unsigned long)pi.private_data;
+ rc = ahci_platform_enable_clks(hpriv);
+ if (rc)
+ goto disable_regulator;
@@ -692,186 +383,22 @@ index 907c076..6ebbc17 100644
+void ahci_platform_disable_resources(struct ahci_host_priv *hpriv)
+{
+ ahci_platform_disable_clks(hpriv);
-+
+
+- hpriv->mmio = devm_ioremap(dev, mem->start, resource_size(mem));
+ if (hpriv->target_pwr)
+ regulator_disable(hpriv->target_pwr);
+}
+EXPORT_SYMBOL_GPL(ahci_platform_disable_resources);
+
- static void ahci_put_clks(struct ahci_host_priv *hpriv)
- {
- int c;
-@@ -221,15 +283,9 @@ static int ahci_probe(struct platform_device *pdev)
- hpriv->clks[i] = clk;
- }
-
-- if (hpriv->target_pwr) {
-- rc = regulator_enable(hpriv->target_pwr);
-- if (rc)
-- goto free_clk;
-- }
--
-- rc = ahci_enable_clks(dev, hpriv);
-+ rc = ahci_platform_enable_resources(hpriv);
- if (rc)
-- goto disable_regulator;
-+ goto free_clk;
-
- /*
- * Some platforms might need to prepare for mmio region access,
-@@ -240,7 +296,7 @@ static int ahci_probe(struct platform_device *pdev)
- if (pdata && pdata->init) {
- rc = pdata->init(dev, hpriv->mmio);
- if (rc)
-- goto disable_unprepare_clk;
-+ goto disable_resources;
- }
-
- ahci_save_initial_config(dev, hpriv,
-@@ -310,11 +366,8 @@ static int ahci_probe(struct platform_device *pdev)
- pdata_exit:
- if (pdata && pdata->exit)
- pdata->exit(dev);
--disable_unprepare_clk:
-- ahci_disable_clks(hpriv);
--disable_regulator:
-- if (hpriv->target_pwr)
-- regulator_disable(hpriv->target_pwr);
-+disable_resources:
-+ ahci_platform_disable_resources(hpriv);
- free_clk:
- ahci_put_clks(hpriv);
- return rc;
-@@ -329,11 +382,8 @@ static void ahci_host_stop(struct ata_host *host)
- if (pdata && pdata->exit)
- pdata->exit(dev);
-
-- ahci_disable_clks(hpriv);
-+ ahci_platform_disable_resources(hpriv);
- ahci_put_clks(hpriv);
--
-- if (hpriv->target_pwr)
-- regulator_disable(hpriv->target_pwr);
- }
-
- #ifdef CONFIG_PM_SLEEP
-@@ -368,10 +418,7 @@ static int ahci_suspend(struct device *dev)
- if (pdata && pdata->suspend)
- return pdata->suspend(dev);
-
-- ahci_disable_clks(hpriv);
--
-- if (hpriv->target_pwr)
-- regulator_disable(hpriv->target_pwr);
-+ ahci_platform_disable_resources(hpriv);
-
- return 0;
- }
-@@ -383,26 +430,20 @@ static int ahci_resume(struct device *dev)
- struct ahci_host_priv *hpriv = host->private_data;
- int rc;
-
-- if (hpriv->target_pwr) {
-- rc = regulator_enable(hpriv->target_pwr);
-- if (rc)
-- return rc;
-- }
--
-- rc = ahci_enable_clks(dev, hpriv);
-+ rc = ahci_platform_enable_resources(hpriv);
- if (rc)
-- goto disable_regulator;
-+ return rc;
-
- if (pdata && pdata->resume) {
- rc = pdata->resume(dev);
- if (rc)
-- goto disable_unprepare_clk;
-+ goto disable_resources;
- }
-
- if (dev->power.power_state.event == PM_EVENT_SUSPEND) {
- rc = ahci_reset_controller(host);
- if (rc)
-- goto disable_unprepare_clk;
-+ goto disable_resources;
-
- ahci_init_controller(host);
- }
-@@ -411,11 +452,8 @@ static int ahci_resume(struct device *dev)
-
- return 0;
-
--disable_unprepare_clk:
-- ahci_disable_clks(hpriv);
--disable_regulator:
-- if (hpriv->target_pwr)
-- regulator_disable(hpriv->target_pwr);
-+disable_resources:
-+ ahci_platform_disable_resources(hpriv);
-
- return rc;
- }
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index 769d065..b674b01 100644
---- a/include/linux/ahci_platform.h
-+++ b/include/linux/ahci_platform.h
-@@ -33,5 +33,7 @@ struct ahci_platform_data {
-
- int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
- void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
-+int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
-+void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
-
- #endif /* _AHCI_PLATFORM_H */
---
-2.0.3
-
-From 88972833cba7a6dad8e9a1c9b43ab02fc274e4fd Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 20 Jan 2014 14:58:04 +0100
-Subject: [PATCH] ahci-platform: "Library-ise" ahci_probe functionality
-
-ahci_probe consists of 3 steps:
-1) Get resources (get mmio, clks, regulator)
-2) Enable resources, handled by ahci_platform_enable_resouces
-3) The more or less standard ahci-host controller init sequence
-
-This commit refactors step 1 and 3 into separate functions, so the platform
-drivers for AHCI implementations which need a specific order in step 2,
-and / or need to do some custom register poking at some time, can re-use
-ahci-platform.c code without needing to copy and paste it.
-
-Note that ahci_platform_init_host's prototype takes the 3 non function
-members of ahci_platform_data as arguments, the idea is that drivers using
-the new exported utility functions will not use ahci_platform_data at all,
-and hopefully in the future ahci_platform_data can go away entirely.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci_platform.c | 195 ++++++++++++++++++++++++++++--------------
- include/linux/ahci_platform.h | 14 +++
- 2 files changed, 144 insertions(+), 65 deletions(-)
-
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 6ebbc17..7f3f2ac 100644
---- a/drivers/ata/ahci_platform.c
-+++ b/drivers/ata/ahci_platform.c
-@@ -201,64 +201,64 @@ void ahci_platform_disable_resources(struct ahci_host_priv *hpriv)
- }
- EXPORT_SYMBOL_GPL(ahci_platform_disable_resources);
-
--static void ahci_put_clks(struct ahci_host_priv *hpriv)
+static void ahci_platform_put_resources(struct device *dev, void *res)
- {
++{
+ struct ahci_host_priv *hpriv = res;
- int c;
-
- for (c = 0; c < AHCI_MAX_CLKS && hpriv->clks[c]; c++)
- clk_put(hpriv->clks[c]);
- }
-
--static int ahci_probe(struct platform_device *pdev)
++ int c;
++
++ for (c = 0; c < AHCI_MAX_CLKS && hpriv->clks[c]; c++)
++ clk_put(hpriv->clks[c]);
++}
++
+/**
+ * ahci_platform_get_resources - Get platform resources
+ * @pdev: platform device to get resources for
@@ -893,53 +420,22 @@ index 6ebbc17..7f3f2ac 100644
+ */
+struct ahci_host_priv *ahci_platform_get_resources(
+ struct platform_device *pdev)
- {
- struct device *dev = &pdev->dev;
-- struct ahci_platform_data *pdata = dev_get_platdata(dev);
-- const struct platform_device_id *id = platform_get_device_id(pdev);
-- struct ata_port_info pi = ahci_port_info[id ? id->driver_data : 0];
-- const struct ata_port_info *ppi[] = { &pi, NULL };
- struct ahci_host_priv *hpriv;
-- struct ata_host *host;
-- struct resource *mem;
- struct clk *clk;
-- int irq;
-- int n_ports;
-- int i;
-- int rc;
++{
++ struct device *dev = &pdev->dev;
++ struct ahci_host_priv *hpriv;
++ struct clk *clk;
+ int i, rc = -ENOMEM;
-
-- mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-- if (!mem) {
-- dev_err(dev, "no mmio space\n");
-- return -EINVAL;
-- }
++
+ if (!devres_open_group(dev, NULL, GFP_KERNEL))
+ return ERR_PTR(-ENOMEM);
-
-- irq = platform_get_irq(pdev, 0);
-- if (irq <= 0) {
-- dev_err(dev, "no irq\n");
-- return -EINVAL;
-- }
++
+ hpriv = devres_alloc(ahci_platform_put_resources, sizeof(*hpriv),
+ GFP_KERNEL);
+ if (!hpriv)
+ goto err_out;
-
-- if (pdata && pdata->ata_port_info)
-- pi = *pdata->ata_port_info;
++
+ devres_add(dev, hpriv);
-
-- hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL);
-- if (!hpriv) {
-- dev_err(dev, "can't alloc ahci_host_priv\n");
-- return -ENOMEM;
-- }
--
-- hpriv->flags |= (unsigned long)pi.private_data;
--
-- hpriv->mmio = devm_ioremap(dev, mem->start, resource_size(mem));
++
+ hpriv->mmio = devm_ioremap_resource(dev,
+ platform_get_resource(pdev, IORESOURCE_MEM, 0));
if (!hpriv->mmio) {
@@ -949,32 +445,43 @@ index 6ebbc17..7f3f2ac 100644
+ goto err_out;
}
- hpriv->target_pwr = devm_regulator_get_optional(dev, "target");
- if (IS_ERR(hpriv->target_pwr)) {
- rc = PTR_ERR(hpriv->target_pwr);
- if (rc == -EPROBE_DEFER)
-- return -EPROBE_DEFER;
+- hpriv->clk = clk_get(dev, NULL);
+- if (IS_ERR(hpriv->clk)) {
+- dev_err(dev, "can't get clock\n");
+- } else {
+- rc = clk_prepare_enable(hpriv->clk);
+- if (rc) {
+- dev_err(dev, "clock prepare enable failed");
+- goto free_clk;
++ hpriv->target_pwr = devm_regulator_get_optional(dev, "target");
++ if (IS_ERR(hpriv->target_pwr)) {
++ rc = PTR_ERR(hpriv->target_pwr);
++ if (rc == -EPROBE_DEFER)
+ goto err_out;
- hpriv->target_pwr = NULL;
- }
-
-@@ -277,33 +277,62 @@ static int ahci_probe(struct platform_device *pdev)
- if (IS_ERR(clk)) {
- rc = PTR_ERR(clk);
- if (rc == -EPROBE_DEFER)
-- goto free_clk;
++ hpriv->target_pwr = NULL;
++ }
++
++ for (i = 0; i < AHCI_MAX_CLKS; i++) {
++ /*
++ * For now we must use clk_get(dev, NULL) for the first clock,
++ * because some platforms (da850, spear13xx) are not yet
++ * converted to use devicetree for clocks. For new platforms
++ * this is equivalent to of_clk_get(dev->of_node, 0).
++ */
++ if (i == 0)
++ clk = clk_get(dev, NULL);
++ else
++ clk = of_clk_get(dev->of_node, i);
++
++ if (IS_ERR(clk)) {
++ rc = PTR_ERR(clk);
++ if (rc == -EPROBE_DEFER)
+ goto err_out;
- break;
++ break;
}
- hpriv->clks[i] = clk;
++ hpriv->clks[i] = clk;
}
-- rc = ahci_platform_enable_resources(hpriv);
-- if (rc)
-- goto free_clk;
-+ devres_remove_group(dev, NULL);
-+ return hpriv;
-
- /*
- * Some platforms might need to prepare for mmio region access,
- * which could be done in the following init call. So, the mmio
@@ -984,8 +491,11 @@ index 6ebbc17..7f3f2ac 100644
- if (pdata && pdata->init) {
- rc = pdata->init(dev, hpriv->mmio);
- if (rc)
-- goto disable_resources;
+- goto disable_unprepare_clk;
- }
++ devres_remove_group(dev, NULL);
++ return hpriv;
++
+err_out:
+ devres_release_group(dev, NULL);
+ return ERR_PTR(rc);
@@ -1039,7 +549,7 @@ index 6ebbc17..7f3f2ac 100644
if (hpriv->cap & HOST_CAP_NCQ)
pi.flags |= ATA_FLAG_NCQ;
-@@ -320,10 +349,8 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -175,10 +349,8 @@ static int ahci_probe(struct platform_de
n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map));
host = ata_host_alloc_pinfo(dev, ppi, n_ports);
@@ -1052,7 +562,7 @@ index 6ebbc17..7f3f2ac 100644
host->private_data = hpriv;
-@@ -338,7 +365,8 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -193,7 +365,8 @@ static int ahci_probe(struct platform_de
for (i = 0; i < host->n_ports; i++) {
struct ata_port *ap = host->ports[i];
@@ -1062,7 +572,7 @@ index 6ebbc17..7f3f2ac 100644
ata_port_desc(ap, "port 0x%x", 0x100 + ap->port_no * 0x80);
/* set enclosure management message type */
-@@ -352,13 +380,53 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -207,13 +380,53 @@ static int ahci_probe(struct platform_de
rc = ahci_reset_controller(host);
if (rc)
@@ -1119,78 +629,30 @@ index 6ebbc17..7f3f2ac 100644
if (rc)
goto pdata_exit;
-@@ -368,8 +436,6 @@ static int ahci_probe(struct platform_device *pdev)
+@@ -221,12 +434,8 @@ static int ahci_probe(struct platform_de
+ pdata_exit:
+ if (pdata && pdata->exit)
pdata->exit(dev);
- disable_resources:
- ahci_platform_disable_resources(hpriv);
+-disable_unprepare_clk:
+- if (!IS_ERR(hpriv->clk))
+- clk_disable_unprepare(hpriv->clk);
-free_clk:
-- ahci_put_clks(hpriv);
+- if (!IS_ERR(hpriv->clk))
+- clk_put(hpriv->clk);
++disable_resources:
++ ahci_platform_disable_resources(hpriv);
return rc;
}
-@@ -383,7 +449,6 @@ static void ahci_host_stop(struct ata_host *host)
+@@ -239,21 +448,30 @@ static void ahci_host_stop(struct ata_ho
+ if (pdata && pdata->exit)
pdata->exit(dev);
- ahci_platform_disable_resources(hpriv);
-- ahci_put_clks(hpriv);
- }
-
- #ifdef CONFIG_PM_SLEEP
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index b674b01..b80c51c 100644
---- a/include/linux/ahci_platform.h
-+++ b/include/linux/ahci_platform.h
-@@ -20,7 +20,14 @@
- struct device;
- struct ata_port_info;
- struct ahci_host_priv;
-+struct platform_device;
-
-+/*
-+ * Note ahci_platform_data is deprecated, it is only kept around for use
-+ * by the old da850 and spear13xx ahci code.
-+ * New drivers should instead declare their own platform_driver struct, and
-+ * use ahci_platform* functions in their own probe, suspend and resume methods.
-+ */
- struct ahci_platform_data {
- int (*init)(struct device *dev, void __iomem *addr);
- void (*exit)(struct device *dev);
-@@ -35,5 +42,12 @@ int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
- void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
- int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
- void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
-+struct ahci_host_priv *ahci_platform_get_resources(
-+ struct platform_device *pdev);
-+int ahci_platform_init_host(struct platform_device *pdev,
-+ struct ahci_host_priv *hpriv,
-+ const struct ata_port_info *pi_template,
-+ unsigned int force_port_map,
-+ unsigned int mask_port_map);
-
- #endif /* _AHCI_PLATFORM_H */
---
-2.0.3
-
-From dffde1e107b4360a4ff6b3aec3693e8b3b4a1bd0 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Mon, 20 Jan 2014 15:52:07 +0100
-Subject: [PATCH] ahci-platform: "Library-ise" suspend / resume functionality
-
-Split suspend / resume code into host suspend / resume functionality and
-resource enable / disabling phases, and export the new suspend_ / resume_host
-functions.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci_platform.c | 109 ++++++++++++++++++++++++++++++++++++------
- include/linux/ahci_platform.h | 5 ++
- 2 files changed, 99 insertions(+), 15 deletions(-)
-
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 7f3f2ac..bdadec1 100644
---- a/drivers/ata/ahci_platform.c
-+++ b/drivers/ata/ahci_platform.c
-@@ -452,14 +452,26 @@ static void ahci_host_stop(struct ata_host *host)
+- if (!IS_ERR(hpriv->clk)) {
+- clk_disable_unprepare(hpriv->clk);
+- clk_put(hpriv->clk);
+- }
++ ahci_platform_disable_resources(hpriv);
}
#ifdef CONFIG_PM_SLEEP
@@ -1220,7 +682,7 @@ index 7f3f2ac..bdadec1 100644
if (hpriv->flags & AHCI_HFLAG_NO_SUSPEND) {
dev_err(dev, "firmware update required for suspend/resume\n");
-@@ -476,7 +488,64 @@ static int ahci_suspend(struct device *dev)
+@@ -270,61 +488,122 @@ static int ahci_suspend(struct device *d
writel(ctl, mmio + HOST_CTL);
readl(mmio + HOST_CTL); /* flush */
@@ -1286,7 +748,12 @@ index 7f3f2ac..bdadec1 100644
if (rc)
return rc;
-@@ -487,8 +556,22 @@ static int ahci_suspend(struct device *dev)
+ if (pdata && pdata->suspend)
+ return pdata->suspend(dev);
+
+- if (!IS_ERR(hpriv->clk))
+- clk_disable_unprepare(hpriv->clk);
++ ahci_platform_disable_resources(hpriv);
return 0;
}
@@ -1310,18 +777,35 @@ index 7f3f2ac..bdadec1 100644
{
struct ahci_platform_data *pdata = dev_get_platdata(dev);
struct ata_host *host = dev_get_drvdata(dev);
-@@ -505,15 +588,9 @@ static int ahci_resume(struct device *dev)
- goto disable_resources;
- }
+ struct ahci_host_priv *hpriv = host->private_data;
+ int rc;
+
+- if (!IS_ERR(hpriv->clk)) {
+- rc = clk_prepare_enable(hpriv->clk);
+- if (rc) {
+- dev_err(dev, "clock prepare enable failed");
+- return rc;
+- }
+- }
++ rc = ahci_platform_enable_resources(hpriv);
++ if (rc)
++ return rc;
+ if (pdata && pdata->resume) {
+ rc = pdata->resume(dev);
+ if (rc)
+- goto disable_unprepare_clk;
+- }
+-
- if (dev->power.power_state.event == PM_EVENT_SUSPEND) {
- rc = ahci_reset_controller(host);
- if (rc)
-- goto disable_resources;
+- goto disable_unprepare_clk;
-
- ahci_init_controller(host);
-- }
--
++ goto disable_resources;
+ }
+
- ata_host_resume(host);
+ rc = ahci_platform_resume_host(dev);
+ if (rc)
@@ -1329,7 +813,11 @@ index 7f3f2ac..bdadec1 100644
return 0;
-@@ -522,9 +599,11 @@ static int ahci_resume(struct device *dev)
+-disable_unprepare_clk:
+- if (!IS_ERR(hpriv->clk))
+- clk_disable_unprepare(hpriv->clk);
++disable_resources:
++ ahci_platform_disable_resources(hpriv);
return rc;
}
@@ -1342,20 +830,43 @@ index 7f3f2ac..bdadec1 100644
static const struct of_device_id ahci_of_match[] = {
{ .compatible = "snps,spear-ahci", },
-diff --git a/include/linux/ahci_platform.h b/include/linux/ahci_platform.h
-index b80c51c..542f268 100644
--- a/include/linux/ahci_platform.h
+++ b/include/linux/ahci_platform.h
-@@ -50,4 +50,9 @@ int ahci_platform_init_host(struct platform_device *pdev,
- unsigned int force_port_map,
- unsigned int mask_port_map);
+@@ -19,7 +19,15 @@
+ struct device;
+ struct ata_port_info;
++struct ahci_host_priv;
++struct platform_device;
+
++/*
++ * Note ahci_platform_data is deprecated, it is only kept around for use
++ * by the old da850 and spear13xx ahci code.
++ * New drivers should instead declare their own platform_driver struct, and
++ * use ahci_platform* functions in their own probe, suspend and resume methods.
++ */
+ struct ahci_platform_data {
+ int (*init)(struct device *dev, void __iomem *addr);
+ void (*exit)(struct device *dev);
+@@ -30,4 +38,21 @@ struct ahci_platform_data {
+ unsigned int mask_port_map;
+ };
+
++int ahci_platform_enable_clks(struct ahci_host_priv *hpriv);
++void ahci_platform_disable_clks(struct ahci_host_priv *hpriv);
++int ahci_platform_enable_resources(struct ahci_host_priv *hpriv);
++void ahci_platform_disable_resources(struct ahci_host_priv *hpriv);
++struct ahci_host_priv *ahci_platform_get_resources(
++ struct platform_device *pdev);
++int ahci_platform_init_host(struct platform_device *pdev,
++ struct ahci_host_priv *hpriv,
++ const struct ata_port_info *pi_template,
++ unsigned int force_port_map,
++ unsigned int mask_port_map);
++
+int ahci_platform_suspend_host(struct device *dev);
+int ahci_platform_resume_host(struct device *dev);
+int ahci_platform_suspend(struct device *dev);
+int ahci_platform_resume(struct device *dev);
+
#endif /* _AHCI_PLATFORM_H */
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/191-ahci-add-sunxi-driver.patch b/target/linux/sunxi/patches-3.14/191-ahci-add-sunxi-driver.patch
index 51f5ec4686..563b19d366 100644
--- a/target/linux/sunxi/patches-3.14/191-ahci-add-sunxi-driver.patch
+++ b/target/linux/sunxi/patches-3.14/191-ahci-add-sunxi-driver.patch
@@ -25,11 +25,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
4 files changed, 271 insertions(+), 3 deletions(-)
create mode 100644 drivers/ata/ahci_sunxi.c
-diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-index 1ac807f..499bfed 100644
--- a/Documentation/devicetree/bindings/ata/ahci-platform.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
-@@ -4,7 +4,9 @@ SATA nodes are defined to describe on-chip Serial ATA controllers.
+@@ -4,7 +4,9 @@ SATA nodes are defined to describe on-ch
Each SATA controller should have its own node.
Required properties:
@@ -60,8 +58,6 @@ index 1ac807f..499bfed 100644
+ clocks = <&pll6 0>, <&ahb_gates 25>;
+ target-supply = <&reg_ahci_5v>;
+ };
-diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
-index 868429a4..10a9c25 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -106,6 +106,15 @@ config AHCI_IMX
@@ -80,8 +76,6 @@ index 868429a4..10a9c25 100644
config SATA_FSL
tristate "Freescale 3.0Gbps SATA support"
depends on FSL_SOC
-diff --git a/drivers/ata/Makefile b/drivers/ata/Makefile
-index 46518c6..246050b 100644
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_SATA_SIL24) += sata_sil24.o
@@ -92,9 +86,6 @@ index 46518c6..246050b 100644
# SFF w/ custom DMA
obj-$(CONFIG_PDC_ADMA) += pdc_adma.o
-diff --git a/drivers/ata/ahci_sunxi.c b/drivers/ata/ahci_sunxi.c
-new file mode 100644
-index 0000000..001f7dfc
--- /dev/null
+++ b/drivers/ata/ahci_sunxi.c
@@ -0,0 +1,249 @@
@@ -347,6 +338,3 @@ index 0000000..001f7dfc
+MODULE_DESCRIPTION("Allwinner sunxi AHCI SATA driver");
+MODULE_AUTHOR("Olliver Schinagl <oliver@schinagl.nl>");
+MODULE_LICENSE("GPL");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/192-ahci-platform-changes.patch b/target/linux/sunxi/patches-3.14/192-ahci-platform-changes.patch
index 3c567f82a4..a5f4fc50a0 100644
--- a/target/linux/sunxi/patches-3.14/192-ahci-platform-changes.patch
+++ b/target/linux/sunxi/patches-3.14/192-ahci-platform-changes.patch
@@ -14,72 +14,18 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/ata/ahci_platform.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index bdadec1..d7e55ba 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
-@@ -609,6 +609,7 @@ static const struct of_device_id ahci_of_match[] = {
- { .compatible = "snps,spear-ahci", },
- { .compatible = "snps,exynos5440-ahci", },
- { .compatible = "ibm,476gtr-ahci", },
-+ { .compatible = "snps,dwc-ahci", },
- {},
- };
- MODULE_DEVICE_TABLE(of, ahci_of_match);
---
-2.0.3
-
-From 2be39fa6b6531bd083c766999345adc348b14c77 Mon Sep 17 00:00:00 2001
-From: Roger Quadros <rogerq@ti.com>
-Date: Mon, 27 Jan 2014 16:41:18 +0200
-Subject: [PATCH] ata: ahci_platform: Manage SATA PHY
-
-Some platforms have a PHY hooked up to the
-SATA controller. The PHY needs to be initialized
-and powered up for SATA to work. We do that
-using the PHY framework.
-
-CC: Balaji T K <balajitk@ti.com>
-Signed-off-by: Roger Quadros <rogerq@ti.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci.h | 2 ++
- drivers/ata/ahci_platform.c | 47 +++++++++++++++++++++++++++++++++++++++++++--
- 2 files changed, 47 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index bf8100c..3ab7ac9 100644
---- a/drivers/ata/ahci.h
-+++ b/drivers/ata/ahci.h
-@@ -37,6 +37,7 @@
-
- #include <linux/clk.h>
- #include <linux/libata.h>
-+#include <linux/phy/phy.h>
- #include <linux/regulator/consumer.h>
-
- /* Enclosure Management Control */
-@@ -325,6 +326,7 @@ struct ahci_host_priv {
- u32 em_msg_type; /* EM message type */
- struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
- struct regulator *target_pwr; /* Optional */
-+ struct phy *phy; /* If platform uses phy */
- void *plat_data; /* Other platform data */
- /*
- * Optional ahci_start_engine override, if not set this gets set to the
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index d7e55ba..99d38c1 100644
---- a/drivers/ata/ahci_platform.c
-+++ b/drivers/ata/ahci_platform.c
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,8 @@
#include <linux/platform_device.h>
#include <linux/libata.h>
#include <linux/ahci_platform.h>
+#include <linux/phy/phy.h>
++#include <linux/pm_runtime.h>
#include "ahci.h"
static void ahci_host_stop(struct ata_host *host);
-@@ -147,6 +148,7 @@ EXPORT_SYMBOL_GPL(ahci_platform_disable_clks);
+@@ -147,6 +149,7 @@ EXPORT_SYMBOL_GPL(ahci_platform_disable_
* the following order:
* 1) Regulator
* 2) Clocks (through ahci_platform_enable_clks)
@@ -87,7 +33,7 @@ index d7e55ba..99d38c1 100644
*
* If resource enabling fails at any point the previous enabled
* resources are disabled in reverse order.
-@@ -171,8 +173,23 @@ int ahci_platform_enable_resources(struct ahci_host_priv *hpriv)
+@@ -171,8 +174,23 @@ int ahci_platform_enable_resources(struc
if (rc)
goto disable_regulator;
@@ -111,7 +57,7 @@ index d7e55ba..99d38c1 100644
disable_regulator:
if (hpriv->target_pwr)
regulator_disable(hpriv->target_pwr);
-@@ -186,14 +203,20 @@ EXPORT_SYMBOL_GPL(ahci_platform_enable_resources);
+@@ -186,14 +204,20 @@ EXPORT_SYMBOL_GPL(ahci_platform_enable_r
*
* This function disables all ahci_platform managed resources in
* the following order:
@@ -134,7 +80,19 @@ index d7e55ba..99d38c1 100644
ahci_platform_disable_clks(hpriv);
if (hpriv->target_pwr)
-@@ -222,6 +245,7 @@ static void ahci_platform_put_resources(struct device *dev, void *res)
+@@ -206,6 +230,11 @@ static void ahci_platform_put_resources(
+ struct ahci_host_priv *hpriv = res;
+ int c;
+
++ if (hpriv->got_runtime_pm) {
++ pm_runtime_put_sync(dev);
++ pm_runtime_disable(dev);
++ }
++
+ for (c = 0; c < AHCI_MAX_CLKS && hpriv->clks[c]; c++)
+ clk_put(hpriv->clks[c]);
+ }
+@@ -222,6 +251,7 @@ static void ahci_platform_put_resources(
* 2) regulator for controlling the targets power (optional)
* 3) 0 - AHCI_MAX_CLKS clocks, as specified in the devs devicetree node,
* or for non devicetree enabled platforms a single clock
@@ -142,7 +100,7 @@ index d7e55ba..99d38c1 100644
*
* LOCKING:
* None.
-@@ -283,6 +307,25 @@ struct ahci_host_priv *ahci_platform_get_resources(
+@@ -283,6 +313,29 @@ struct ahci_host_priv *ahci_platform_get
hpriv->clks[i] = clk;
}
@@ -165,75 +123,6 @@ index d7e55ba..99d38c1 100644
+ }
+ }
+
- devres_remove_group(dev, NULL);
- return hpriv;
-
---
-2.0.3
-
-From 22d93de35a39507bcdf0c62c5e1fab0625f7c6f6 Mon Sep 17 00:00:00 2001
-From: Roger Quadros <rogerq@ti.com>
-Date: Wed, 9 Oct 2013 15:08:59 +0300
-Subject: [PATCH] ata: ahci_platform: runtime resume the device before use
-
-On OMAP platforms the device needs to be runtime resumed before
-it can be accessed. The OMAP HWMOD framework takes care of
-enabling the module and its resources based on the
-device's runtime PM state.
-
-In this patch we runtime resume during .probe() and runtime suspend
-after .remove().
-
-We also update the runtime PM state during .resume().
-
-CC: Balaji T K <balajitk@ti.com>
-Signed-off-by: Roger Quadros <rogerq@ti.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci.h | 1 +
- drivers/ata/ahci_platform.c | 15 +++++++++++++++
- 2 files changed, 16 insertions(+)
-
-diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
-index 3ab7ac9..51af275b 100644
---- a/drivers/ata/ahci.h
-+++ b/drivers/ata/ahci.h
-@@ -324,6 +324,7 @@ struct ahci_host_priv {
- u32 em_loc; /* enclosure management location */
- u32 em_buf_sz; /* EM buffer size in byte */
- u32 em_msg_type; /* EM message type */
-+ bool got_runtime_pm; /* Did we do pm_runtime_get? */
- struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
- struct regulator *target_pwr; /* Optional */
- struct phy *phy; /* If platform uses phy */
-diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
-index 99d38c1..75698a4 100644
---- a/drivers/ata/ahci_platform.c
-+++ b/drivers/ata/ahci_platform.c
-@@ -24,6 +24,7 @@
- #include <linux/libata.h>
- #include <linux/ahci_platform.h>
- #include <linux/phy/phy.h>
-+#include <linux/pm_runtime.h>
- #include "ahci.h"
-
- static void ahci_host_stop(struct ata_host *host);
-@@ -229,6 +230,11 @@ static void ahci_platform_put_resources(struct device *dev, void *res)
- struct ahci_host_priv *hpriv = res;
- int c;
-
-+ if (hpriv->got_runtime_pm) {
-+ pm_runtime_put_sync(dev);
-+ pm_runtime_disable(dev);
-+ }
-+
- for (c = 0; c < AHCI_MAX_CLKS && hpriv->clks[c]; c++)
- clk_put(hpriv->clks[c]);
- }
-@@ -326,6 +332,10 @@ struct ahci_host_priv *ahci_platform_get_resources(
- }
- }
-
+ pm_runtime_enable(dev);
+ pm_runtime_get_sync(dev);
+ hpriv->got_runtime_pm = true;
@@ -241,7 +130,7 @@ index 99d38c1..75698a4 100644
devres_remove_group(dev, NULL);
return hpriv;
-@@ -635,6 +645,11 @@ int ahci_platform_resume(struct device *dev)
+@@ -592,6 +645,11 @@ int ahci_platform_resume(struct device *
if (rc)
goto disable_resources;
@@ -253,27 +142,38 @@ index 99d38c1..75698a4 100644
return 0;
disable_resources:
---
-2.0.3
-
-From 22cccaf7a29b2a9d8a1440d089f399a6d2432b81 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sun, 23 Feb 2014 11:37:17 +0100
-Subject: [PATCH] ahci_sunxi: Use msleep instead of mdelay
-
-ahci_sunxi_phy_init is called from the probe and resume code paths, and
-sleeping is safe in both, so use msleep instead of mdelay.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/ata/ahci_sunxi.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/ata/ahci_sunxi.c b/drivers/ata/ahci_sunxi.c
-index 001f7dfc..d1bf3f7 100644
+@@ -609,6 +667,7 @@ static const struct of_device_id ahci_of
+ { .compatible = "snps,spear-ahci", },
+ { .compatible = "snps,exynos5440-ahci", },
+ { .compatible = "ibm,476gtr-ahci", },
++ { .compatible = "snps,dwc-ahci", },
+ {},
+ };
+ MODULE_DEVICE_TABLE(of, ahci_of_match);
+--- a/drivers/ata/ahci.h
++++ b/drivers/ata/ahci.h
+@@ -37,6 +37,7 @@
+
+ #include <linux/clk.h>
+ #include <linux/libata.h>
++#include <linux/phy/phy.h>
+ #include <linux/regulator/consumer.h>
+
+ /* Enclosure Management Control */
+@@ -324,8 +325,10 @@ struct ahci_host_priv {
+ u32 em_loc; /* enclosure management location */
+ u32 em_buf_sz; /* EM buffer size in byte */
+ u32 em_msg_type; /* EM message type */
++ bool got_runtime_pm; /* Did we do pm_runtime_get? */
+ struct clk *clks[AHCI_MAX_CLKS]; /* Optional */
+ struct regulator *target_pwr; /* Optional */
++ struct phy *phy; /* If platform uses phy */
+ void *plat_data; /* Other platform data */
+ /*
+ * Optional ahci_start_engine override, if not set this gets set to the
--- a/drivers/ata/ahci_sunxi.c
+++ b/drivers/ata/ahci_sunxi.c
-@@ -90,7 +90,7 @@ static int ahci_sunxi_phy_init(struct device *dev, void __iomem *reg_base)
+@@ -90,7 +90,7 @@ static int ahci_sunxi_phy_init(struct de
/* This magic is from the original code */
writel(0, reg_base + AHCI_RWCR);
@@ -282,7 +182,7 @@ index 001f7dfc..d1bf3f7 100644
sunxi_setbits(reg_base + AHCI_PHYCS1R, BIT(19));
sunxi_clrsetbits(reg_base + AHCI_PHYCS0R,
-@@ -105,7 +105,7 @@ static int ahci_sunxi_phy_init(struct device *dev, void __iomem *reg_base)
+@@ -105,7 +105,7 @@ static int ahci_sunxi_phy_init(struct de
(0x7 << 20), (0x3 << 20));
sunxi_clrsetbits(reg_base + AHCI_PHYCS2R,
(0x1f << 5), (0x19 << 5));
@@ -291,7 +191,7 @@ index 001f7dfc..d1bf3f7 100644
sunxi_setbits(reg_base + AHCI_PHYCS0R, (0x1 << 19));
-@@ -137,7 +137,7 @@ static int ahci_sunxi_phy_init(struct device *dev, void __iomem *reg_base)
+@@ -137,7 +137,7 @@ static int ahci_sunxi_phy_init(struct de
udelay(1);
} while (1);
@@ -300,6 +200,3 @@ index 001f7dfc..d1bf3f7 100644
writel(0x7, reg_base + AHCI_RWCR);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/195-1-ohci-plat-changes.patch b/target/linux/sunxi/patches-3.14/195-1-ohci-plat-changes.patch
index 2fb1928888..fb4c87ea9e 100644
--- a/target/linux/sunxi/patches-3.14/195-1-ohci-plat-changes.patch
+++ b/target/linux/sunxi/patches-3.14/195-1-ohci-plat-changes.patch
@@ -19,20 +19,20 @@ Acked-by: Alan Stern <stern@rowland.harvard.edu>
2 files changed, 162 insertions(+), 22 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/usb-ohci.txt
-diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt
-new file mode 100644
-index 0000000..6ba38d9
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt
-@@ -0,0 +1,22 @@
+@@ -0,0 +1,25 @@
+USB OHCI controllers
+
+Required properties:
-+- compatible : "usb-ohci"
++- compatible : "generic-ohci"
+- reg : ohci controller register range (address and length)
+- interrupts : ohci controller interrupt
+
+Optional properties:
++- big-endian-regs : boolean, set this for hcds with big-endian registers
++- big-endian-desc : boolean, set this for hcds with big-endian descriptors
++- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
+- clocks : a list of phandle + clock specifier pairs
+- phys : phandle + phy specifier pair
+- phy-names : "usb"
@@ -40,15 +40,13 @@ index 0000000..6ba38d9
+Example:
+
+ ohci0: usb@01c14400 {
-+ compatible = "allwinner,sun4i-a10-ohci", "usb-ohci";
++ compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
+ reg = <0x01c14400 0x100>;
+ interrupts = <64>;
+ clocks = <&usb_clk 6>, <&ahb_gates 2>;
+ phys = <&usbphy 1>;
+ phy-names = "usb";
+ };
-diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
-index 68f674c..49304dd 100644
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
@@ -3,6 +3,7 @@
@@ -88,7 +86,7 @@ index 68f674c..49304dd 100644
static const char hcd_name[] = "ohci-platform";
-@@ -48,11 +59,67 @@ static int ohci_platform_reset(struct usb_hcd *hcd)
+@@ -48,11 +59,67 @@ static int ohci_platform_reset(struct us
return ohci_setup(hcd);
}
@@ -158,7 +156,7 @@ index 68f674c..49304dd 100644
};
static int ohci_platform_probe(struct platform_device *dev)
-@@ -60,17 +127,23 @@ static int ohci_platform_probe(struct platform_device *dev)
+@@ -60,17 +127,24 @@ static int ohci_platform_probe(struct pl
struct usb_hcd *hcd;
struct resource *res_mem;
struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
@@ -170,6 +168,7 @@ index 68f674c..49304dd 100644
- return -ENODEV;
- }
+ struct ohci_platform_priv *priv;
++ struct ohci_hcd *ohci;
+ int err, irq, clk = 0;
if (usb_disabled())
@@ -189,7 +188,7 @@ index 68f674c..49304dd 100644
irq = platform_get_irq(dev, 0);
if (irq < 0) {
dev_err(&dev->dev, "no irq provided");
-@@ -83,17 +156,40 @@ static int ohci_platform_probe(struct platform_device *dev)
+@@ -83,17 +157,66 @@ static int ohci_platform_probe(struct pl
return -ENXIO;
}
@@ -201,8 +200,34 @@ index 68f674c..49304dd 100644
+ platform_set_drvdata(dev, hcd);
+ dev->dev.platform_data = pdata;
+ priv = hcd_to_ohci_priv(hcd);
++ ohci = hcd_to_ohci(hcd);
+
+ if (pdata == &ohci_platform_defaults && dev->dev.of_node) {
++ if (of_property_read_bool(dev->dev.of_node, "big-endian-regs"))
++ ohci->flags |= OHCI_QUIRK_BE_MMIO;
++
++ if (of_property_read_bool(dev->dev.of_node, "big-endian-desc"))
++ ohci->flags |= OHCI_QUIRK_BE_DESC;
++
++ if (of_property_read_bool(dev->dev.of_node, "big-endian"))
++ ohci->flags |= OHCI_QUIRK_BE_MMIO | OHCI_QUIRK_BE_DESC;
++
++#ifndef CONFIG_USB_OHCI_BIG_ENDIAN_MMIO
++ if (ohci->flags & OHCI_QUIRK_BE_MMIO) {
++ dev_err(&dev->dev,
++ "Error big-endian-regs not compiled in\n");
++ err = -EINVAL;
++ goto err_put_hcd;
++ }
++#endif
++#ifndef CONFIG_USB_OHCI_BIG_ENDIAN_DESC
++ if (ohci->flags & OHCI_QUIRK_BE_DESC) {
++ dev_err(&dev->dev,
++ "Error big-endian-desc not compiled in\n");
++ err = -EINVAL;
++ goto err_put_hcd;
++ }
++#endif
+ priv->phy = devm_phy_get(&dev->dev, "usb");
+ if (IS_ERR(priv->phy)) {
+ err = PTR_ERR(priv->phy);
@@ -238,7 +263,7 @@ index 68f674c..49304dd 100644
}
hcd->rsrc_start = res_mem->start;
-@@ -102,11 +198,11 @@ static int ohci_platform_probe(struct platform_device *dev)
+@@ -102,11 +225,11 @@ static int ohci_platform_probe(struct pl
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
if (IS_ERR(hcd->regs)) {
err = PTR_ERR(hcd->regs);
@@ -252,7 +277,7 @@ index 68f674c..49304dd 100644
device_wakeup_enable(hcd->self.controller);
-@@ -114,11 +210,17 @@ static int ohci_platform_probe(struct platform_device *dev)
+@@ -114,11 +237,17 @@ static int ohci_platform_probe(struct pl
return err;
@@ -272,7 +297,7 @@ index 68f674c..49304dd 100644
return err;
}
-@@ -127,13 +229,22 @@ static int ohci_platform_remove(struct platform_device *dev)
+@@ -127,13 +256,22 @@ static int ohci_platform_remove(struct p
{
struct usb_hcd *hcd = platform_get_drvdata(dev);
struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
@@ -296,12 +321,12 @@ index 68f674c..49304dd 100644
return 0;
}
-@@ -180,6 +291,12 @@ static int ohci_platform_resume(struct device *dev)
+@@ -180,6 +318,12 @@ static int ohci_platform_resume(struct d
#define ohci_platform_resume NULL
#endif /* CONFIG_PM */
+static const struct of_device_id ohci_platform_ids[] = {
-+ { .compatible = "usb-ohci", },
++ { .compatible = "generic-ohci", },
+ { }
+};
+MODULE_DEVICE_TABLE(of, ohci_platform_ids);
@@ -309,7 +334,7 @@ index 68f674c..49304dd 100644
static const struct platform_device_id ohci_platform_table[] = {
{ "ohci-platform", 0 },
{ }
-@@ -200,6 +317,7 @@ static struct platform_driver ohci_platform_driver = {
+@@ -200,6 +344,7 @@ static struct platform_driver ohci_platf
.owner = THIS_MODULE,
.name = "ohci-platform",
.pm = &ohci_platform_pm_ops,
@@ -317,155 +342,3 @@ index 68f674c..49304dd 100644
}
};
---
-2.0.3
-
-From 8c4b97ea8b66e0fc8bdf648675e6889ce48c5ea7 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 21 Jan 2014 16:05:47 +0100
-Subject: [PATCH] ohci-platform: Add support for controllers with big-endian
- regs / descriptors
-
-Note this commit uses the same devicetree booleans for this as the ones
-already existing in the usb-ehci bindings, see:
-Documentation/devicetree/bindings/usb/usb-ehci.txt
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- Documentation/devicetree/bindings/usb/usb-ohci.txt | 3 +++
- drivers/usb/host/ohci-platform.c | 27 ++++++++++++++++++++++
- 2 files changed, 30 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt
-index 6ba38d9..6933b0c 100644
---- a/Documentation/devicetree/bindings/usb/usb-ohci.txt
-+++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt
-@@ -6,6 +6,9 @@ Required properties:
- - interrupts : ohci controller interrupt
-
- Optional properties:
-+- big-endian-regs : boolean, set this for hcds with big-endian registers
-+- big-endian-desc : boolean, set this for hcds with big-endian descriptors
-+- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
- - clocks : a list of phandle + clock specifier pairs
- - phys : phandle + phy specifier pair
- - phy-names : "usb"
-diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
-index 49304dd..e2c28fd 100644
---- a/drivers/usb/host/ohci-platform.c
-+++ b/drivers/usb/host/ohci-platform.c
-@@ -128,6 +128,7 @@ static int ohci_platform_probe(struct platform_device *dev)
- struct resource *res_mem;
- struct usb_ohci_pdata *pdata = dev_get_platdata(&dev->dev);
- struct ohci_platform_priv *priv;
-+ struct ohci_hcd *ohci;
- int err, irq, clk = 0;
-
- if (usb_disabled())
-@@ -164,8 +165,34 @@ static int ohci_platform_probe(struct platform_device *dev)
- platform_set_drvdata(dev, hcd);
- dev->dev.platform_data = pdata;
- priv = hcd_to_ohci_priv(hcd);
-+ ohci = hcd_to_ohci(hcd);
-
- if (pdata == &ohci_platform_defaults && dev->dev.of_node) {
-+ if (of_property_read_bool(dev->dev.of_node, "big-endian-regs"))
-+ ohci->flags |= OHCI_QUIRK_BE_MMIO;
-+
-+ if (of_property_read_bool(dev->dev.of_node, "big-endian-desc"))
-+ ohci->flags |= OHCI_QUIRK_BE_DESC;
-+
-+ if (of_property_read_bool(dev->dev.of_node, "big-endian"))
-+ ohci->flags |= OHCI_QUIRK_BE_MMIO | OHCI_QUIRK_BE_DESC;
-+
-+#ifndef CONFIG_USB_OHCI_BIG_ENDIAN_MMIO
-+ if (ohci->flags & OHCI_QUIRK_BE_MMIO) {
-+ dev_err(&dev->dev,
-+ "Error big-endian-regs not compiled in\n");
-+ err = -EINVAL;
-+ goto err_put_hcd;
-+ }
-+#endif
-+#ifndef CONFIG_USB_OHCI_BIG_ENDIAN_DESC
-+ if (ohci->flags & OHCI_QUIRK_BE_DESC) {
-+ dev_err(&dev->dev,
-+ "Error big-endian-desc not compiled in\n");
-+ err = -EINVAL;
-+ goto err_put_hcd;
-+ }
-+#endif
- priv->phy = devm_phy_get(&dev->dev, "usb");
- if (IS_ERR(priv->phy)) {
- err = PTR_ERR(priv->phy);
---
-2.0.3
-
-From ddf77eb2ec72a3676dabe17baf6e3b32ce0542e5 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 11 Feb 2014 11:27:29 +0100
-Subject: [PATCH] ohci-platform: Change compatible string from usb-ohci to
- generic-ohci
-
-The initial versions of the devicetree enablement patches for ohci-platform
-used "ohci-platform" as compatible string. However this was disliked by various
-reviewers because the platform bus is a Linux invention and devicetree is
-supposed to be OS agnostic. After much discussion I gave up and went with
-the generic usb-ohci as requested.
-
-In retro-spect I should have chosen something different, the dts files for many
-existing boards already claim to be compatible with "usb-ohci", ie they have:
-
- compatible = "ti,ohci-omap3", "usb-ohci";
-
-In theory this should not be a problem since the "ti,ohci-omap3" entry takes
-presedence, but in practice using a conflicting compatible string is an issue,
-because it makes which driver gets used depend on driver registration order.
-
-This patch changes the compatible string claimed by ohci-platform to
-"generic-ohci", avoiding the driver registration / module loading ordering
-problems.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- Documentation/devicetree/bindings/usb/usb-ohci.txt | 4 ++--
- drivers/usb/host/ohci-platform.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Documentation/devicetree/bindings/usb/usb-ohci.txt b/Documentation/devicetree/bindings/usb/usb-ohci.txt
-index 6933b0c..45f67d9 100644
---- a/Documentation/devicetree/bindings/usb/usb-ohci.txt
-+++ b/Documentation/devicetree/bindings/usb/usb-ohci.txt
-@@ -1,7 +1,7 @@
- USB OHCI controllers
-
- Required properties:
--- compatible : "usb-ohci"
-+- compatible : "generic-ohci"
- - reg : ohci controller register range (address and length)
- - interrupts : ohci controller interrupt
-
-@@ -16,7 +16,7 @@ Optional properties:
- Example:
-
- ohci0: usb@01c14400 {
-- compatible = "allwinner,sun4i-a10-ohci", "usb-ohci";
-+ compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
- reg = <0x01c14400 0x100>;
- interrupts = <64>;
- clocks = <&usb_clk 6>, <&ahb_gates 2>;
-diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
-index e2c28fd..b6ca0b2 100644
---- a/drivers/usb/host/ohci-platform.c
-+++ b/drivers/usb/host/ohci-platform.c
-@@ -319,7 +319,7 @@ static int ohci_platform_resume(struct device *dev)
- #endif /* CONFIG_PM */
-
- static const struct of_device_id ohci_platform_ids[] = {
-- { .compatible = "usb-ohci", },
-+ { .compatible = "generic-ohci", },
- { }
- };
- MODULE_DEVICE_TABLE(of, ohci_platform_ids);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/195-2-ehci-plat-changes.patch b/target/linux/sunxi/patches-3.14/195-2-ehci-plat-changes.patch
index b8ee130c4a..425993c7bb 100644
--- a/target/linux/sunxi/patches-3.14/195-2-ehci-plat-changes.patch
+++ b/target/linux/sunxi/patches-3.14/195-2-ehci-plat-changes.patch
@@ -38,11 +38,16 @@ Acked-by: Alan Stern <stern@rowland.harvard.edu>
delete mode 100644 Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
delete mode 100644 Documentation/devicetree/bindings/usb/vt8500-ehci.txt
-diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
-index fa18612..2c1aeeb 100644
--- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
-@@ -7,13 +7,14 @@ Required properties:
+@@ -1,19 +1,20 @@
+ USB EHCI controllers
+
+ Required properties:
+- - compatible : should be "usb-ehci".
++ - compatible : should be "generic-ehci".
+ - reg : should contain at least address and length of the standard EHCI
+ register set for the device. Optional platform-dependent registers
(debug-port or other) can be also specified here, but only after
definition of standard EHCI registers.
- interrupts : one EHCI interrupt should be described here.
@@ -71,16 +76,13 @@ index fa18612..2c1aeeb 100644
+
+Example (Allwinner sun4i A10 SoC):
+ ehci0: usb@01c14000 {
-+ compatible = "allwinner,sun4i-a10-ehci", "usb-ehci";
++ compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
+ reg = <0x01c14000 0x100>;
+ interrupts = <39>;
+ clocks = <&ahb_gates 1>;
+ phys = <&usbphy 1>;
+ phy-names = "usb";
+ };
-diff --git a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
-deleted file mode 100644
-index 17b3ad1..0000000
--- a/Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt
+++ /dev/null
@@ -1,15 +0,0 @@
@@ -99,9 +101,6 @@ index 17b3ad1..0000000
- reg = <0xd8007900 0x200>;
- interrupts = <43>;
- };
-diff --git a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt b/Documentation/devicetree/bindings/usb/vt8500-ehci.txt
-deleted file mode 100644
-index 5fb8fd6..0000000
--- a/Documentation/devicetree/bindings/usb/vt8500-ehci.txt
+++ /dev/null
@@ -1,12 +0,0 @@
@@ -117,20 +116,6 @@ index 5fb8fd6..0000000
- reg = <0xD8007100 0x200>;
- interrupts = <1>;
-};
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index a9707da..e28cbe0 100644
---- a/drivers/usb/host/Kconfig
-+++ b/drivers/usb/host/Kconfig
-@@ -255,6 +255,7 @@ config USB_EHCI_ATH79
-
- config USB_EHCI_HCD_PLATFORM
- tristate "Generic EHCI driver for a platform device"
-+ depends on !PPC_OF
- default n
- ---help---
- Adds an EHCI host driver for a generic platform device, which
-diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
-index 01536cf..5ebd0b7 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -3,6 +3,7 @@
@@ -171,7 +156,20 @@ index 01536cf..5ebd0b7 100644
static const char hcd_name[] = "ehci-platform";
-@@ -64,38 +74,90 @@ static int ehci_platform_reset(struct usb_hcd *hcd)
+@@ -45,8 +55,10 @@ static int ehci_platform_reset(struct us
+
+ hcd->has_tt = pdata->has_tt;
+ ehci->has_synopsys_hc_bug = pdata->has_synopsys_hc_bug;
+- ehci->big_endian_desc = pdata->big_endian_desc;
+- ehci->big_endian_mmio = pdata->big_endian_mmio;
++ if (pdata->big_endian_desc)
++ ehci->big_endian_desc = 1;
++ if (pdata->big_endian_mmio)
++ ehci->big_endian_mmio = 1;
+ ehci->ignore_oc = pdata->ignore_oc;
+
+ if (pdata->pre_setup) {
+@@ -65,38 +77,91 @@ static int ehci_platform_reset(struct us
return 0;
}
@@ -248,6 +246,7 @@ index 01536cf..5ebd0b7 100644
- int err;
+ struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
+ struct ehci_platform_priv *priv;
++ struct ehci_hcd *ehci;
+ int err, irq, clk = 0;
if (usb_disabled())
@@ -273,7 +272,7 @@ index 01536cf..5ebd0b7 100644
irq = platform_get_irq(dev, 0);
if (irq < 0) {
dev_err(&dev->dev, "no irq provided");
-@@ -107,17 +169,40 @@ static int ehci_platform_probe(struct platform_device *dev)
+@@ -108,17 +173,66 @@ static int ehci_platform_probe(struct pl
return -ENXIO;
}
@@ -285,8 +284,34 @@ index 01536cf..5ebd0b7 100644
+ platform_set_drvdata(dev, hcd);
+ dev->dev.platform_data = pdata;
+ priv = hcd_to_ehci_priv(hcd);
++ ehci = hcd_to_ehci(hcd);
+
+ if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
++ if (of_property_read_bool(dev->dev.of_node, "big-endian-regs"))
++ ehci->big_endian_mmio = 1;
++
++ if (of_property_read_bool(dev->dev.of_node, "big-endian-desc"))
++ ehci->big_endian_desc = 1;
++
++ if (of_property_read_bool(dev->dev.of_node, "big-endian"))
++ ehci->big_endian_mmio = ehci->big_endian_desc = 1;
++
++#ifndef CONFIG_USB_EHCI_BIG_ENDIAN_MMIO
++ if (ehci->big_endian_mmio) {
++ dev_err(&dev->dev,
++ "Error big-endian-regs not compiled in\n");
++ err = -EINVAL;
++ goto err_put_hcd;
++ }
++#endif
++#ifndef CONFIG_USB_EHCI_BIG_ENDIAN_DESC
++ if (ehci->big_endian_desc) {
++ dev_err(&dev->dev,
++ "Error big-endian-desc not compiled in\n");
++ err = -EINVAL;
++ goto err_put_hcd;
++ }
++#endif
+ priv->phy = devm_phy_get(&dev->dev, "usb");
+ if (IS_ERR(priv->phy)) {
+ err = PTR_ERR(priv->phy);
@@ -322,7 +347,7 @@ index 01536cf..5ebd0b7 100644
}
hcd->rsrc_start = res_mem->start;
-@@ -126,22 +211,28 @@ static int ehci_platform_probe(struct platform_device *dev)
+@@ -127,22 +241,28 @@ static int ehci_platform_probe(struct pl
hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
if (IS_ERR(hcd->regs)) {
err = PTR_ERR(hcd->regs);
@@ -355,7 +380,7 @@ index 01536cf..5ebd0b7 100644
return err;
}
-@@ -150,13 +241,19 @@ static int ehci_platform_remove(struct platform_device *dev)
+@@ -151,13 +271,19 @@ static int ehci_platform_remove(struct p
{
struct usb_hcd *hcd = platform_get_drvdata(dev);
struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
@@ -376,177 +401,14 @@ index 01536cf..5ebd0b7 100644
if (pdata == &ehci_platform_defaults)
dev->dev.platform_data = NULL;
-@@ -207,8 +304,10 @@ static int ehci_platform_resume(struct device *dev)
+@@ -208,8 +334,10 @@ static int ehci_platform_resume(struct d
static const struct of_device_id vt8500_ehci_ids[] = {
{ .compatible = "via,vt8500-ehci", },
{ .compatible = "wm,prizm-ehci", },
-+ { .compatible = "usb-ehci", },
++ { .compatible = "generic-ehci", },
{}
};
+MODULE_DEVICE_TABLE(of, vt8500_ehci_ids);
static const struct platform_device_id ehci_platform_table[] = {
{ "ehci-platform", 0 },
---
-2.0.3
-
-From 91fc5f6e5e90d412a6778efbe05e5306a1df5032 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 21 Jan 2014 16:20:53 +0100
-Subject: [PATCH] ehci-platform: Add support for controllers with big-endian
- regs / descriptors
-
-This uses the already documented devicetree booleans for this, see:
-Documentation/devicetree/bindings/usb/usb-ehci.txt
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- drivers/usb/host/ehci-platform.c | 33 +++++++++++++++++++++++++++++++--
- 1 file changed, 31 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
-index 5ebd0b7..8fde649 100644
---- a/drivers/usb/host/ehci-platform.c
-+++ b/drivers/usb/host/ehci-platform.c
-@@ -55,8 +55,10 @@ static int ehci_platform_reset(struct usb_hcd *hcd)
-
- hcd->has_tt = pdata->has_tt;
- ehci->has_synopsys_hc_bug = pdata->has_synopsys_hc_bug;
-- ehci->big_endian_desc = pdata->big_endian_desc;
-- ehci->big_endian_mmio = pdata->big_endian_mmio;
-+ if (pdata->big_endian_desc)
-+ ehci->big_endian_desc = 1;
-+ if (pdata->big_endian_mmio)
-+ ehci->big_endian_mmio = 1;
- ehci->ignore_oc = pdata->ignore_oc;
-
- if (pdata->pre_setup) {
-@@ -142,6 +144,7 @@ static int ehci_platform_probe(struct platform_device *dev)
- struct resource *res_mem;
- struct usb_ehci_pdata *pdata = dev_get_platdata(&dev->dev);
- struct ehci_platform_priv *priv;
-+ struct ehci_hcd *ehci;
- int err, irq, clk = 0;
-
- if (usb_disabled())
-@@ -177,8 +180,34 @@ static int ehci_platform_probe(struct platform_device *dev)
- platform_set_drvdata(dev, hcd);
- dev->dev.platform_data = pdata;
- priv = hcd_to_ehci_priv(hcd);
-+ ehci = hcd_to_ehci(hcd);
-
- if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
-+ if (of_property_read_bool(dev->dev.of_node, "big-endian-regs"))
-+ ehci->big_endian_mmio = 1;
-+
-+ if (of_property_read_bool(dev->dev.of_node, "big-endian-desc"))
-+ ehci->big_endian_desc = 1;
-+
-+ if (of_property_read_bool(dev->dev.of_node, "big-endian"))
-+ ehci->big_endian_mmio = ehci->big_endian_desc = 1;
-+
-+#ifndef CONFIG_USB_EHCI_BIG_ENDIAN_MMIO
-+ if (ehci->big_endian_mmio) {
-+ dev_err(&dev->dev,
-+ "Error big-endian-regs not compiled in\n");
-+ err = -EINVAL;
-+ goto err_put_hcd;
-+ }
-+#endif
-+#ifndef CONFIG_USB_EHCI_BIG_ENDIAN_DESC
-+ if (ehci->big_endian_desc) {
-+ dev_err(&dev->dev,
-+ "Error big-endian-desc not compiled in\n");
-+ err = -EINVAL;
-+ goto err_put_hcd;
-+ }
-+#endif
- priv->phy = devm_phy_get(&dev->dev, "usb");
- if (IS_ERR(priv->phy)) {
- err = PTR_ERR(priv->phy);
---
-2.0.3
-
-From 4a1ce69fa8c4595483493cd7df21c66dbcca1307 Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Tue, 11 Feb 2014 11:46:13 +0100
-Subject: [PATCH] ehci-platform: Change compatible string from usb-ehci to
- generic-ehci
-
-The initial versions of the devicetree enablement patches for ehci-platform
-used "ehci-platform" as compatible string. However this was disliked by various
-reviewers because the platform bus is a Linux invention and devicetree is
-supposed to be OS agnostic. After much discussion I gave up, added a:
-"depends on !PPC_OF" to Kconfig to avoid a known conflict with PPC-OF platforms
-and went with the generic usb-ehci as requested.
-
-In retro-spect I should have chosen something different, the dts files for many
-existing boards already claim to be compatible with "usb-ehci", ie they have:
-
- compatible = "ti,ehci-omap", "usb-ehci";
-
-In theory this should not be a problem since the "ti,ehci-omap" entry takes
-presedence, but in practice using a conflicting compatible string is an issue,
-because it makes which driver gets used depend on driver registration order.
-
-This patch changes the compatible string claimed by ehci-platform to
-"generic-ehci", avoiding the driver registration / module loading ordering
-problems, and removes the "depends on !PPC_OF" workaround.
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- Documentation/devicetree/bindings/usb/usb-ehci.txt | 4 ++--
- drivers/usb/host/Kconfig | 1 -
- drivers/usb/host/ehci-platform.c | 2 +-
- 3 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/Documentation/devicetree/bindings/usb/usb-ehci.txt b/Documentation/devicetree/bindings/usb/usb-ehci.txt
-index 2c1aeeb..ff151ec 100644
---- a/Documentation/devicetree/bindings/usb/usb-ehci.txt
-+++ b/Documentation/devicetree/bindings/usb/usb-ehci.txt
-@@ -1,7 +1,7 @@
- USB EHCI controllers
-
- Required properties:
-- - compatible : should be "usb-ehci".
-+ - compatible : should be "generic-ehci".
- - reg : should contain at least address and length of the standard EHCI
- register set for the device. Optional platform-dependent registers
- (debug-port or other) can be also specified here, but only after
-@@ -27,7 +27,7 @@ Example (Sequoia 440EPx):
-
- Example (Allwinner sun4i A10 SoC):
- ehci0: usb@01c14000 {
-- compatible = "allwinner,sun4i-a10-ehci", "usb-ehci";
-+ compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
- reg = <0x01c14000 0x100>;
- interrupts = <39>;
- clocks = <&ahb_gates 1>;
-diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
-index e28cbe0..a9707da 100644
---- a/drivers/usb/host/Kconfig
-+++ b/drivers/usb/host/Kconfig
-@@ -255,7 +255,6 @@ config USB_EHCI_ATH79
-
- config USB_EHCI_HCD_PLATFORM
- tristate "Generic EHCI driver for a platform device"
-- depends on !PPC_OF
- default n
- ---help---
- Adds an EHCI host driver for a generic platform device, which
-diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
-index 8fde649..1178730 100644
---- a/drivers/usb/host/ehci-platform.c
-+++ b/drivers/usb/host/ehci-platform.c
-@@ -333,7 +333,7 @@ static int ehci_platform_resume(struct device *dev)
- static const struct of_device_id vt8500_ehci_ids[] = {
- { .compatible = "via,vt8500-ehci", },
- { .compatible = "wm,prizm-ehci", },
-- { .compatible = "usb-ehci", },
-+ { .compatible = "generic-ehci", },
- {}
- };
- MODULE_DEVICE_TABLE(of, vt8500_ehci_ids);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/195-3-uhci-plat-changes.patch b/target/linux/sunxi/patches-3.14/195-3-uhci-plat-changes.patch
index d9ce1fc119..53c808fbb3 100644
--- a/target/linux/sunxi/patches-3.14/195-3-uhci-plat-changes.patch
+++ b/target/linux/sunxi/patches-3.14/195-3-uhci-plat-changes.patch
@@ -24,9 +24,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
delete mode 100644 Documentation/devicetree/bindings/usb/platform-uhci.txt
create mode 100644 Documentation/devicetree/bindings/usb/usb-uhci.txt
-diff --git a/Documentation/devicetree/bindings/usb/platform-uhci.txt b/Documentation/devicetree/bindings/usb/platform-uhci.txt
-deleted file mode 100644
-index a4fb071..0000000
--- a/Documentation/devicetree/bindings/usb/platform-uhci.txt
+++ /dev/null
@@ -1,15 +0,0 @@
@@ -45,9 +42,6 @@ index a4fb071..0000000
- reg = <0xd8007b00 0x200>;
- interrupts = <43>;
- };
-diff --git a/Documentation/devicetree/bindings/usb/usb-uhci.txt b/Documentation/devicetree/bindings/usb/usb-uhci.txt
-new file mode 100644
-index 0000000..2981334
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb-uhci.txt
@@ -0,0 +1,15 @@
@@ -66,11 +60,9 @@ index 0000000..2981334
+ reg = <0xd8007b00 0x200>;
+ interrupts = <43>;
+ };
-diff --git a/drivers/usb/host/uhci-platform.c b/drivers/usb/host/uhci-platform.c
-index 44e6c9d..01833ab 100644
--- a/drivers/usb/host/uhci-platform.c
+++ b/drivers/usb/host/uhci-platform.c
-@@ -148,6 +148,7 @@ static void uhci_hcd_platform_shutdown(struct platform_device *op)
+@@ -148,6 +148,7 @@ static void uhci_hcd_platform_shutdown(s
}
static const struct of_device_id platform_uhci_ids[] = {
@@ -78,6 +70,3 @@ index 44e6c9d..01833ab 100644
{ .compatible = "platform-uhci", },
{}
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/195-4-xhci-plat-changes.patch b/target/linux/sunxi/patches-3.14/195-4-xhci-plat-changes.patch
index 81dc4d4642..202bdd0bb8 100644
--- a/target/linux/sunxi/patches-3.14/195-4-xhci-plat-changes.patch
+++ b/target/linux/sunxi/patches-3.14/195-4-xhci-plat-changes.patch
@@ -18,8 +18,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/usb/host/xhci-plat.c | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
-diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.txt b/Documentation/devicetree/bindings/usb/usb-xhci.txt
-index 5752df0..90f8f60 100644
--- a/Documentation/devicetree/bindings/usb/usb-xhci.txt
+++ b/Documentation/devicetree/bindings/usb/usb-xhci.txt
@@ -1,14 +1,14 @@
@@ -39,11 +37,9 @@ index 5752df0..90f8f60 100644
reg = <0xf0931000 0x8c8>;
interrupts = <0x0 0x4e 0x0>;
};
-diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
-index 8abda5c..8affef9 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
-@@ -226,6 +226,7 @@ static const struct dev_pm_ops xhci_plat_pm_ops = {
+@@ -226,6 +226,7 @@ static const struct dev_pm_ops xhci_plat
#ifdef CONFIG_OF
static const struct of_device_id usb_xhci_of_match[] = {
@@ -51,6 +47,3 @@ index 8abda5c..8affef9 100644
{ .compatible = "xhci-platform" },
{ },
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/196-usb-add-sunxi-phy-driver.patch b/target/linux/sunxi/patches-3.14/196-usb-add-sunxi-phy-driver.patch
index eee697709a..5f1ea836bd 100644
--- a/target/linux/sunxi/patches-3.14/196-usb-add-sunxi-phy-driver.patch
+++ b/target/linux/sunxi/patches-3.14/196-usb-add-sunxi-phy-driver.patch
@@ -20,9 +20,6 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
create mode 100644 Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
create mode 100644 drivers/phy/phy-sun4i-usb.c
-diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
-new file mode 100644
-index 0000000..a82361b
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
@@ -0,0 +1,26 @@
@@ -52,8 +49,6 @@ index 0000000..a82361b
+ resets = <&usb_clk 1>, <&usb_clk 2>;
+ reset-names = "usb1_reset", "usb2_reset";
+ };
-diff --git a/drivers/phy/Kconfig b/drivers/phy/Kconfig
-index c7a551c..66f7c4e 100644
--- a/drivers/phy/Kconfig
+++ b/drivers/phy/Kconfig
@@ -65,4 +65,15 @@ config BCM_KONA_USB2_PHY
@@ -72,18 +67,13 @@ index c7a551c..66f7c4e 100644
+ parts, as well as the 2 regular USB 2 host PHYs.
+
endmenu
-diff --git a/drivers/phy/Makefile b/drivers/phy/Makefile
-index b57c253..9d4f8bb 100644
--- a/drivers/phy/Makefile
+++ b/drivers/phy/Makefile
-@@ -9,3 +9,4 @@ obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += phy-exynos-mipi-video.o
+@@ -9,3 +9,4 @@ obj-$(CONFIG_PHY_EXYNOS_MIPI_VIDEO) += p
obj-$(CONFIG_PHY_MVEBU_SATA) += phy-mvebu-sata.o
obj-$(CONFIG_OMAP_USB2) += phy-omap-usb2.o
obj-$(CONFIG_TWL4030_USB) += phy-twl4030-usb.o
+obj-$(CONFIG_PHY_SUN4I_USB) += phy-sun4i-usb.o
-diff --git a/drivers/phy/phy-sun4i-usb.c b/drivers/phy/phy-sun4i-usb.c
-new file mode 100644
-index 0000000..e6e6c4b
--- /dev/null
+++ b/drivers/phy/phy-sun4i-usb.c
@@ -0,0 +1,331 @@
@@ -418,6 +408,3 @@ index 0000000..e6e6c4b
+MODULE_DESCRIPTION("Allwinner sun4i USB phy driver");
+MODULE_AUTHOR("Hans de Goede <hdegoede@redhat.com>");
+MODULE_LICENSE("GPL v2");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/200-mmc-add-driver.patch b/target/linux/sunxi/patches-3.14/200-mmc-add-driver.patch
index 985b8b7947..ece71540c3 100644
--- a/target/linux/sunxi/patches-3.14/200-mmc-add-driver.patch
+++ b/target/linux/sunxi/patches-3.14/200-mmc-add-driver.patch
@@ -27,11 +27,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
create mode 100644 drivers/mmc/host/sunxi-mmc.c
create mode 100644 drivers/mmc/host/sunxi-mmc.h
-diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 1384f67..7caf266 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -689,3 +689,10 @@ config MMC_REALTEK_PCI
+@@ -714,3 +714,10 @@ config MMC_REALTEK_PCI
help
Say Y here to include driver code to support SD/MMC card interface
of Realtek PCI-E card reader
@@ -42,11 +40,9 @@ index 1384f67..7caf266 100644
+ help
+ This selects support for the SD/MMC Host Controller on
+ Allwinner sunxi SoCs.
-diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
-index 3483b6b..f3c7c243 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -54,6 +54,8 @@ obj-$(CONFIG_MMC_WMT) += wmt-sdmmc.o
+@@ -55,6 +55,8 @@ obj-$(CONFIG_MMC_WMT) += wmt-sdmmc.o
obj-$(CONFIG_MMC_REALTEK_PCI) += rtsx_pci_sdmmc.o
@@ -55,9 +51,6 @@ index 3483b6b..f3c7c243 100644
obj-$(CONFIG_MMC_SDHCI_PLTFM) += sdhci-pltfm.o
obj-$(CONFIG_MMC_SDHCI_CNS3XXX) += sdhci-cns3xxx.o
obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX) += sdhci-esdhc-imx.o
-diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
-new file mode 100644
-index 0000000..a16abd2
--- /dev/null
+++ b/drivers/mmc/host/sunxi-mmc.c
@@ -0,0 +1,853 @@
@@ -914,9 +907,6 @@ index 0000000..a16abd2
+MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR("David Lanzendörfer <david.lanzendoerfer@o2s.ch>");
+MODULE_ALIAS("platform:sunxi-mmc");
-diff --git a/drivers/mmc/host/sunxi-mmc.h b/drivers/mmc/host/sunxi-mmc.h
-new file mode 100644
-index 0000000..84bab99
--- /dev/null
+++ b/drivers/mmc/host/sunxi-mmc.h
@@ -0,0 +1,238 @@
@@ -1158,6 +1148,3 @@ index 0000000..84bab99
+};
+
+#endif
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/201-dt-sun4i-add-mmc-nodes_NEED_REFRESH.patch b/target/linux/sunxi/patches-3.14/201-dt-sun4i-add-mmc-nodes_NEED_REFRESH.patch
index a6261cda8e..10d4d5823b 100644
--- a/target/linux/sunxi/patches-3.14/201-dt-sun4i-add-mmc-nodes_NEED_REFRESH.patch
+++ b/target/linux/sunxi/patches-3.14/201-dt-sun4i-add-mmc-nodes_NEED_REFRESH.patch
@@ -14,10 +14,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 58 ++++++++++++++++++++++++++++++
3 files changed, 74 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
-index fa746aea..68b687e 100644
-diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
-index 4684cbe..13088f0 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -34,6 +34,14 @@
@@ -35,8 +31,6 @@ index 4684cbe..13088f0 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 27dc6ee..7014518 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -377,6 +377,50 @@
@@ -111,29 +105,6 @@ index 27dc6ee..7014518 100644
};
timer@01c20c00 {
---
-2.0.3
-
-From c0b8d688678e4a652895ce5f0cd48917a9a4f6ba Mon Sep 17 00:00:00 2001
-From: Hans de Goede <hdegoede@redhat.com>
-Date: Sat, 11 Jan 2014 04:33:23 +0100
-Subject: [PATCH] ARM: sun4i: dt: Add mmc node to a few more boards
-
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
----
- arch/arm/boot/dts/sun4i-a10-hackberry.dts | 9 +++++++++
- arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | 9 +++++++++
- arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | 8 ++++++++
- arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | 9 +++++++++
- arch/arm/boot/dts/sun4i-a10-pcduino.dts | 8 ++++++++
- 5 files changed, 43 insertions(+)
-
-diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
-index d7c17e4..a4b05d6 100644
-diff --git a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
-index fe9272e..b73a070 100644
-diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
-index dd84a9e3..c906171 100644
--- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
@@ -20,6 +20,14 @@
@@ -151,8 +122,6 @@ index dd84a9e3..c906171 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
-diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
-index 66cf0c7..e5a2765 100644
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
@@ -33,6 +33,15 @@
@@ -171,8 +140,6 @@ index 66cf0c7..e5a2765 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
-diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
-index 255b47e..2820229 100644
--- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts
+++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
@@ -34,6 +34,14 @@
@@ -190,6 +157,3 @@ index 255b47e..2820229 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/202-dt-sun5i-add-mmc-nodes.patch b/target/linux/sunxi/patches-3.14/202-dt-sun5i-add-mmc-nodes.patch
index 1f4b23c24c..541cef6852 100644
--- a/target/linux/sunxi/patches-3.14/202-dt-sun5i-add-mmc-nodes.patch
+++ b/target/linux/sunxi/patches-3.14/202-dt-sun5i-add-mmc-nodes.patch
@@ -16,12 +16,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 29 +++++++++++++++
5 files changed, 136 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts
-index 23611b7..5bc25c7 100644
-diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
-index f34e0d8..8ba1ed7 100644
-diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
-index 11169d5..700f688 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
@@ -21,6 +21,14 @@
@@ -53,11 +47,9 @@ index 11169d5..700f688 100644
led_pins_olinuxinom: led_pins@0 {
allwinner,pins = "PG9";
allwinner,function = "gpio_out";
-diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
-index 7a9187b..177196c 100644
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
-@@ -20,6 +20,14 @@
+@@ -21,6 +21,14 @@
compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13";
soc@01c00000 {
@@ -72,7 +64,7 @@ index 7a9187b..177196c 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay";
-@@ -34,6 +42,13 @@
+@@ -35,6 +43,13 @@
};
pinctrl@01c20800 {
@@ -86,8 +78,6 @@ index 7a9187b..177196c 100644
led_pins_olinuxino: led_pins@0 {
allwinner,pins = "PG9";
allwinner,function = "gpio_out";
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index 0e9c239..6fc84a4 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -320,6 +320,28 @@
@@ -133,6 +123,3 @@ index 0e9c239..6fc84a4 100644
};
timer@01c20c00 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/203-dt-sun7i-add-mmc-nodes.patch b/target/linux/sunxi/patches-3.14/203-dt-sun7i-add-mmc-nodes.patch
index daa6a91121..1a0459cb25 100644
--- a/target/linux/sunxi/patches-3.14/203-dt-sun7i-add-mmc-nodes.patch
+++ b/target/linux/sunxi/patches-3.14/203-dt-sun7i-add-mmc-nodes.patch
@@ -15,8 +15,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 65 +++++++++++++++++++++++++
4 files changed, 104 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
-index 68de89f..cd9d3c2 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -20,6 +20,14 @@
@@ -34,8 +32,6 @@ index 68de89f..cd9d3c2 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index cb25d3c..66bb3ef 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -20,6 +20,14 @@
@@ -53,11 +49,9 @@ index cb25d3c..66bb3ef 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index eeadf76..822cbe2 100644
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-@@ -31,6 +31,22 @@
+@@ -32,6 +32,22 @@
status = "okay";
};
@@ -80,7 +74,7 @@ index eeadf76..822cbe2 100644
usbphy: phy@01c13400 {
usb1_vbus-supply = <&reg_usb1_vbus>;
usb2_vbus-supply = <&reg_usb2_vbus>;
-@@ -65,6 +81,13 @@
+@@ -66,6 +82,13 @@
};
pinctrl@01c20800 {
@@ -94,8 +88,6 @@ index eeadf76..822cbe2 100644
led_pins_olinuxino: led_pins@0 {
allwinner,pins = "PH2";
allwinner,function = "gpio_out";
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 4cc2f5f..1d9b314 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -439,6 +439,50 @@
@@ -177,6 +169,3 @@ index 4cc2f5f..1d9b314 100644
};
timer@01c20c00 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/205-nmi-add-driver.patch b/target/linux/sunxi/patches-3.14/205-nmi-add-driver.patch
index 2e23f94998..b98e8029e9 100644
--- a/target/linux/sunxi/patches-3.14/205-nmi-add-driver.patch
+++ b/target/linux/sunxi/patches-3.14/205-nmi-add-driver.patch
@@ -16,11 +16,9 @@ Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2 files changed, 209 insertions(+)
create mode 100644 drivers/irqchip/irq-sunxi-nmi.c
-diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
-index 5194afb..1c0c151 100644
--- a/drivers/irqchip/Makefile
+++ b/drivers/irqchip/Makefile
-@@ -12,6 +12,7 @@ obj-$(CONFIG_METAG_PERFCOUNTER_IRQS) += irq-metag.o
+@@ -12,6 +12,7 @@ obj-$(CONFIG_METAG_PERFCOUNTER_IRQS) +=
obj-$(CONFIG_ARCH_MOXART) += irq-moxart.o
obj-$(CONFIG_ORION_IRQCHIP) += irq-orion.o
obj-$(CONFIG_ARCH_SUNXI) += irq-sun4i.o
@@ -28,9 +26,6 @@ index 5194afb..1c0c151 100644
obj-$(CONFIG_ARCH_SPEAR3XX) += spear-shirq.o
obj-$(CONFIG_ARM_GIC) += irq-gic.o
obj-$(CONFIG_ARM_NVIC) += irq-nvic.o
-diff --git a/drivers/irqchip/irq-sunxi-nmi.c b/drivers/irqchip/irq-sunxi-nmi.c
-new file mode 100644
-index 0000000..12f547a
--- /dev/null
+++ b/drivers/irqchip/irq-sunxi-nmi.c
@@ -0,0 +1,208 @@
@@ -242,6 +237,3 @@ index 0000000..12f547a
+ return sunxi_sc_nmi_irq_init(node, &sun7i_reg_offs);
+}
+IRQCHIP_DECLARE(sun7i_sc_nmi, "allwinner,sun7i-a20-sc-nmi", sun7i_sc_nmi_irq_init);
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/206-dt-sun67i-add-nmi-irqchip.patch b/target/linux/sunxi/patches-3.14/206-dt-sun67i-add-nmi-irqchip.patch
index 57979ef0ce..3f18c50d88 100644
--- a/target/linux/sunxi/patches-3.14/206-dt-sun67i-add-nmi-irqchip.patch
+++ b/target/linux/sunxi/patches-3.14/206-dt-sun67i-add-nmi-irqchip.patch
@@ -11,11 +11,9 @@ Signed-off-by: Carlo Caione <carlo@caione.org>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
2 files changed, 16 insertions(+)
-diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi
-index 8441733..74d2920 100644
--- a/arch/arm/boot/dts/sun6i-a31.dtsi
+++ b/arch/arm/boot/dts/sun6i-a31.dtsi
-@@ -421,6 +421,14 @@
+@@ -370,6 +370,14 @@
interrupts = <1 9 0xf04>;
};
@@ -30,8 +28,6 @@ index 8441733..74d2920 100644
cpucfg@01f01c00 {
compatible = "allwinner,sun6i-a31-cpuconfig";
reg = <0x01f01c00 0x300>;
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 4981f5e..2e66c85 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -401,6 +401,14 @@
@@ -49,6 +45,3 @@ index 4981f5e..2e66c85 100644
spi0: spi@01c05000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c05000 0x1000>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/210-mfd-add-axp20x-pmic-driver.patch b/target/linux/sunxi/patches-3.14/210-mfd-add-axp20x-pmic-driver.patch
index 71a3952bfa..6197300e9e 100644
--- a/target/linux/sunxi/patches-3.14/210-mfd-add-axp20x-pmic-driver.patch
+++ b/target/linux/sunxi/patches-3.14/210-mfd-add-axp20x-pmic-driver.patch
@@ -23,8 +23,6 @@ Signed-off-by: Carlo Caione <carlo@caione.org>
create mode 100644 drivers/mfd/axp20x.c
create mode 100644 include/linux/mfd/axp20x.h
-diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
-index b5df4a5..d25660d 100644
--- a/arch/arm/configs/sunxi_defconfig
+++ b/arch/arm/configs/sunxi_defconfig
@@ -55,6 +55,7 @@ CONFIG_GPIO_SYSFS=y
@@ -35,8 +33,6 @@ index b5df4a5..d25660d 100644
# CONFIG_USB_SUPPORT is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
-diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
-index 49bb445..24ba61a 100644
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -59,6 +59,18 @@ config MFD_AAT2870_CORE
@@ -58,11 +54,9 @@ index 49bb445..24ba61a 100644
config MFD_CROS_EC
tristate "ChromeOS Embedded Controller"
select MFD_CORE
-diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
-index 5aea5ef..fb773b5 100644
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
-@@ -101,6 +101,7 @@ obj-$(CONFIG_PMIC_DA9052) += da9052-irq.o
+@@ -101,6 +101,7 @@ obj-$(CONFIG_PMIC_DA9052) += da9052-irq.
obj-$(CONFIG_PMIC_DA9052) += da9052-core.o
obj-$(CONFIG_MFD_DA9052_SPI) += da9052-spi.o
obj-$(CONFIG_MFD_DA9052_I2C) += da9052-i2c.o
@@ -70,9 +64,6 @@ index 5aea5ef..fb773b5 100644
obj-$(CONFIG_MFD_LP3943) += lp3943.o
obj-$(CONFIG_MFD_LP8788) += lp8788.o lp8788-irq.o
-diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c
-new file mode 100644
-index 0000000..92e5b0f
--- /dev/null
+++ b/drivers/mfd/axp20x.c
@@ -0,0 +1,250 @@
@@ -326,9 +317,6 @@ index 0000000..92e5b0f
+MODULE_DESCRIPTION("PMIC MFD core driver for AXP20X");
+MODULE_AUTHOR("Carlo Caione <carlo@caione.org>");
+MODULE_LICENSE("GPL");
-diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
-new file mode 100644
-index 0000000..fcef32c
--- /dev/null
+++ b/include/linux/mfd/axp20x.h
@@ -0,0 +1,180 @@
@@ -512,6 +500,3 @@ index 0000000..fcef32c
+};
+
+#endif /* __LINUX_MFD_AXP20X_H */
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/211-input-add-axp20x-power-enable-key-support.patch b/target/linux/sunxi/patches-3.14/211-input-add-axp20x-power-enable-key-support.patch
index 9291dc5552..c7ce5e22b9 100644
--- a/target/linux/sunxi/patches-3.14/211-input-add-axp20x-power-enable-key-support.patch
+++ b/target/linux/sunxi/patches-3.14/211-input-add-axp20x-power-enable-key-support.patch
@@ -16,8 +16,6 @@ Signed-off-by: Carlo Caione <carlo@caione.org>
4 files changed, 279 insertions(+)
create mode 100644 drivers/input/misc/axp20x-pek.c
-diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
-index d25660d..3ed7023 100644
--- a/arch/arm/configs/sunxi_defconfig
+++ b/arch/arm/configs/sunxi_defconfig
@@ -40,6 +40,8 @@ CONFIG_SUN4I_EMAC=y
@@ -29,8 +27,6 @@ index d25660d..3ed7023 100644
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=8
-diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
-index 7904ab0..87244fb 100644
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
@@ -393,6 +393,17 @@ config INPUT_RETU_PWRBUTTON
@@ -51,11 +47,9 @@ index 7904ab0..87244fb 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 cda71fc..624abf5 100644
--- a/drivers/input/misc/Makefile
+++ b/drivers/input/misc/Makefile
-@@ -50,6 +50,7 @@ obj-$(CONFIG_INPUT_POWERMATE) += powermate.o
+@@ -50,6 +50,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
@@ -63,9 +57,6 @@ index cda71fc..624abf5 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..799275d
--- /dev/null
+++ b/drivers/input/misc/axp20x-pek.c
@@ -0,0 +1,265 @@
@@ -334,6 +325,3 @@ index 0000000..799275d
+MODULE_DESCRIPTION("axp20x Power Button");
+MODULE_AUTHOR("Carlo Caione <carlo@caione.org>");
+MODULE_LICENSE("GPL");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/212-regulator-add-axp20x-regulator-support.patch b/target/linux/sunxi/patches-3.14/212-regulator-add-axp20x-regulator-support.patch
index d7f4dcfe60..1ec041ceb7 100644
--- a/target/linux/sunxi/patches-3.14/212-regulator-add-axp20x-regulator-support.patch
+++ b/target/linux/sunxi/patches-3.14/212-regulator-add-axp20x-regulator-support.patch
@@ -15,8 +15,6 @@ Signed-off-by: Carlo Caione <carlo@caione.org>
4 files changed, 358 insertions(+)
create mode 100644 drivers/regulator/axp20x-regulator.c
-diff --git a/arch/arm/configs/sunxi_defconfig b/arch/arm/configs/sunxi_defconfig
-index 3ed7023..6e305da 100644
--- a/arch/arm/configs/sunxi_defconfig
+++ b/arch/arm/configs/sunxi_defconfig
@@ -72,3 +72,4 @@ CONFIG_NFS_FS=y
@@ -24,8 +22,6 @@ index 3ed7023..6e305da 100644
CONFIG_NLS=y
CONFIG_PRINTK_TIME=y
+CONFIG_REGULATOR_AXP20X=y
-diff --git a/drivers/regulator/Kconfig b/drivers/regulator/Kconfig
-index 6a79328..9f3bc48 100644
--- a/drivers/regulator/Kconfig
+++ b/drivers/regulator/Kconfig
@@ -139,6 +139,13 @@ config REGULATOR_AS3722
@@ -42,11 +38,9 @@ index 6a79328..9f3bc48 100644
config REGULATOR_DA903X
tristate "Dialog Semiconductor DA9030/DA9034 regulators"
depends on PMIC_DA903X
-diff --git a/drivers/regulator/Makefile b/drivers/regulator/Makefile
-index 979f9dd..1dd084a 100644
--- a/drivers/regulator/Makefile
+++ b/drivers/regulator/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
+@@ -20,6 +20,7 @@ obj-$(CONFIG_REGULATOR_ANATOP) += anatop
obj-$(CONFIG_REGULATOR_ARIZONA) += arizona-micsupp.o arizona-ldo1.o
obj-$(CONFIG_REGULATOR_AS3711) += as3711-regulator.o
obj-$(CONFIG_REGULATOR_AS3722) += as3722-regulator.o
@@ -54,9 +48,6 @@ index 979f9dd..1dd084a 100644
obj-$(CONFIG_REGULATOR_DA903X) += da903x.o
obj-$(CONFIG_REGULATOR_DA9052) += da9052-regulator.o
obj-$(CONFIG_REGULATOR_DA9055) += da9055-regulator.o
-diff --git a/drivers/regulator/axp20x-regulator.c b/drivers/regulator/axp20x-regulator.c
-new file mode 100644
-index 0000000..9072f2f
--- /dev/null
+++ b/drivers/regulator/axp20x-regulator.c
@@ -0,0 +1,349 @@
@@ -409,6 +400,3 @@ index 0000000..9072f2f
+MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR("Carlo Caione <carlo@caione.org>");
+MODULE_DESCRIPTION("Regulator Driver for AXP20X PMIC");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/213-dt-sunxi-add-x-powers.patch b/target/linux/sunxi/patches-3.14/213-dt-sunxi-add-x-powers.patch
index 3b37c47282..aa29a01089 100644
--- a/target/linux/sunxi/patches-3.14/213-dt-sunxi-add-x-powers.patch
+++ b/target/linux/sunxi/patches-3.14/213-dt-sunxi-add-x-powers.patch
@@ -12,9 +12,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
1 file changed, 60 insertions(+)
create mode 100644 arch/arm/boot/dts/x-powers-axp209.dtsi
-diff --git a/arch/arm/boot/dts/x-powers-axp209.dtsi b/arch/arm/boot/dts/x-powers-axp209.dtsi
-new file mode 100644
-index 0000000..118ce3a1
--- /dev/null
+++ b/arch/arm/boot/dts/x-powers-axp209.dtsi
@@ -0,0 +1,60 @@
@@ -78,6 +75,3 @@ index 0000000..118ce3a1
+ regulator-max-microvolt = <3300000>;
+ };
+ };
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/214-1-dt-sun7i-add-axp209-to-cubieboard2.patch b/target/linux/sunxi/patches-3.14/214-1-dt-sun7i-add-axp209-to-cubieboard2.patch
index a7d9c17cab..f7f4d9af98 100644
--- a/target/linux/sunxi/patches-3.14/214-1-dt-sun7i-add-axp209-to-cubieboard2.patch
+++ b/target/linux/sunxi/patches-3.14/214-1-dt-sun7i-add-axp209-to-cubieboard2.patch
@@ -14,8 +14,6 @@ Signed-off-by: Carlo Caione <carlo@caione.org>
arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
-index cd9d3c2..40e9c3a 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts
@@ -74,6 +74,16 @@
@@ -35,6 +33,3 @@ index cd9d3c2..40e9c3a 100644
};
i2c1: i2c@01c2b000 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/214-2-dt-sun4i-add-axp209-to-boards.patch b/target/linux/sunxi/patches-3.14/214-2-dt-sun4i-add-axp209-to-boards.patch
index 43fba1abf9..35dea87902 100644
--- a/target/linux/sunxi/patches-3.14/214-2-dt-sun4i-add-axp209-to-boards.patch
+++ b/target/linux/sunxi/patches-3.14/214-2-dt-sun4i-add-axp209-to-boards.patch
@@ -14,11 +14,9 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10-pcduino.dts | 9 +++++++++
7 files changed, 81 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts
-index 68b687e..99f53c0 100644
--- a/arch/arm/boot/dts/sun4i-a10-a1000.dts
+++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts
-@@ -96,6 +96,15 @@
+@@ -65,6 +65,15 @@
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
status = "okay";
@@ -34,8 +32,6 @@ index 68b687e..99f53c0 100644
};
};
-diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
-index 13088f0..5e4986c 100644
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
@@ -88,6 +88,15 @@
@@ -54,11 +50,9 @@ index 13088f0..5e4986c 100644
};
i2c1: i2c@01c2b000 {
-diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
-index a4b05d6..18f0030 100644
--- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts
+++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts
-@@ -91,6 +91,21 @@
+@@ -82,6 +82,21 @@
pinctrl-0 = <&uart0_pins_a>;
status = "okay";
};
@@ -79,11 +73,7 @@ index a4b05d6..18f0030 100644
+ };
};
- reg_emac_3v3: emac-3v3 {
-diff --git a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts
-index b73a070..7d3599e 100644
-diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
-index c906171..4acddf7 100644
+ regulators {
--- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
+++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts
@@ -55,6 +55,21 @@
@@ -108,8 +98,6 @@ index c906171..4acddf7 100644
};
reg_usb1_vbus: usb1-vbus {
-diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
-index e5a2765..2ce7267 100644
--- a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
+++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts
@@ -90,6 +90,21 @@
@@ -134,8 +122,6 @@ index e5a2765..2ce7267 100644
};
leds {
-diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
-index 2820229..817cdca 100644
--- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts
+++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts
@@ -74,6 +74,15 @@
@@ -154,6 +140,3 @@ index 2820229..817cdca 100644
};
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/214-3-dt-sun7i-add-axp209-to-cubietruck.patch b/target/linux/sunxi/patches-3.14/214-3-dt-sun7i-add-axp209-to-cubietruck.patch
index af8ca023ea..0cc8f8b92c 100644
--- a/target/linux/sunxi/patches-3.14/214-3-dt-sun7i-add-axp209-to-cubietruck.patch
+++ b/target/linux/sunxi/patches-3.14/214-3-dt-sun7i-add-axp209-to-cubietruck.patch
@@ -9,13 +9,11 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 10 ++++++++++
2 files changed, 20 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index 9a127d1..ebf6a2f 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-@@ -137,6 +137,16 @@
+@@ -89,6 +89,16 @@
pinctrl-names = "default";
- pinctrl-0 = <&i2c0_pins_a>;
+ pinctrl-0 = <&uart0_pins_a>;
status = "okay";
+
+ axp: axp20x@34 {
@@ -29,9 +27,7 @@ index 9a127d1..ebf6a2f 100644
+ };
};
- i2c1: i2c@01c2b000 {
-diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
-index 15f1f3f..926f111 100644
+ gmac: ethernet@01c50000 {
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
@@ -127,6 +127,16 @@
@@ -51,6 +47,3 @@ index 15f1f3f..926f111 100644
};
i2c1: i2c@01c2b000 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/215-2-dt-sun5i-add-address-and-sizecells-to-i2c.patch b/target/linux/sunxi/patches-3.14/215-2-dt-sun5i-add-address-and-sizecells-to-i2c.patch
index 5f79073e92..9b5fd57863 100644
--- a/target/linux/sunxi/patches-3.14/215-2-dt-sun5i-add-address-and-sizecells-to-i2c.patch
+++ b/target/linux/sunxi/patches-3.14/215-2-dt-sun5i-add-address-and-sizecells-to-i2c.patch
@@ -9,8 +9,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun5i-a13.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
-index 280ffee..68ab353 100644
--- a/arch/arm/boot/dts/sun5i-a13.dtsi
+++ b/arch/arm/boot/dts/sun5i-a13.dtsi
@@ -503,6 +503,8 @@
@@ -40,6 +38,3 @@ index 280ffee..68ab353 100644
};
timer@01c60000 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/215-3-dt-sun7i-add-address-and-sizecells-to-i2c.patch b/target/linux/sunxi/patches-3.14/215-3-dt-sun7i-add-address-and-sizecells-to-i2c.patch
index a699644466..35ae842f87 100644
--- a/target/linux/sunxi/patches-3.14/215-3-dt-sun7i-add-address-and-sizecells-to-i2c.patch
+++ b/target/linux/sunxi/patches-3.14/215-3-dt-sun7i-add-address-and-sizecells-to-i2c.patch
@@ -9,8 +9,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 2e66c85..15ea85e 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -848,6 +848,8 @@
@@ -58,6 +56,3 @@ index 2e66c85..15ea85e 100644
};
gmac: ethernet@01c50000 {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/215-dt-sun4i-add-address-and-sizecells-to-i2c.patch b/target/linux/sunxi/patches-3.14/215-dt-sun4i-add-address-and-sizecells-to-i2c.patch
index c8c8ae1be6..60fe06f5aa 100644
--- a/target/linux/sunxi/patches-3.14/215-dt-sun4i-add-address-and-sizecells-to-i2c.patch
+++ b/target/linux/sunxi/patches-3.14/215-dt-sun4i-add-address-and-sizecells-to-i2c.patch
@@ -9,8 +9,6 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 4b90a18..2a705e7 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
@@ -712,6 +712,8 @@
@@ -40,6 +38,3 @@ index 4b90a18..2a705e7 100644
};
};
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/216-dt-sun7i-add-i2c-to-cubietruck.patch b/target/linux/sunxi/patches-3.14/216-dt-sun7i-add-i2c-to-cubietruck.patch
index 1e972d83ca..2b4c243855 100644
--- a/target/linux/sunxi/patches-3.14/216-dt-sun7i-add-i2c-to-cubietruck.patch
+++ b/target/linux/sunxi/patches-3.14/216-dt-sun7i-add-i2c-to-cubietruck.patch
@@ -14,13 +14,11 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index 8a1009d..f9dcb61 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-@@ -33,6 +33,24 @@
- pinctrl-0 = <&uart0_pins_a>;
- status = "okay";
+@@ -112,6 +112,24 @@
+ reg = <1>;
+ };
};
+
+ i2c0: i2c@01c2ac00 {
@@ -43,6 +41,3 @@ index 8a1009d..f9dcb61 100644
};
leds {
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/220-clk-sunxi-remove-calls-to-clk_put.patch b/target/linux/sunxi/patches-3.14/220-clk-sunxi-remove-calls-to-clk_put.patch
index 9d87e88a38..bac72f99a6 100644
--- a/target/linux/sunxi/patches-3.14/220-clk-sunxi-remove-calls-to-clk_put.patch
+++ b/target/linux/sunxi/patches-3.14/220-clk-sunxi-remove-calls-to-clk_put.patch
@@ -12,11 +12,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
drivers/clk/sunxi/clk-sunxi.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
-diff --git a/drivers/clk/sunxi/clk-sunxi.c b/drivers/clk/sunxi/clk-sunxi.c
-index 9afd8dd..a10a645 100644
--- a/drivers/clk/sunxi/clk-sunxi.c
+++ b/drivers/clk/sunxi/clk-sunxi.c
-@@ -1325,17 +1325,13 @@ static void __init sunxi_clock_protect(void)
+@@ -1325,17 +1325,13 @@ static void __init sunxi_clock_protect(v
/* memory bus clock - sun5i+ */
clk = clk_get(NULL, "mbus");
@@ -36,6 +34,3 @@ index 9afd8dd..a10a645 100644
}
static void __init sunxi_init_clocks(void)
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/230-net-rfkill-changes.patch b/target/linux/sunxi/patches-3.14/230-net-rfkill-changes.patch
index ca71a915a8..d5e107875e 100644
--- a/target/linux/sunxi/patches-3.14/230-net-rfkill-changes.patch
+++ b/target/linux/sunxi/patches-3.14/230-net-rfkill-changes.patch
@@ -12,44 +12,25 @@ Signed-off-by: Chen-Yu Tsai <wens@csie.org>
net/rfkill/rfkill-gpio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
-index bd2a5b9..97ec12a 100644
--- a/net/rfkill/rfkill-gpio.c
+++ b/net/rfkill/rfkill-gpio.c
-@@ -117,8 +117,8 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
- if (!rfkill->shutdown_name)
- return -ENOMEM;
+@@ -26,6 +26,7 @@
+ #include <linux/slab.h>
+ #include <linux/acpi.h>
+ #include <linux/gpio/consumer.h>
++#include <linux/of_gpio.h>
-- snprintf(rfkill->reset_name, len + 6 , "%s_reset", rfkill->name);
-- snprintf(rfkill->shutdown_name, len + 9, "%s_shutdown", rfkill->name);
-+ snprintf(rfkill->reset_name, len + 7 , "%s_reset", rfkill->name);
-+ snprintf(rfkill->shutdown_name, len + 10, "%s_shutdown", rfkill->name);
+ #include <linux/rfkill-gpio.h>
- rfkill->clk = devm_clk_get(&pdev->dev, clk_name);
+@@ -39,6 +40,7 @@ struct rfkill_gpio_data {
+ char *reset_name;
+ char *shutdown_name;
+ struct clk *clk;
++ int clk_frequency;
---
-2.0.3
-
-From d91c313c08167978c3fb20b327b6a7abb7b00ffd Mon Sep 17 00:00:00 2001
-From: Chen-Yu Tsai <wens@csie.org>
-Date: Fri, 17 Jan 2014 14:47:27 +0800
-Subject: [PATCH] net: rfkill: gpio: use
- clk_prepare_enable/clk_disable_unprepare
-
-rfkill-gpio calls clk_enable() without first calling clk_prepare(),
-resulting in a warning and no effect. Switch to clk_prepare_enable()
-and clk_disable_unprepare.
-
-Signed-off-by: Chen-Yu Tsai <wens@csie.org>
----
- net/rfkill/rfkill-gpio.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
-index 97ec12a..c7081b7 100644
---- a/net/rfkill/rfkill-gpio.c
-+++ b/net/rfkill/rfkill-gpio.c
-@@ -51,10 +51,10 @@ static int rfkill_gpio_set_power(void *data, bool blocked)
+ bool clk_enabled;
+ };
+@@ -51,15 +53,15 @@ static int rfkill_gpio_set_power(void *d
gpiod_set_value(rfkill->shutdown_gpio, 0);
gpiod_set_value(rfkill->reset_gpio, 0);
if (!IS_ERR(rfkill->clk) && rfkill->clk_enabled)
@@ -62,96 +43,13 @@ index 97ec12a..c7081b7 100644
gpiod_set_value(rfkill->reset_gpio, 1);
gpiod_set_value(rfkill->shutdown_gpio, 1);
}
---
-2.0.3
-
-From f6dc85e22d3215a26f509fb5b34ca34c56a0d8b4 Mon Sep 17 00:00:00 2001
-From: Chen-Yu Tsai <wens@csie.org>
-Date: Fri, 17 Jan 2014 14:47:28 +0800
-Subject: [PATCH] net: rfkill: gpio: fix reversed clock enable state
-
-rfkill-gpio has clk_enabled = blocked, which is true when rfkill
-blocks the device. This results in calling clock enable/disable at
-the wrong time. Reversing the value fixes this.
-
-Signed-off-by: Chen-Yu Tsai <wens@csie.org>
----
- net/rfkill/rfkill-gpio.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
-index c7081b7..3084fa3 100644
---- a/net/rfkill/rfkill-gpio.c
-+++ b/net/rfkill/rfkill-gpio.c
-@@ -59,7 +59,7 @@ static int rfkill_gpio_set_power(void *data, bool blocked)
- gpiod_set_value(rfkill->shutdown_gpio, 1);
- }
- rfkill->clk_enabled = blocked;
+ rfkill->clk_enabled = !blocked;
return 0;
}
---
-2.0.3
-
-From 57301a41d4a82902e967f6bd9f09ba6ca31fcbed Mon Sep 17 00:00:00 2001
-From: Chen-Yu Tsai <wens@csie.org>
-Date: Fri, 17 Jan 2014 14:47:29 +0800
-Subject: [PATCH] net: rfkill: gpio: add device tree support
-
-Signed-off-by: Chen-Yu Tsai <wens@csie.org>
----
- .../devicetree/bindings/rfkill/rfkill-gpio.txt | 26 ++++++++++++++++++++++
- net/rfkill/rfkill-gpio.c | 23 +++++++++++++++++++
- 2 files changed, 49 insertions(+)
- create mode 100644 Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt
-
-diff --git a/Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt b/Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt
-new file mode 100644
-index 0000000..8a07ea4
---- /dev/null
-+++ b/Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt
-@@ -0,0 +1,26 @@
-+GPIO controlled RFKILL devices
-+
-+Required properties:
-+- compatible : Must be "rfkill-gpio".
-+- rfkill-name : Name of RFKILL device
-+- rfkill-type : Type of RFKILL device: 1 for WiFi, 2 for BlueTooth
-+- NAME_shutdown-gpios : GPIO phandle to shutdown control
-+ (phandle must be the second)
-+- NAME_reset-gpios : GPIO phandle to reset control
-+
-+NAME must match the rfkill-name property. NAME_shutdown-gpios or
-+NAME_reset-gpios, or both, must be defined.
-+
-+Optional properties:
-+- clocks : phandle to clock to enable/disable
-+
-+Example:
-+
-+ rfkill_bt: rfkill@0 {
-+ compatible = "rfkill-gpio";
-+ rfkill-name = "bluetooth";
-+ rfkill-type = <2>;
-+ bluetooth_shutdown-gpios = <0>, <&pio 7 18 0>;
-+ bluetooth_reset-gpios = <&pio 7 24 0>;
-+ clocks = <&clk_out_a>;
-+ };
-diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
-index 3084fa3..48381a8 100644
---- a/net/rfkill/rfkill-gpio.c
-+++ b/net/rfkill/rfkill-gpio.c
-@@ -26,6 +26,7 @@
- #include <linux/slab.h>
- #include <linux/acpi.h>
- #include <linux/gpio/consumer.h>
-+#include <linux/of_gpio.h>
-
- #include <linux/rfkill-gpio.h>
-
-@@ -83,6 +84,18 @@ static int rfkill_gpio_acpi_probe(struct device *dev,
+@@ -83,6 +85,19 @@ static int rfkill_gpio_acpi_probe(struct
return 0;
}
@@ -163,6 +61,7 @@ index 3084fa3..48381a8 100644
+ rfkill->name = np->name;
+ of_property_read_string(np, "rfkill-name", &rfkill->name);
+ of_property_read_u32(np, "rfkill-type", &rfkill->type);
++ of_property_read_u32(np, "clock-frequency", &rfkill->clk_frequency);
+
+ return 0;
+}
@@ -170,7 +69,7 @@ index 3084fa3..48381a8 100644
static int rfkill_gpio_probe(struct platform_device *pdev)
{
struct rfkill_gpio_platform_data *pdata = pdev->dev.platform_data;
-@@ -100,6 +113,10 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
+@@ -100,6 +115,10 @@ static int rfkill_gpio_probe(struct plat
ret = rfkill_gpio_acpi_probe(&pdev->dev, rfkill);
if (ret)
return ret;
@@ -181,7 +80,22 @@ index 3084fa3..48381a8 100644
} else if (pdata) {
clk_name = pdata->power_clk_name;
rfkill->name = pdata->name;
-@@ -189,6 +206,11 @@ static const struct acpi_device_id rfkill_acpi_match[] = {
+@@ -117,10 +136,12 @@ static int rfkill_gpio_probe(struct plat
+ if (!rfkill->shutdown_name)
+ return -ENOMEM;
+
+- snprintf(rfkill->reset_name, len + 6 , "%s_reset", rfkill->name);
+- snprintf(rfkill->shutdown_name, len + 9, "%s_shutdown", rfkill->name);
++ snprintf(rfkill->reset_name, len + 7 , "%s_reset", rfkill->name);
++ snprintf(rfkill->shutdown_name, len + 10, "%s_shutdown", rfkill->name);
+
+ rfkill->clk = devm_clk_get(&pdev->dev, clk_name);
++ if (!IS_ERR(rfkill->clk) && rfkill->clk_frequency > 0)
++ clk_set_rate(rfkill->clk, rfkill->clk_frequency);
+
+ gpio = devm_gpiod_get_index(&pdev->dev, rfkill->reset_name, 0);
+ if (!IS_ERR(gpio)) {
+@@ -189,6 +210,11 @@ static const struct acpi_device_id rfkil
{ },
};
@@ -193,7 +107,7 @@ index 3084fa3..48381a8 100644
static struct platform_driver rfkill_gpio_driver = {
.probe = rfkill_gpio_probe,
.remove = rfkill_gpio_remove,
-@@ -196,6 +218,7 @@ static struct platform_driver rfkill_gpio_driver = {
+@@ -196,6 +222,7 @@ static struct platform_driver rfkill_gpi
.name = "rfkill_gpio",
.owner = THIS_MODULE,
.acpi_match_table = ACPI_PTR(rfkill_acpi_match),
@@ -201,71 +115,34 @@ index 3084fa3..48381a8 100644
},
};
---
-2.0.3
-
-From 83c43937ee8c5fcb38241a8e89c2b93e5b0f9526 Mon Sep 17 00:00:00 2001
-From: Chen-Yu Tsai <wens@csie.org>
-Date: Fri, 17 Jan 2014 14:47:30 +0800
-Subject: [PATCH] net: rfkill: gpio: add clock-frequency device tree property
-
-Some devices, such as Broadcom Bluetooth devices, require a specific
-clock rate for the clock tied to the rfkill device. Add clock-frequency
-property so we can specify this from the device tree.
-
-Signed-off-by: Chen-Yu Tsai <wens@csie.org>
----
- Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt | 2 ++
- net/rfkill/rfkill-gpio.c | 4 ++++
- 2 files changed, 6 insertions(+)
-
-diff --git a/Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt b/Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt
-index 8a07ea4..8b8db0a 100644
---- a/Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt
+--- /dev/null
+++ b/Documentation/devicetree/bindings/rfkill/rfkill-gpio.txt
-@@ -13,6 +13,7 @@ NAME_reset-gpios, or both, must be defined.
-
- Optional properties:
- - clocks : phandle to clock to enable/disable
+@@ -0,0 +1,28 @@
++GPIO controlled RFKILL devices
++
++Required properties:
++- compatible : Must be "rfkill-gpio".
++- rfkill-name : Name of RFKILL device
++- rfkill-type : Type of RFKILL device: 1 for WiFi, 2 for BlueTooth
++- NAME_shutdown-gpios : GPIO phandle to shutdown control
++ (phandle must be the second)
++- NAME_reset-gpios : GPIO phandle to reset control
++
++NAME must match the rfkill-name property. NAME_shutdown-gpios or
++NAME_reset-gpios, or both, must be defined.
++
++Optional properties:
++- clocks : phandle to clock to enable/disable
+- clock-frequency : clock rate to set for the given clock
-
- Example:
-
-@@ -23,4 +24,5 @@ Example:
- bluetooth_shutdown-gpios = <0>, <&pio 7 18 0>;
- bluetooth_reset-gpios = <&pio 7 24 0>;
- clocks = <&clk_out_a>;
++
++Example:
++
++ rfkill_bt: rfkill@0 {
++ compatible = "rfkill-gpio";
++ rfkill-name = "bluetooth";
++ rfkill-type = <2>;
++ bluetooth_shutdown-gpios = <0>, <&pio 7 18 0>;
++ bluetooth_reset-gpios = <&pio 7 24 0>;
++ clocks = <&clk_out_a>;
+ clock-frequency = <32678>;
- };
-diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
-index 48381a8..3092681 100644
---- a/net/rfkill/rfkill-gpio.c
-+++ b/net/rfkill/rfkill-gpio.c
-@@ -40,6 +40,7 @@ struct rfkill_gpio_data {
- char *reset_name;
- char *shutdown_name;
- struct clk *clk;
-+ int clk_frequency;
-
- bool clk_enabled;
- };
-@@ -92,6 +93,7 @@ static int rfkill_gpio_dt_probe(struct device *dev,
- rfkill->name = np->name;
- of_property_read_string(np, "rfkill-name", &rfkill->name);
- of_property_read_u32(np, "rfkill-type", &rfkill->type);
-+ of_property_read_u32(np, "clock-frequency", &rfkill->clk_frequency);
-
- return 0;
- }
-@@ -138,6 +140,8 @@ static int rfkill_gpio_probe(struct platform_device *pdev)
- snprintf(rfkill->shutdown_name, len + 10, "%s_shutdown", rfkill->name);
-
- rfkill->clk = devm_clk_get(&pdev->dev, clk_name);
-+ if (!IS_ERR(rfkill->clk) && rfkill->clk_frequency > 0)
-+ clk_set_rate(rfkill->clk, rfkill->clk_frequency);
-
- gpio = devm_gpiod_get_index(&pdev->dev, rfkill->reset_name, 0);
- if (!IS_ERR(gpio)) {
---
-2.0.3
-
++ };
diff --git a/target/linux/sunxi/patches-3.14/231-1-brcmfmac-fix-sdio-sending.patch b/target/linux/sunxi/patches-3.14/231-1-brcmfmac-fix-sdio-sending.patch
index 8f9914fb10..ec11647ba4 100644
--- a/target/linux/sunxi/patches-3.14/231-1-brcmfmac-fix-sdio-sending.patch
+++ b/target/linux/sunxi/patches-3.14/231-1-brcmfmac-fix-sdio-sending.patch
@@ -19,11 +19,9 @@ Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
-index fa35b23..bd19323 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
-@@ -827,7 +827,7 @@ brcmf_sdiod_ramrw(struct brcmf_sdio_dev *sdiodev, bool write, u32 address,
+@@ -827,7 +827,7 @@ brcmf_sdiod_ramrw(struct brcmf_sdio_dev
}
if (!write)
memcpy(data, pkt->data, dsize);
@@ -32,6 +30,3 @@ index fa35b23..bd19323 100644
/* Adjust for next transfer (if any) */
size -= dsize;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/231-2-brcmfmac-fix-use-of-skb-ctrlbuf-in-SDIO.patch b/target/linux/sunxi/patches-3.14/231-2-brcmfmac-fix-use-of-skb-ctrlbuf-in-SDIO.patch
index 5743e66f6c..1ba8e6ee08 100644
--- a/target/linux/sunxi/patches-3.14/231-2-brcmfmac-fix-use-of-skb-ctrlbuf-in-SDIO.patch
+++ b/target/linux/sunxi/patches-3.14/231-2-brcmfmac-fix-use-of-skb-ctrlbuf-in-SDIO.patch
@@ -19,11 +19,9 @@ Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
-diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
-index ddaa9ef..e006e7c 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
-@@ -1955,7 +1955,7 @@ static int brcmf_sdio_txpkt_prep_sg(struct brcmf_sdio *bus,
+@@ -1955,7 +1955,7 @@ static int brcmf_sdio_txpkt_prep_sg(stru
memcpy(pkt_pad->data,
pkt->data + pkt->len - tail_chop,
tail_chop);
@@ -32,7 +30,7 @@ index ddaa9ef..e006e7c 100644
skb_trim(pkt, pkt->len - tail_chop);
skb_trim(pkt_pad, tail_pad + tail_chop);
__skb_queue_after(pktq, pkt, pkt_pad);
-@@ -2003,7 +2003,7 @@ brcmf_sdio_txpkt_prep(struct brcmf_sdio *bus, struct sk_buff_head *pktq,
+@@ -2003,7 +2003,7 @@ brcmf_sdio_txpkt_prep(struct brcmf_sdio
* already properly aligned and does not
* need an sdpcm header.
*/
@@ -41,7 +39,7 @@ index ddaa9ef..e006e7c 100644
continue;
/* align packet data pointer */
-@@ -2067,11 +2067,11 @@ brcmf_sdio_txpkt_postp(struct brcmf_sdio *bus, struct sk_buff_head *pktq)
+@@ -2067,11 +2067,11 @@ brcmf_sdio_txpkt_postp(struct brcmf_sdio
u8 *hdr;
u32 dat_offset;
u16 tail_pad;
@@ -55,7 +53,7 @@ index ddaa9ef..e006e7c 100644
if (dummy_flags & ALIGN_SKB_FLAG) {
chop_len = dummy_flags & ALIGN_SKB_CHOP_LEN_MASK;
if (chop_len) {
-@@ -2554,6 +2554,8 @@ static int brcmf_sdio_bus_txdata(struct device *dev, struct sk_buff *pkt)
+@@ -2554,6 +2554,8 @@ static int brcmf_sdio_bus_txdata(struct
/* Priority based enq */
spin_lock_irqsave(&bus->txqlock, flags);
@@ -64,6 +62,3 @@ index ddaa9ef..e006e7c 100644
if (!brcmf_c_prec_enq(bus->sdiodev->dev, &bus->txq, pkt, prec)) {
skb_pull(pkt, bus->tx_hdrlen);
brcmf_err("out of bus->txq !!!\n");
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch b/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch
index 2e80804891..1fad950c97 100644
--- a/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch
+++ b/target/linux/sunxi/patches-3.14/232-1-dt-sun7i-add-wifi-to-cubietruck.patch
@@ -14,8 +14,6 @@ but this is not supported in this patch.
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 47 ++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-index 66bb3ef..2444806 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
@@ -28,6 +28,23 @@
@@ -61,9 +59,9 @@ index 66bb3ef..2444806 100644
ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 {
allwinner,pins = "PH12";
allwinner,function = "gpio_out";
-@@ -69,6 +98,13 @@
- allwinner,drive = <0>;
- allwinner,pull = <0>;
+@@ -83,6 +112,13 @@
+ allwinner,drive = <0>;
+ allwinner,pull = <2>;
};
+
+ wifi_host_wake_pin: wifi_host_wake_pin@0 {
@@ -75,7 +73,7 @@ index 66bb3ef..2444806 100644
};
uart0: serial@01c28000 {
-@@ -147,4 +183,15 @@
+@@ -171,4 +207,15 @@
reg_usb2_vbus: usb2-vbus {
status = "okay";
};
@@ -91,6 +89,3 @@ index 66bb3ef..2444806 100644
+ gpio = <&pio 7 9 0>;
+ };
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/232-2-dt-sun7i-add-bluetooth-to-cubietruck.patch b/target/linux/sunxi/patches-3.14/232-2-dt-sun7i-add-bluetooth-to-cubietruck.patch
index e41eb82185..ccfb7a21b0 100644
--- a/target/linux/sunxi/patches-3.14/232-2-dt-sun7i-add-bluetooth-to-cubietruck.patch
+++ b/target/linux/sunxi/patches-3.14/232-2-dt-sun7i-add-bluetooth-to-cubietruck.patch
@@ -14,11 +14,9 @@ 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 2444806..9a127d1 100644
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
-@@ -105,6 +105,20 @@
+@@ -119,6 +119,20 @@
allwinner,drive = <0>;
allwinner,pull = <0>;
};
@@ -39,8 +37,8 @@ index 2444806..9a127d1 100644
};
uart0: serial@01c28000 {
-@@ -113,6 +127,12 @@
- status = "okay";
+@@ -149,6 +163,12 @@
+ };
};
+ uart2: serial@01c28800 {
@@ -52,7 +50,7 @@ index 2444806..9a127d1 100644
i2c0: i2c@01c2ac00 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins_a>;
-@@ -194,4 +214,20 @@
+@@ -218,4 +238,20 @@
enable-active-high;
gpio = <&pio 7 9 0>;
};
@@ -73,6 +71,3 @@ index 2444806..9a127d1 100644
+ };
+ };
};
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/250-pwm-add-driver.patch b/target/linux/sunxi/patches-3.14/250-pwm-add-driver.patch
index 8d77a3408e..d4af96faef 100644
--- a/target/linux/sunxi/patches-3.14/250-pwm-add-driver.patch
+++ b/target/linux/sunxi/patches-3.14/250-pwm-add-driver.patch
@@ -1,8 +1,6 @@
-diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
-index 5b34ff29ea38..178b017be827 100644
--- a/drivers/pwm/Kconfig
+++ b/drivers/pwm/Kconfig
-@@ -217,6 +217,15 @@ config PWM_SPEAR
+@@ -187,6 +187,15 @@ config PWM_SPEAR
To compile this driver as a module, choose M here: the module
will be called pwm-spear.
@@ -18,11 +16,9 @@ index 5b34ff29ea38..178b017be827 100644
config PWM_TEGRA
tristate "NVIDIA Tegra PWM support"
depends on ARCH_TEGRA
-diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile
-index e57d2c38a794..39997ea2e276 100644
--- a/drivers/pwm/Makefile
+++ b/drivers/pwm/Makefile
-@@ -19,6 +19,7 @@ obj-$(CONFIG_PWM_PXA) += pwm-pxa.o
+@@ -16,6 +16,7 @@ obj-$(CONFIG_PWM_PXA) += pwm-pxa.o
obj-$(CONFIG_PWM_RENESAS_TPU) += pwm-renesas-tpu.o
obj-$(CONFIG_PWM_SAMSUNG) += pwm-samsung.o
obj-$(CONFIG_PWM_SPEAR) += pwm-spear.o
@@ -30,9 +26,6 @@ index e57d2c38a794..39997ea2e276 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-sunxi.c b/drivers/pwm/pwm-sunxi.c
-new file mode 100644
-index 000000000000..e7c3ca1d3c42
--- /dev/null
+++ b/drivers/pwm/pwm-sunxi.c
@@ -0,0 +1,338 @@
diff --git a/target/linux/sunxi/patches-3.14/251-1-dt-sun4i-add-pinmux-for-pwm.patch b/target/linux/sunxi/patches-3.14/251-1-dt-sun4i-add-pinmux-for-pwm.patch
index 00881f02c3..5eb30b1a63 100644
--- a/target/linux/sunxi/patches-3.14/251-1-dt-sun4i-add-pinmux-for-pwm.patch
+++ b/target/linux/sunxi/patches-3.14/251-1-dt-sun4i-add-pinmux-for-pwm.patch
@@ -11,11 +11,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index fe845eb..8810ce4 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
-@@ -477,6 +477,20 @@
+@@ -521,6 +521,20 @@
#size-cells = <0>;
#gpio-cells = <3>;
@@ -36,6 +34,3 @@ index fe845eb..8810ce4 100644
uart0_pins_a: uart0@0 {
allwinner,pins = "PB22", "PB23";
allwinner,function = "uart0";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/251-2-dt-sun7i-add-pinmux-for-pwm.patch b/target/linux/sunxi/patches-3.14/251-2-dt-sun7i-add-pinmux-for-pwm.patch
index 128e064046..12062376ec 100644
--- a/target/linux/sunxi/patches-3.14/251-2-dt-sun7i-add-pinmux-for-pwm.patch
+++ b/target/linux/sunxi/patches-3.14/251-2-dt-sun7i-add-pinmux-for-pwm.patch
@@ -11,11 +11,9 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 14 ++++++++++++++
1 file changed, 14 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index f9f5e0c..2eaf7c0f 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -554,6 +554,20 @@
+@@ -584,6 +584,20 @@
#size-cells = <0>;
#gpio-cells = <3>;
@@ -36,6 +34,3 @@ index f9f5e0c..2eaf7c0f 100644
uart0_pins_a: uart0@0 {
allwinner,pins = "PB22", "PB23";
allwinner,function = "uart0";
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/252-1-dt-sun4i-add-pwm-support.patch b/target/linux/sunxi/patches-3.14/252-1-dt-sun4i-add-pwm-support.patch
index fd06b0bf89..4b16ab2035 100644
--- a/target/linux/sunxi/patches-3.14/252-1-dt-sun4i-add-pwm-support.patch
+++ b/target/linux/sunxi/patches-3.14/252-1-dt-sun4i-add-pwm-support.patch
@@ -11,12 +11,10 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun4i-a10.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
-index 8810ce4..4dc3761 100644
--- a/arch/arm/boot/dts/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/sun4i-a10.dtsi
-@@ -563,6 +563,14 @@
- interrupts = <24>;
+@@ -628,6 +628,14 @@
+ status = "disabled";
};
+ pwm: pwm@01c20e00 {
@@ -28,8 +26,5 @@ index 8810ce4..4dc3761 100644
+ };
+
sid: eeprom@01c23800 {
- compatible = "allwinner,sun4i-a10-sid";
+ compatible = "allwinner,sun4i-sid";
reg = <0x01c23800 0x10>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/252-2-dt-sun7i-add-pwm-support.patch b/target/linux/sunxi/patches-3.14/252-2-dt-sun7i-add-pwm-support.patch
index 3bb1186523..dc9636b904 100644
--- a/target/linux/sunxi/patches-3.14/252-2-dt-sun7i-add-pwm-support.patch
+++ b/target/linux/sunxi/patches-3.14/252-2-dt-sun7i-add-pwm-support.patch
@@ -11,12 +11,10 @@ Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 2eaf7c0f..61a4b5e 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
-@@ -706,6 +706,14 @@
- interrupts = <0 24 4>;
+@@ -764,6 +764,14 @@
+ status = "disabled";
};
+ pwm: pwm@01c20e00 {
@@ -30,6 +28,3 @@ index 2eaf7c0f..61a4b5e 100644
sid: eeprom@01c23800 {
compatible = "allwinner,sun7i-a20-sid";
reg = <0x01c23800 0x200>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/260-dt-sun7i-enable-arm-pmu.patch b/target/linux/sunxi/patches-3.14/260-dt-sun7i-enable-arm-pmu.patch
index 41ff076c85..4f703e7811 100644
--- a/target/linux/sunxi/patches-3.14/260-dt-sun7i-enable-arm-pmu.patch
+++ b/target/linux/sunxi/patches-3.14/260-dt-sun7i-enable-arm-pmu.patch
@@ -11,8 +11,6 @@ Reviewed-by: Hans de Goede <hdegoede@redhat.com>
arch/arm/boot/dts/sun7i-a20.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 9dd904d..f9f5e0c 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -57,6 +57,12 @@
@@ -28,6 +26,3 @@ index 9dd904d..f9f5e0c 100644
clocks {
#address-cells = <1>;
#size-cells = <1>;
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/270-dt-sun7i-add-ss-to-a20.patch b/target/linux/sunxi/patches-3.14/270-dt-sun7i-add-ss-to-a20.patch
index 4a5ceba82e..11a6ed03f5 100644
--- a/target/linux/sunxi/patches-3.14/270-dt-sun7i-add-ss-to-a20.patch
+++ b/target/linux/sunxi/patches-3.14/270-dt-sun7i-add-ss-to-a20.patch
@@ -1,5 +1,3 @@
-diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
-index 6acdbdf..19b1ced 100644
--- a/arch/arm/boot/dts/sun7i-a20.dtsi
+++ b/arch/arm/boot/dts/sun7i-a20.dtsi
@@ -529,6 +529,14 @@
@@ -17,7 +15,3 @@ index 6acdbdf..19b1ced 100644
spi2: spi@01c17000 {
compatible = "allwinner,sun4i-a10-spi";
reg = <0x01c17000 0x1000>;
---
-1.8.5.5
-
- \ No newline at end of file
diff --git a/target/linux/sunxi/patches-3.14/271-crypto-add-ss.patch b/target/linux/sunxi/patches-3.14/271-crypto-add-ss.patch
index 782a5373db..a5e2d067a5 100644
--- a/target/linux/sunxi/patches-3.14/271-crypto-add-ss.patch
+++ b/target/linux/sunxi/patches-3.14/271-crypto-add-ss.patch
@@ -1,8 +1,6 @@
-diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
-index 03ccdb0..a2acda4 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
-@@ -418,4 +418,21 @@ config CRYPTO_DEV_MXS_DCP
+@@ -419,4 +419,21 @@ config CRYPTO_DEV_MXS_DCP
To compile this driver as a module, choose M here: the module
will be called mxs-dcp.
@@ -24,26 +22,18 @@ index 03ccdb0..a2acda4 100644
+ will be called sunxi-ss.
+
endif # CRYPTO_HW
-diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
-index 482f090..855292a 100644
--- a/drivers/crypto/Makefile
+++ b/drivers/crypto/Makefile
-@@ -23,3 +23,4 @@ obj-$(CONFIG_CRYPTO_DEV_S5P) += s5p-sss.o
- obj-$(CONFIG_CRYPTO_DEV_SAHARA) += sahara.o
+@@ -23,3 +23,4 @@ obj-$(CONFIG_CRYPTO_DEV_SAHARA) += sahar
obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o
+ obj-$(CONFIG_CRYPTO_DEV_TEGRA_AES) += tegra-aes.o
obj-$(CONFIG_CRYPTO_DEV_UX500) += ux500/
+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..c2422f7
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss-cipher.c
@@ -0,0 +1,461 @@
@@ -508,9 +498,6 @@ index 0000000..c2422f7
+ 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..c76016e
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss-core.c
@@ -0,0 +1,308 @@
@@ -822,9 +809,6 @@ index 0000000..c76016e
+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..6412bfb
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss-hash.c
@@ -0,0 +1,241 @@
@@ -1069,9 +1053,6 @@ index 0000000..6412bfb
+
+ 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..94aca20
--- /dev/null
+++ b/drivers/crypto/sunxi-ss/sunxi-ss.h
@@ -0,0 +1,183 @@
@@ -1258,7 +1239,3 @@ index 0000000..94aca20
+ unsigned int keylen);
+int sunxi_ss_des3_setkey(struct crypto_ablkcipher *tfm, const u8 *key,
+ unsigned int keylen);
---
-1.8.5.5
-
- \ No newline at end of file
diff --git a/target/linux/sunxi/patches-3.14/300-dt-sun7i-add-pcduino3.patch b/target/linux/sunxi/patches-3.14/300-dt-sun7i-add-pcduino3.patch
index 55b86d3da9..9b844262ab 100644
--- a/target/linux/sunxi/patches-3.14/300-dt-sun7i-add-pcduino3.patch
+++ b/target/linux/sunxi/patches-3.14/300-dt-sun7i-add-pcduino3.patch
@@ -25,12 +25,10 @@ Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2 files changed, 121 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/sun7i-a20-pcduino3.dts
-diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 6967393..b1b59ea 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -353,7 +353,8 @@ dtb-$(CONFIG_MACH_SUN7I) += \
- sun6i-a31-colombus.dtb \
+@@ -292,7 +292,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
+ sun6i-a31-colombus.dtb \
sun7i-a20-cubieboard2.dtb \
sun7i-a20-cubietruck.dtb \
- sun7i-a20-olinuxino-micro.dtb
@@ -39,9 +37,3 @@ index 6967393..b1b59ea 100644
dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
tegra20-iris-512.dtb \
tegra20-medcom-wide.dtb \
-diff --git a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
-new file mode 100644
-index 0000000..fc6a542
---
-2.0.3
-
diff --git a/target/linux/sunxi/patches-3.14/301-dt-sun7i-update-pcduino3.patch b/target/linux/sunxi/patches-3.14/301-dt-sun7i-update-pcduino3.patch
index 7a097d7dc3..7dfc95a975 100644
--- a/target/linux/sunxi/patches-3.14/301-dt-sun7i-update-pcduino3.patch
+++ b/target/linux/sunxi/patches-3.14/301-dt-sun7i-update-pcduino3.patch
@@ -1,6 +1,5 @@
-diff -ruN old/arch/arm/boot/dts/sun7i-a20-pcduino3.dts new/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
---- old/arch/arm/boot/dts/sun7i-a20-pcduino3.dts 2014-08-01 21:28:06.000000000 +0200
-+++ new/arch/arm/boot/dts/sun7i-a20-pcduino3.dts 2014-08-03 16:52:51.621238166 +0200
+--- a/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
++++ b/arch/arm/boot/dts/sun7i-a20-pcduino3.dts
@@ -12,8 +12,7 @@
/dts-v1/;
diff --git a/target/linux/sunxi/patches-3.14/302-dt-sun7i-add-bananapi-Makefile.patch b/target/linux/sunxi/patches-3.14/302-dt-sun7i-add-bananapi-Makefile.patch
index 272b501f44..88fad31536 100644
--- a/target/linux/sunxi/patches-3.14/302-dt-sun7i-add-bananapi-Makefile.patch
+++ b/target/linux/sunxi/patches-3.14/302-dt-sun7i-add-bananapi-Makefile.patch
@@ -1,7 +1,6 @@
-diff -ruN old/arch/arm/boot/dts/Makefile new/arch/arm/boot/dts/Makefile
---- old/arch/arm/boot/dts/Makefile 2014-08-03 22:59:45.000000000 +0200
-+++ new/arch/arm/boot/dts/Makefile 2014-08-03 23:12:30.208474257 +0200
-@@ -290,6 +290,7 @@
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -290,6 +290,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
sun5i-a13-olinuxino.dtb \
sun5i-a13-olinuxino-micro.dtb \
sun6i-a31-colombus.dtb \
diff --git a/target/linux/sunxi/patches-3.14/303-dt-sun7i-update-bananapi.patch b/target/linux/sunxi/patches-3.14/303-dt-sun7i-update-bananapi.patch
index 1c8f839c0f..60ea0ebe88 100644
--- a/target/linux/sunxi/patches-3.14/303-dt-sun7i-update-bananapi.patch
+++ b/target/linux/sunxi/patches-3.14/303-dt-sun7i-update-bananapi.patch
@@ -1,6 +1,5 @@
-diff -ruN old/arch/arm/boot/dts/sun7i-a20-bananapi.dts new/arch/arm/boot/dts/sun7i-a20-bananapi.dts
---- old/arch/arm/boot/dts/sun7i-a20-bananapi.dts 2014-08-01 21:28:06.000000000 +0200
-+++ new/arch/arm/boot/dts/sun7i-a20-bananapi.dts 2014-08-04 00:49:24.552906049 +0200
+--- a/arch/arm/boot/dts/sun7i-a20-bananapi.dts
++++ b/arch/arm/boot/dts/sun7i-a20-bananapi.dts
@@ -12,8 +12,7 @@
/dts-v1/;
diff --git a/target/linux/uml/Makefile b/target/linux/uml/Makefile
index aafe1d4a62..35290da28e 100644
--- a/target/linux/uml/Makefile
+++ b/target/linux/uml/Makefile
@@ -23,7 +23,7 @@ BOARDNAME:=User Mode Linux
FEATURES:=ext4 audio
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/x86_64/Makefile b/target/linux/x86_64/Makefile
index d63d4508c9..25df5e7915 100644
--- a/target/linux/x86_64/Makefile
+++ b/target/linux/x86_64/Makefile
@@ -12,7 +12,7 @@ BOARDNAME:=x86_64
FEATURES:=ext4 vdi vmdk targz
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
-LINUX_VERSION:=3.14.16
+LINUX_VERSION:=3.14.18
KERNELNAME:=bzImage