From: Luka Perkov Date: Wed, 10 Sep 2014 21:40:19 +0000 (+0000) Subject: kernel: update 3.14 to 3.14.18 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=02629d8f87303a03e3ac36f48c508242d9b8cb09;p=openwrt%2Fstaging%2Fzorun.git kernel: update 3.14 to 3.14.18 Targets were build tested and patches are refreshed. Signed-off-by: Luka Perkov SVN-Revision: 42463 --- 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. @@ -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 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 -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 +#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 #include #include -@@ -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 -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 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 -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 -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 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 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 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 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 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 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 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 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 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 #include -@@ -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 #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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 "); +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 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 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 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 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 #include #include -@@ -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 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 #include #include -@@ -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 "); +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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 -@@ -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 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 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 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 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 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 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 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 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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include -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 #include #include --- -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 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 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 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 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 /* 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 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 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 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 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 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 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 "); +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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 "); +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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 "); +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 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 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 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 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 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 -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 -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 -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 -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 -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 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 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 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 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 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 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 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 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 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 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 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 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 + +#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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 @@ @@ -621,6 +602,21 @@ index bb82a82..356d6a0 100644 + GRP("mdio", mdio_func, 1, RT305X_GPIO_MODE_MDIO), + 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 } }; @@ -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 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 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 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 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 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 "); +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 + @@ -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 +#include @@ -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 +#include @@ -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 +#include @@ -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 +#include @@ -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 +#include 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 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 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 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 #include @@ -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 #include @@ -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 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 + + +*/ -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 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 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 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 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 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 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 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 "); +MODULE_AUTHOR("Gabor Juhos "); +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 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 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 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 "); + +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 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 "); +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 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 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 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 -@@ -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 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 #include @@ -10,7 +8,7 @@ Index: linux-3.14.16/drivers/usb/dwc2/hcd.c #include #include -@@ -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 --- 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 +#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 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 -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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 -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 ---- - 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 #include #include -@@ -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 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 -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 -Acked-by: Maxime Ripard ---- - 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 -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 -Acked-by: Maxime Ripard ---- - 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 -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 ---- - 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 -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 -Acked-by: Maxime Ripard ---- - 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 -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 -Acked-by: Maxime Ripard ---- - 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 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 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 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 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 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 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 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 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 "); +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 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 "); +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 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 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 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 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 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 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 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 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 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 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 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 -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 ---- - 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 -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 ---- - 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 -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 -Signed-off-by: Hans de Goede ---- - 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 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 -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 ---- - 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 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 -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 -Signed-off-by: Hans de Goede ---- - 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 -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 ---- - 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 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 "); +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 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 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 = ; + }; -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 "); +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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 + #include ++#include + + /* 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 -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 ---- - .../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 -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 ---- - .../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 - #include -+#include - - /* 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 -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 ---- - 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 @@ -659,219 +349,56 @@ index 907c076..6ebbc17 100644 + int rc; + + if (hpriv->target_pwr) { -+ rc = regulator_enable(hpriv->target_pwr); -+ if (rc) -+ return rc; -+ } -+ -+ rc = ahci_platform_enable_clks(hpriv); -+ if (rc) -+ goto disable_regulator; -+ -+ return 0; -+ -+disable_regulator: -+ if (hpriv->target_pwr) -+ regulator_disable(hpriv->target_pwr); -+ return rc; -+} -+EXPORT_SYMBOL_GPL(ahci_platform_enable_resources); -+ -+/** -+ * ahci_platform_disable_resources - Disable platform resources -+ * @hpriv: host private area to store config values -+ * -+ * This function disables all ahci_platform managed resources in -+ * the following order: -+ * 1) Clocks (through ahci_platform_disable_clks) -+ * 2) Regulator -+ * -+ * LOCKING: -+ * None. -+ */ -+void ahci_platform_disable_resources(struct ahci_host_priv *hpriv) -+{ -+ ahci_platform_disable_clks(hpriv); -+ -+ 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 -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 ---- - 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); ++ 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; ++ ++ return 0; ++ ++disable_regulator: ++ if (hpriv->target_pwr) ++ regulator_disable(hpriv->target_pwr); ++ return rc; ++} ++EXPORT_SYMBOL_GPL(ahci_platform_enable_resources); ++ ++/** ++ * ahci_platform_disable_resources - Disable platform resources ++ * @hpriv: host private area to store config values ++ * ++ * This function disables all ahci_platform managed resources in ++ * the following order: ++ * 1) Clocks (through ahci_platform_disable_clks) ++ * 2) Regulator ++ * ++ * LOCKING: ++ * None. ++ */ ++void ahci_platform_disable_resources(struct ahci_host_priv *hpriv) ++{ ++ ahci_platform_disable_clks(hpriv); --static void ahci_put_clks(struct ahci_host_priv *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_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 -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 ---- - 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 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 = <®_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 "); +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 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 -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 -Signed-off-by: Roger Quadros -Signed-off-by: Hans de Goede ---- - 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 - #include -+#include - #include - - /* 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 #include #include +#include ++#include #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 -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 -Signed-off-by: Roger Quadros -Signed-off-by: Hans de Goede ---- - 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 - #include - #include -+#include - #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 -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 ---- - 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 + #include ++#include + #include + + /* 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 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 -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 ---- - 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 -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 ---- - 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 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 -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 ---- - 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 -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 ---- - 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 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 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 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 "); +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 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 "); +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 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 = <®_usb1_vbus>; usb2_vbus-supply = <®_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 -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 ---- - 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 = <®_usb1_vbus>; usb2_vbus-supply = <®_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 = <®_usb1_vbus>; usb2_vbus-supply = <®_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 = <®_usb1_vbus>; usb2_vbus-supply = <®_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 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 = <®_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 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 = <®_usb1_vbus>; usb2_vbus-supply = <®_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 = <®_usb1_vbus>; usb2_vbus-supply = <®_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 = <®_usb1_vbus>; usb2_vbus-supply = <®_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 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 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 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 "); +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 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 "); +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 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 "); +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 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 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 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 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 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 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 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 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 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 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 + #include + #include ++#include -- 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 - 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 -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 ---- - 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 -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 ---- - 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 -Date: Fri, 17 Jan 2014 14:47:29 +0800 -Subject: [PATCH] net: rfkill: gpio: add device tree support - -Signed-off-by: Chen-Yu Tsai ---- - .../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 - #include - #include -+#include - - #include - -@@ -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 -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 ---- - 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 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 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 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 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 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 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 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 "); -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 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 -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 -LINUX_VERSION:=3.14.16 +LINUX_VERSION:=3.14.18 KERNELNAME:=bzImage