kernel: bump 4.14 to 4.14.41

Refreshed all patches

Dropped upstreamed patches:
522-PCI-aardvark-fix-logic-in-PCI-configuration-read-write-functions.patch
523-PCI-aardvark-set-PIO_ADDR_LS-correctly-in-advk_pcie_rd_conf.patch
525-PCI-aardvark-use-isr1-instead-of-isr0-interrupt-in-legacy-irq-mode.patch
527-PCI-aardvark-fix-PCIe-max-read-request-size-setting.patch

updated patches:
524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch
030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch

Added new ARM64 symbol: CONFIG_ARM64_ERRATUM_1024718

Compile-tested on: cns3xxx, imx6, mvebu (arm64), x86_64
Runtime-tested on: cns3xxx, imx6, x86_64

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
Koen Vandeputte 2018-05-17 18:41:26 +02:00 committed by John Crispin
parent 12f44b83a8
commit e2aa0c3f8b
65 changed files with 257 additions and 930 deletions

View file

@ -4,13 +4,13 @@ LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .71 LINUX_VERSION-3.18 = .71
LINUX_VERSION-4.4 = .121 LINUX_VERSION-4.4 = .121
LINUX_VERSION-4.14 = .37
LINUX_VERSION-4.9 = .100 LINUX_VERSION-4.9 = .100
LINUX_VERSION-4.14 = .41
LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240 LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
LINUX_KERNEL_HASH-4.4.121 = 44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729 LINUX_KERNEL_HASH-4.4.121 = 44a88268b5088dc326b30c9b9133ac35a9a200b636b7268d08f32abeae6ca729
LINUX_KERNEL_HASH-4.14.37 = 8197e7ed3620713e412905430a7bf93e2048384042ffba189a66f0eeb6908e92
LINUX_KERNEL_HASH-4.9.100 = c5bb6f3a7113e05cbaf6e48b2b485dea4f7edae5e42b3fe81c963ba63413a77c LINUX_KERNEL_HASH-4.9.100 = c5bb6f3a7113e05cbaf6e48b2b485dea4f7edae5e42b3fe81c963ba63413a77c
LINUX_KERNEL_HASH-4.14.41 = ccf1147a9b05c986728bc9fa1b407e029c23a16c9f915134dc3f6f8663d8ce6d
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View file

@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
#include "xhci.h" #include "xhci.h"
#include "xhci-trace.h" #include "xhci-trace.h"
@@ -241,6 +243,458 @@ static void xhci_pme_acpi_rtd3_enable(st @@ -244,6 +246,458 @@ static void xhci_pme_acpi_rtd3_enable(st
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { } static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
#endif /* CONFIG_ACPI */ #endif /* CONFIG_ACPI */
@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
/* called during probe() after chip reset completes */ /* called during probe() after chip reset completes */
static int xhci_pci_setup(struct usb_hcd *hcd) static int xhci_pci_setup(struct usb_hcd *hcd)
{ {
@@ -276,6 +730,22 @@ static int xhci_pci_probe(struct pci_dev @@ -279,6 +733,22 @@ static int xhci_pci_probe(struct pci_dev
struct hc_driver *driver; struct hc_driver *driver;
struct usb_hcd *hcd; struct usb_hcd *hcd;
@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
driver = (struct hc_driver *)id->driver_data; driver = (struct hc_driver *)id->driver_data;
/* For some HW implementation, a XHCI reset is just not enough... */ /* For some HW implementation, a XHCI reset is just not enough... */
@@ -340,6 +810,16 @@ static void xhci_pci_remove(struct pci_d @@ -343,6 +813,16 @@ static void xhci_pci_remove(struct pci_d
{ {
struct xhci_hcd *xhci; struct xhci_hcd *xhci;

View file

@ -13,7 +13,7 @@ produce a noisy warning.
--- a/drivers/usb/host/xhci-pci.c --- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c
@@ -199,7 +199,7 @@ static void xhci_pci_quirks(struct devic @@ -202,7 +202,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_TRUST_TX_LENGTH; xhci->quirks |= XHCI_TRUST_TX_LENGTH;
if (pdev->vendor == PCI_VENDOR_ID_RENESAS && if (pdev->vendor == PCI_VENDOR_ID_RENESAS &&
pdev->device == 0x0015) pdev->device == 0x0015)

View file

@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
drivers/tty/serial/Kconfig | 2 +- drivers/tty/serial/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 3682fd3e960c..c92bd969bbf9 100644
--- a/drivers/tty/serial/Kconfig --- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig +++ b/drivers/tty/serial/Kconfig
@@ -1469,7 +1469,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE @@ -1463,7 +1463,7 @@ config SERIAL_XILINX_PS_UART_CONSOLE
config SERIAL_AR933X config SERIAL_AR933X
tristate "AR933X serial port support" tristate "AR933X serial port support"
@ -21,6 +19,3 @@ index 3682fd3e960c..c92bd969bbf9 100644
select SERIAL_CORE select SERIAL_CORE
help help
If you have an Atheros AR933X SOC based board and want to use the If you have an Atheros AR933X SOC based board and want to use the
--
2.11.0

View file

@ -11,11 +11,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
drivers/watchdog/ath79_wdt.c | 8 ++++++-- drivers/watchdog/ath79_wdt.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-) 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/watchdog/ath79_wdt.c b/drivers/watchdog/ath79_wdt.c
index e2209bf5fa8a..c2fc6c3d0092 100644
--- a/drivers/watchdog/ath79_wdt.c --- a/drivers/watchdog/ath79_wdt.c
+++ b/drivers/watchdog/ath79_wdt.c +++ b/drivers/watchdog/ath79_wdt.c
@@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(void) @@ -115,10 +115,14 @@ static inline void ath79_wdt_disable(voi
static int ath79_wdt_set_timeout(int val) static int ath79_wdt_set_timeout(int val)
{ {
@ -32,6 +30,3 @@ index e2209bf5fa8a..c2fc6c3d0092 100644
ath79_wdt_keepalive(); ath79_wdt_keepalive();
return 0; return 0;
--
2.11.0

View file

@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
3 files changed, 149 insertions(+) 3 files changed, 149 insertions(+)
create mode 100644 drivers/leds/leds-reset.c create mode 100644 drivers/leds/leds-reset.c
Index: linux-4.14.32/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
=================================================================== +++ b/drivers/leds/Kconfig
--- linux-4.14.32.orig/drivers/leds/Kconfig
+++ linux-4.14.32/drivers/leds/Kconfig
@@ -696,6 +696,17 @@ config LEDS_NIC78BX @@ -696,6 +696,17 @@ config LEDS_NIC78BX
To compile this driver as a module, choose M here: the module To compile this driver as a module, choose M here: the module
will be called leds-nic78bx. will be called leds-nic78bx.
@ -33,10 +31,8 @@ Index: linux-4.14.32/drivers/leds/Kconfig
comment "LED Triggers" comment "LED Triggers"
source "drivers/leds/trigger/Kconfig" source "drivers/leds/trigger/Kconfig"
Index: linux-4.14.32/drivers/leds/leds-reset.c
===================================================================
--- /dev/null --- /dev/null
+++ linux-4.14.32/drivers/leds/leds-reset.c +++ b/drivers/leds/leds-reset.c
@@ -0,0 +1,137 @@ @@ -0,0 +1,137 @@
+/* +/*
+ * Copyright (C) 2018 John Crispin <john@phrozen.org> + * Copyright (C) 2018 John Crispin <john@phrozen.org>
@ -175,10 +171,8 @@ Index: linux-4.14.32/drivers/leds/leds-reset.c
+MODULE_DESCRIPTION("reset controller LED driver"); +MODULE_DESCRIPTION("reset controller LED driver");
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:leds-reset"); +MODULE_ALIAS("platform:leds-reset");
Index: linux-4.14.32/drivers/leds/Makefile --- a/drivers/leds/Makefile
=================================================================== +++ b/drivers/leds/Makefile
--- linux-4.14.32.orig/drivers/leds/Makefile
+++ linux-4.14.32/drivers/leds/Makefile
@@ -73,6 +73,7 @@ obj-$(CONFIG_LEDS_PM8058) += leds-pm805 @@ -73,6 +73,7 @@ obj-$(CONFIG_LEDS_PM8058) += leds-pm805
obj-$(CONFIG_LEDS_MLXCPLD) += leds-mlxcpld.o obj-$(CONFIG_LEDS_MLXCPLD) += leds-mlxcpld.o
obj-$(CONFIG_LEDS_NIC78BX) += leds-nic78bx.o obj-$(CONFIG_LEDS_NIC78BX) += leds-nic78bx.o

View file

@ -13,10 +13,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
create mode 100644 drivers/phy/phy-ar7100-usb.c create mode 100644 drivers/phy/phy-ar7100-usb.c
create mode 100644 drivers/phy/phy-ar7200-usb.c create mode 100644 drivers/phy/phy-ar7200-usb.c
Index: linux-4.14.37/drivers/phy/Kconfig --- a/drivers/phy/Kconfig
=================================================================== +++ b/drivers/phy/Kconfig
--- linux-4.14.37.orig/drivers/phy/Kconfig
+++ linux-4.14.37/drivers/phy/Kconfig
@@ -15,6 +15,22 @@ config GENERIC_PHY @@ -15,6 +15,22 @@ config GENERIC_PHY
phy users can obtain reference to the PHY. All the users of this phy users can obtain reference to the PHY. All the users of this
framework should select this config. framework should select this config.
@ -40,10 +38,8 @@ Index: linux-4.14.37/drivers/phy/Kconfig
config PHY_LPC18XX_USB_OTG config PHY_LPC18XX_USB_OTG
tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver" tristate "NXP LPC18xx/43xx SoC USB OTG PHY driver"
depends on OF && (ARCH_LPC18XX || COMPILE_TEST) depends on OF && (ARCH_LPC18XX || COMPILE_TEST)
Index: linux-4.14.37/drivers/phy/Makefile --- a/drivers/phy/Makefile
=================================================================== +++ b/drivers/phy/Makefile
--- linux-4.14.37.orig/drivers/phy/Makefile
+++ linux-4.14.37/drivers/phy/Makefile
@@ -4,6 +4,8 @@ @@ -4,6 +4,8 @@
# #
@ -53,10 +49,8 @@ Index: linux-4.14.37/drivers/phy/Makefile
obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o obj-$(CONFIG_PHY_LPC18XX_USB_OTG) += phy-lpc18xx-usb-otg.o
obj-$(CONFIG_PHY_XGENE) += phy-xgene.o obj-$(CONFIG_PHY_XGENE) += phy-xgene.o
obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o obj-$(CONFIG_PHY_PISTACHIO_USB) += phy-pistachio-usb.o
Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
===================================================================
--- /dev/null --- /dev/null
+++ linux-4.14.37/drivers/phy/phy-ar7100-usb.c +++ b/drivers/phy/phy-ar7100-usb.c
@@ -0,0 +1,140 @@ @@ -0,0 +1,140 @@
+/* +/*
+ * Copyright (C) 2018 John Crispin <john@phrozen.org> + * Copyright (C) 2018 John Crispin <john@phrozen.org>
@ -198,10 +192,8 @@ Index: linux-4.14.37/drivers/phy/phy-ar7100-usb.c
+MODULE_DESCRIPTION("ATH79 USB PHY driver"); +MODULE_DESCRIPTION("ATH79 USB PHY driver");
+MODULE_AUTHOR("Alban Bedel <albeu@free.fr>"); +MODULE_AUTHOR("Alban Bedel <albeu@free.fr>");
+MODULE_LICENSE("GPL"); +MODULE_LICENSE("GPL");
Index: linux-4.14.37/drivers/phy/phy-ar7200-usb.c
===================================================================
--- /dev/null --- /dev/null
+++ linux-4.14.37/drivers/phy/phy-ar7200-usb.c +++ b/drivers/phy/phy-ar7200-usb.c
@@ -0,0 +1,123 @@ @@ -0,0 +1,123 @@
+/* +/*
+ * Copyright (C) 2015 Alban Bedel <albeu@free.fr> + * Copyright (C) 2015 Alban Bedel <albeu@free.fr>

View file

@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
drivers/usb/host/ehci-platform.c | 5 +++++ drivers/usb/host/ehci-platform.c | 5 +++++
1 file changed, 5 insertions(+) 1 file changed, 5 insertions(+)
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index b065a960adc2..b1cc841b5399 100644
--- a/drivers/usb/host/ehci-platform.c --- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c
@@ -185,6 +185,11 @@ static int ehci_platform_probe(struct platform_device *dev) @@ -187,6 +187,11 @@ static int ehci_platform_probe(struct pl
ehci = hcd_to_ehci(hcd); ehci = hcd_to_ehci(hcd);
if (pdata == &ehci_platform_defaults && dev->dev.of_node) { if (pdata == &ehci_platform_defaults && dev->dev.of_node) {
@ -24,6 +22,3 @@ index b065a960adc2..b1cc841b5399 100644
if (of_property_read_bool(dev->dev.of_node, "big-endian-regs")) if (of_property_read_bool(dev->dev.of_node, "big-endian-regs"))
ehci->big_endian_mmio = 1; ehci->big_endian_mmio = 1;
--
2.11.0

View file

@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
drivers/usb/host/Kconfig | 25 ------------------------- drivers/usb/host/Kconfig | 25 -------------------------
1 file changed, 25 deletions(-) 1 file changed, 25 deletions(-)
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 4fcfb3084b36..55b45dcd7a4b 100644
--- a/drivers/usb/host/Kconfig --- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig
@@ -293,19 +293,6 @@ config USB_CNS3XXX_EHCI @@ -297,19 +297,6 @@ config USB_CNS3XXX_EHCI
It is needed for high-speed (480Mbit/sec) USB 2.0 device It is needed for high-speed (480Mbit/sec) USB 2.0 device
support. support.
@ -32,7 +30,7 @@ index 4fcfb3084b36..55b45dcd7a4b 100644
config USB_EHCI_HCD_PLATFORM config USB_EHCI_HCD_PLATFORM
tristate "Generic EHCI driver for a platform device" tristate "Generic EHCI driver for a platform device"
default n default n
@@ -489,18 +476,6 @@ config USB_OHCI_HCD_DAVINCI @@ -493,18 +480,6 @@ config USB_OHCI_HCD_DAVINCI
controller. This driver cannot currently be a loadable controller. This driver cannot currently be a loadable
module because it lacks a proper PHY abstraction. module because it lacks a proper PHY abstraction.
@ -51,6 +49,3 @@ index 4fcfb3084b36..55b45dcd7a4b 100644
config USB_OHCI_HCD_PPC_OF_BE config USB_OHCI_HCD_PPC_OF_BE
bool "OHCI support for OF platform bus (big endian)" bool "OHCI support for OF platform bus (big endian)"
depends on PPC depends on PPC
--
2.11.0

View file

@ -11,8 +11,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
2 files changed, 105 insertions(+) 2 files changed, 105 insertions(+)
create mode 100644 drivers/irqchip/irq-ath79-intc.c create mode 100644 drivers/irqchip/irq-ath79-intc.c
diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
index d27e3e3619e0..f63c94a92e25 100644
--- a/drivers/irqchip/Makefile --- a/drivers/irqchip/Makefile
+++ b/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile
@@ -3,6 +3,7 @@ obj-$(CONFIG_IRQCHIP) += irqchip.o @@ -3,6 +3,7 @@ obj-$(CONFIG_IRQCHIP) += irqchip.o
@ -23,9 +21,6 @@ index d27e3e3619e0..f63c94a92e25 100644
obj-$(CONFIG_ATH79) += irq-ath79-misc.o obj-$(CONFIG_ATH79) += irq-ath79-misc.o
obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2835.o
obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o obj-$(CONFIG_ARCH_BCM2835) += irq-bcm2836.o
diff --git a/drivers/irqchip/irq-ath79-intc.c b/drivers/irqchip/irq-ath79-intc.c
new file mode 100644
index 000000000000..a26d3efe6e10
--- /dev/null --- /dev/null
+++ b/drivers/irqchip/irq-ath79-intc.c +++ b/drivers/irqchip/irq-ath79-intc.c
@@ -0,0 +1,104 @@ @@ -0,0 +1,104 @@
@ -133,6 +128,3 @@ index 000000000000..a26d3efe6e10
+} +}
+IRQCHIP_DECLARE(qca9556_intc, "qcom,qca9556-intc", +IRQCHIP_DECLARE(qca9556_intc, "qcom,qca9556-intc",
+ qca9556_intc_of_init); + qca9556_intc_of_init);
--
2.11.0

View file

@ -8,8 +8,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
drivers/irqchip/irq-ath79-cpu.c | 7 ------- drivers/irqchip/irq-ath79-cpu.c | 7 -------
1 file changed, 7 deletions(-) 1 file changed, 7 deletions(-)
diff --git a/drivers/irqchip/irq-ath79-cpu.c b/drivers/irqchip/irq-ath79-cpu.c
index befe93c5a51a..f29cb9c933f5 100644
--- a/drivers/irqchip/irq-ath79-cpu.c --- a/drivers/irqchip/irq-ath79-cpu.c
+++ b/drivers/irqchip/irq-ath79-cpu.c +++ b/drivers/irqchip/irq-ath79-cpu.c
@@ -88,10 +88,3 @@ static int __init ar79_cpu_intc_of_init( @@ -88,10 +88,3 @@ static int __init ar79_cpu_intc_of_init(
@ -23,6 +21,3 @@ index befe93c5a51a..f29cb9c933f5 100644
- irq_wb_chan[3] = irq_wb_chan3; - irq_wb_chan[3] = irq_wb_chan3;
- mips_cpu_irq_init(); - mips_cpu_irq_init();
-} -}
--
2.11.0

View file

@ -8,8 +8,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
arch/mips/include/asm/mach-ath79/ar71xx_regs.h | 773 ++++++++++++++++++++++++- arch/mips/include/asm/mach-ath79/ar71xx_regs.h | 773 ++++++++++++++++++++++++-
1 file changed, 771 insertions(+), 2 deletions(-) 1 file changed, 771 insertions(+), 2 deletions(-)
diff --git a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
index aa3800c82332..284b4fa23e03 100644
--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h --- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h +++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
@@ -20,6 +20,10 @@ @@ -20,6 +20,10 @@
@ -399,7 +397,6 @@ index aa3800c82332..284b4fa23e03 100644
#define AR934X_RESET_USB_HOST BIT(5) #define AR934X_RESET_USB_HOST BIT(5)
#define AR934X_RESET_USB_PHY BIT(4) #define AR934X_RESET_USB_PHY BIT(4)
#define AR934X_RESET_USBSUS_OVERRIDE BIT(3) #define AR934X_RESET_USBSUS_OVERRIDE BIT(3)
-
+#define AR934X_RESET_LUT BIT(2) +#define AR934X_RESET_LUT BIT(2)
+#define AR934X_RESET_MBOX BIT(1) +#define AR934X_RESET_MBOX BIT(1)
+#define AR934X_RESET_I2S BIT(0) +#define AR934X_RESET_I2S BIT(0)
@ -476,7 +473,7 @@ index aa3800c82332..284b4fa23e03 100644
+#define QCA956X_RESET_USBSUS_OVERRIDE BIT(3) +#define QCA956X_RESET_USBSUS_OVERRIDE BIT(3)
+#define QCA956X_RESET_SWITCH_ANALOG BIT(2) +#define QCA956X_RESET_SWITCH_ANALOG BIT(2)
+#define QCA956X_RESET_SWITCH BIT(0) +#define QCA956X_RESET_SWITCH BIT(0)
+
+#define AR933X_BOOTSTRAP_MDIO_GPIO_EN BIT(18) +#define AR933X_BOOTSTRAP_MDIO_GPIO_EN BIT(18)
+#define AR933X_BOOTSTRAP_EEPBUSY BIT(4) +#define AR933X_BOOTSTRAP_EEPBUSY BIT(4)
#define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0) #define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0)
@ -972,6 +969,3 @@ index aa3800c82332..284b4fa23e03 100644
+#define QCA956X_SGMII_CONFIG_MODE_CTRL_MASK 0x7 +#define QCA956X_SGMII_CONFIG_MODE_CTRL_MASK 0x7
+ +
#endif /* __ASM_MACH_AR71XX_REGS_H */ #endif /* __ASM_MACH_AR71XX_REGS_H */
--
2.11.0

View file

@ -8,11 +8,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
arch/mips/Kconfig | 1 + arch/mips/Kconfig | 1 +
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 8128c3b68d6b..922a53cb1b3d 100644
--- a/arch/mips/Kconfig --- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig +++ b/arch/mips/Kconfig
@@ -188,6 +188,7 @@ config ATH79 @@ -191,6 +191,7 @@ config ATH79
select CSRC_R4K select CSRC_R4K
select DMA_NONCOHERENT select DMA_NONCOHERENT
select GPIOLIB select GPIOLIB
@ -20,6 +18,3 @@ index 8128c3b68d6b..922a53cb1b3d 100644
select HAVE_CLK select HAVE_CLK
select COMMON_CLK select COMMON_CLK
select CLKDEV_LOOKUP select CLKDEV_LOOKUP
--
2.11.0

View file

@ -14,8 +14,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
arch/mips/ath79/common.c | 2 +- arch/mips/ath79/common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
index 10a405d593df..c782b10ddf50 100644
--- a/arch/mips/ath79/common.c --- a/arch/mips/ath79/common.c
+++ b/arch/mips/ath79/common.c +++ b/arch/mips/ath79/common.c
@@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(ath79_ddr_ctrl_init); @@ -58,7 +58,7 @@ EXPORT_SYMBOL_GPL(ath79_ddr_ctrl_init);
@ -27,6 +25,3 @@ index 10a405d593df..c782b10ddf50 100644
/* Flush the DDR write buffer. */ /* Flush the DDR write buffer. */
__raw_writel(0x1, flush_reg); __raw_writel(0x1, flush_reg);
--
2.11.0

View file

@ -20,8 +20,6 @@ Acked-by: Gabor Juhos <juhosg@openwrt.org>
arch/mips/ath79/common.c | 4 ++-- arch/mips/ath79/common.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-) 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
index c782b10ddf50..a32a9181a296 100644
--- a/arch/mips/ath79/common.c --- a/arch/mips/ath79/common.c
+++ b/arch/mips/ath79/common.c +++ b/arch/mips/ath79/common.c
@@ -106,7 +106,7 @@ void ath79_device_reset_set(u32 mask) @@ -106,7 +106,7 @@ void ath79_device_reset_set(u32 mask)
@ -42,6 +40,3 @@ index c782b10ddf50..a32a9181a296 100644
spin_lock_irqsave(&ath79_device_reset_lock, flags); spin_lock_irqsave(&ath79_device_reset_lock, flags);
t = ath79_reset_rr(reg); t = ath79_reset_rr(reg);
--
2.11.0

View file

@ -10,11 +10,9 @@ Signed-off-by: John Crispin <john@phrozen.org>
arch/mips/include/asm/mach-ath79/ath79.h | 1 + arch/mips/include/asm/mach-ath79/ath79.h | 1 +
2 files changed, 2 insertions(+) 2 files changed, 2 insertions(+)
diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index f206dafbb0a3..26a058d58d37 100644
--- a/arch/mips/ath79/setup.c --- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c +++ b/arch/mips/ath79/setup.c
@@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYPE_LEN]; @@ -40,6 +40,7 @@ static char ath79_sys_type[ATH79_SYS_TYP
static void ath79_restart(char *command) static void ath79_restart(char *command)
{ {
@ -22,11 +20,9 @@ index f206dafbb0a3..26a058d58d37 100644
ath79_device_reset_set(AR71XX_RESET_FULL_CHIP); ath79_device_reset_set(AR71XX_RESET_FULL_CHIP);
for (;;) for (;;)
if (cpu_wait) if (cpu_wait)
diff --git a/arch/mips/include/asm/mach-ath79/ath79.h b/arch/mips/include/asm/mach-ath79/ath79.h
index 441faa92c3cd..6e6c0fead776 100644
--- a/arch/mips/include/asm/mach-ath79/ath79.h --- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/arch/mips/include/asm/mach-ath79/ath79.h +++ b/arch/mips/include/asm/mach-ath79/ath79.h
@@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned reg) @@ -134,6 +134,7 @@ static inline u32 ath79_pll_rr(unsigned
static inline void ath79_reset_wr(unsigned reg, u32 val) static inline void ath79_reset_wr(unsigned reg, u32 val)
{ {
__raw_writel(val, ath79_reset_base + reg); __raw_writel(val, ath79_reset_base + reg);
@ -34,6 +30,3 @@ index 441faa92c3cd..6e6c0fead776 100644
} }
static inline u32 ath79_reset_rr(unsigned reg) static inline u32 ath79_reset_rr(unsigned reg)
--
2.11.0

View file

@ -8,8 +8,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h | 6 ++++++ arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h | 6 ++++++
1 file changed, 6 insertions(+) 1 file changed, 6 insertions(+)
diff --git a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
index 0089a740e5ae..026ad90c8ac0 100644
--- a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h --- a/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
+++ b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h +++ b/arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h
@@ -36,6 +36,7 @@ @@ -36,6 +36,7 @@
@ -38,6 +36,3 @@ index 0089a740e5ae..026ad90c8ac0 100644
+#define cpu_has_pindexed_dcache 0 +#define cpu_has_pindexed_dcache 0
#endif /* __ASM_MACH_ATH79_CPU_FEATURE_OVERRIDES_H */ #endif /* __ASM_MACH_ATH79_CPU_FEATURE_OVERRIDES_H */
--
2.11.0

View file

@ -8,11 +8,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
arch/mips/ath79/early_printk.c | 44 +++++++++++++++++++++++++++++++++++++++++- arch/mips/ath79/early_printk.c | 44 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-) 1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
index d1adc59af5bf..ec3978678653 100644
--- a/arch/mips/ath79/early_printk.c --- a/arch/mips/ath79/early_printk.c
+++ b/arch/mips/ath79/early_printk.c +++ b/arch/mips/ath79/early_printk.c
@@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned char ch) @@ -58,6 +58,46 @@ static void prom_putchar_dummy(unsigned
/* nothing to do */ /* nothing to do */
} }
@ -71,6 +69,3 @@ index d1adc59af5bf..ec3978678653 100644
} }
void prom_putchar(unsigned char ch) void prom_putchar(unsigned char ch)
--
2.11.0

View file

@ -18,8 +18,6 @@ Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
arch/mips/include/asm/mach-ath79/ath79.h | 11 ++++ arch/mips/include/asm/mach-ath79/ath79.h | 11 ++++
8 files changed, 162 insertions(+), 6 deletions(-) 8 files changed, 162 insertions(+), 6 deletions(-)
diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
index 9547cf1ea38d..b03f5c8b9d1e 100644
--- a/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig
@@ -94,6 +94,10 @@ config SOC_AR934X @@ -94,6 +94,10 @@ config SOC_AR934X
@ -42,11 +40,9 @@ index 9547cf1ea38d..b03f5c8b9d1e 100644
def_bool n def_bool n
endif endif
diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
index 6b1000b6a6a6..b9595b2d1b65 100644
--- a/arch/mips/ath79/clock.c --- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c +++ b/arch/mips/ath79/clock.c
@@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(void) @@ -355,6 +355,91 @@ static void __init ar934x_clocks_init(vo
iounmap(dpll_base); iounmap(dpll_base);
} }
@ -147,8 +143,6 @@ index 6b1000b6a6a6..b9595b2d1b65 100644
else if (soc_is_qca955x()) else if (soc_is_qca955x())
qca955x_clocks_init(); qca955x_clocks_init();
else else
diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
index a32a9181a296..a485a7c35b9b 100644
--- a/arch/mips/ath79/common.c --- a/arch/mips/ath79/common.c
+++ b/arch/mips/ath79/common.c +++ b/arch/mips/ath79/common.c
@@ -103,6 +103,8 @@ void ath79_device_reset_set(u32 mask) @@ -103,6 +103,8 @@ void ath79_device_reset_set(u32 mask)
@ -169,8 +163,6 @@ index a32a9181a296..a485a7c35b9b 100644
else if (soc_is_qca955x()) else if (soc_is_qca955x())
reg = QCA955X_RESET_REG_RESET_MODULE; reg = QCA955X_RESET_REG_RESET_MODULE;
else else
diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
index 9d0172a4dc69..99d8b88f1e6d 100644
--- a/arch/mips/ath79/dev-common.c --- a/arch/mips/ath79/dev-common.c
+++ b/arch/mips/ath79/dev-common.c +++ b/arch/mips/ath79/dev-common.c
@@ -85,6 +85,7 @@ void __init ath79_register_uart(void) @@ -85,6 +85,7 @@ void __init ath79_register_uart(void)
@ -191,8 +183,6 @@ index 9d0172a4dc69..99d8b88f1e6d 100644
} else if (soc_is_qca955x()) { } else if (soc_is_qca955x()) {
ath79_gpio_pdata.ngpios = QCA955X_GPIO_COUNT; ath79_gpio_pdata.ngpios = QCA955X_GPIO_COUNT;
ath79_gpio_pdata.oe_inverted = 1; ath79_gpio_pdata.oe_inverted = 1;
diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
index ec3978678653..cc00839b7181 100644
--- a/arch/mips/ath79/early_printk.c --- a/arch/mips/ath79/early_printk.c
+++ b/arch/mips/ath79/early_printk.c +++ b/arch/mips/ath79/early_printk.c
@@ -116,6 +116,8 @@ static void prom_putchar_init(void) @@ -116,6 +116,8 @@ static void prom_putchar_init(void)
@ -204,8 +194,6 @@ index ec3978678653..cc00839b7181 100644
case REV_ID_MAJOR_QCA9556: case REV_ID_MAJOR_QCA9556:
case REV_ID_MAJOR_QCA9558: case REV_ID_MAJOR_QCA9558:
_prom_putchar = prom_putchar_ar71xx; _prom_putchar = prom_putchar_ar71xx;
diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
index 2dfff1f19004..756b5aee3500 100644
--- a/arch/mips/ath79/irq.c --- a/arch/mips/ath79/irq.c
+++ b/arch/mips/ath79/irq.c +++ b/arch/mips/ath79/irq.c
@@ -56,6 +56,34 @@ static void ar934x_ip2_irq_init(void) @@ -56,6 +56,34 @@ static void ar934x_ip2_irq_init(void)
@ -269,11 +257,9 @@ index 2dfff1f19004..756b5aee3500 100644
else if (soc_is_qca955x()) else if (soc_is_qca955x())
qca955x_irq_init(); qca955x_irq_init();
} }
diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index 26a058d58d37..f782ae6c77d6 100644
--- a/arch/mips/ath79/setup.c --- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c +++ b/arch/mips/ath79/setup.c
@@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type(void) @@ -60,6 +60,7 @@ static void __init ath79_detect_sys_type
u32 major; u32 major;
u32 minor; u32 minor;
u32 rev = 0; u32 rev = 0;
@ -281,7 +267,7 @@ index 26a058d58d37..f782ae6c77d6 100644
id = ath79_reset_rr(AR71XX_RESET_REG_REV_ID); id = ath79_reset_rr(AR71XX_RESET_REG_REV_ID);
major = id & REV_ID_MAJOR_MASK; major = id & REV_ID_MAJOR_MASK;
@@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type(void) @@ -152,6 +153,17 @@ static void __init ath79_detect_sys_type
rev = id & AR934X_REV_ID_REVISION_MASK; rev = id & AR934X_REV_ID_REVISION_MASK;
break; break;
@ -299,7 +285,7 @@ index 26a058d58d37..f782ae6c77d6 100644
case REV_ID_MAJOR_QCA9556: case REV_ID_MAJOR_QCA9556:
ath79_soc = ATH79_SOC_QCA9556; ath79_soc = ATH79_SOC_QCA9556;
chip = "9556"; chip = "9556";
@@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type(void) @@ -168,11 +180,12 @@ static void __init ath79_detect_sys_type
panic("ath79: unknown SoC, id:0x%08x", id); panic("ath79: unknown SoC, id:0x%08x", id);
} }
@ -316,8 +302,6 @@ index 26a058d58d37..f782ae6c77d6 100644
else else
sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev); sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
pr_info("SoC: %s\n", ath79_sys_type); pr_info("SoC: %s\n", ath79_sys_type);
diff --git a/arch/mips/include/asm/mach-ath79/ath79.h b/arch/mips/include/asm/mach-ath79/ath79.h
index 6e6c0fead776..98a7ccf3d358 100644
--- a/arch/mips/include/asm/mach-ath79/ath79.h --- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/arch/mips/include/asm/mach-ath79/ath79.h +++ b/arch/mips/include/asm/mach-ath79/ath79.h
@@ -32,6 +32,7 @@ enum ath79_soc_type { @@ -32,6 +32,7 @@ enum ath79_soc_type {
@ -345,6 +329,3 @@ index 6e6c0fead776..98a7ccf3d358 100644
static inline int soc_is_qca9556(void) static inline int soc_is_qca9556(void)
{ {
return ath79_soc == ATH79_SOC_QCA9556; return ath79_soc == ATH79_SOC_QCA9556;
--
2.11.0

View file

@ -22,8 +22,6 @@ Signed-off-by: Weijie Gao <hackpascal@gmail.com>
arch/mips/include/asm/mach-ath79/ath79.h | 22 ++++++++ arch/mips/include/asm/mach-ath79/ath79.h | 22 ++++++++
9 files changed, 245 insertions(+), 4 deletions(-) 9 files changed, 245 insertions(+), 4 deletions(-)
diff --git a/arch/mips/ath79/Kconfig b/arch/mips/ath79/Kconfig
index b03f5c8b9d1e..ad56cdbc8abd 100644
--- a/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
+++ b/arch/mips/ath79/Kconfig +++ b/arch/mips/ath79/Kconfig
@@ -119,7 +119,7 @@ config ATH79_DEV_USB @@ -119,7 +119,7 @@ config ATH79_DEV_USB
@ -35,11 +33,9 @@ index b03f5c8b9d1e..ad56cdbc8abd 100644
def_bool n def_bool n
endif endif
diff --git a/arch/mips/ath79/clock.c b/arch/mips/ath79/clock.c
index b9595b2d1b65..65701b45fb1b 100644
--- a/arch/mips/ath79/clock.c --- a/arch/mips/ath79/clock.c
+++ b/arch/mips/ath79/clock.c +++ b/arch/mips/ath79/clock.c
@@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(void) @@ -525,6 +525,100 @@ static void __init qca955x_clocks_init(v
clk_add_alias("uart", NULL, "ref", NULL); clk_add_alias("uart", NULL, "ref", NULL);
} }
@ -149,8 +145,6 @@ index b9595b2d1b65..65701b45fb1b 100644
else else
BUG(); BUG();
} }
diff --git a/arch/mips/ath79/common.c b/arch/mips/ath79/common.c
index a485a7c35b9b..fc3438150b3e 100644
--- a/arch/mips/ath79/common.c --- a/arch/mips/ath79/common.c
+++ b/arch/mips/ath79/common.c +++ b/arch/mips/ath79/common.c
@@ -107,6 +107,8 @@ void ath79_device_reset_set(u32 mask) @@ -107,6 +107,8 @@ void ath79_device_reset_set(u32 mask)
@ -171,8 +165,6 @@ index a485a7c35b9b..fc3438150b3e 100644
else else
panic("Reset register not defined for this SOC"); panic("Reset register not defined for this SOC");
diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
index 99d8b88f1e6d..ac8bfe86b656 100644
--- a/arch/mips/ath79/dev-common.c --- a/arch/mips/ath79/dev-common.c
+++ b/arch/mips/ath79/dev-common.c +++ b/arch/mips/ath79/dev-common.c
@@ -86,7 +86,9 @@ void __init ath79_register_uart(void) @@ -86,7 +86,9 @@ void __init ath79_register_uart(void)
@ -196,8 +188,6 @@ index 99d8b88f1e6d..ac8bfe86b656 100644
} else { } else {
BUG(); BUG();
} }
diff --git a/arch/mips/ath79/early_printk.c b/arch/mips/ath79/early_printk.c
index cc00839b7181..2024a0bb9144 100644
--- a/arch/mips/ath79/early_printk.c --- a/arch/mips/ath79/early_printk.c
+++ b/arch/mips/ath79/early_printk.c +++ b/arch/mips/ath79/early_printk.c
@@ -120,6 +120,8 @@ static void prom_putchar_init(void) @@ -120,6 +120,8 @@ static void prom_putchar_init(void)
@ -209,8 +199,6 @@ index cc00839b7181..2024a0bb9144 100644
_prom_putchar = prom_putchar_ar71xx; _prom_putchar = prom_putchar_ar71xx;
break; break;
diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
index 756b5aee3500..58d17ef6f58f 100644
--- a/arch/mips/ath79/irq.c --- a/arch/mips/ath79/irq.c
+++ b/arch/mips/ath79/irq.c +++ b/arch/mips/ath79/irq.c
@@ -156,6 +156,87 @@ static void qca955x_irq_init(void) @@ -156,6 +156,87 @@ static void qca955x_irq_init(void)
@ -319,11 +307,9 @@ index 756b5aee3500..58d17ef6f58f 100644
+ else if (soc_is_qca956x() || soc_is_tp9343()) + else if (soc_is_qca956x() || soc_is_tp9343())
+ qca956x_irq_init(); + qca956x_irq_init();
} }
diff --git a/arch/mips/ath79/pci.c b/arch/mips/ath79/pci.c
index b816cb4a25ff..d905a67e1a07 100644
--- a/arch/mips/ath79/pci.c --- a/arch/mips/ath79/pci.c
+++ b/arch/mips/ath79/pci.c +++ b/arch/mips/ath79/pci.c
@@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev *dev, uint8_t slot, uint8_t pin) @@ -82,6 +82,9 @@ int pcibios_map_irq(const struct pci_dev
} else if (soc_is_qca955x()) { } else if (soc_is_qca955x()) {
ath79_pci_irq_map = qca955x_pci_irq_map; ath79_pci_irq_map = qca955x_pci_irq_map;
ath79_pci_nr_irqs = ARRAY_SIZE(qca955x_pci_irq_map); ath79_pci_nr_irqs = ARRAY_SIZE(qca955x_pci_irq_map);
@ -349,11 +335,9 @@ index b816cb4a25ff..d905a67e1a07 100644
} else { } else {
/* No PCI support */ /* No PCI support */
return -ENODEV; return -ENODEV;
diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index f782ae6c77d6..4c7a93f4039a 100644
--- a/arch/mips/ath79/setup.c --- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c +++ b/arch/mips/ath79/setup.c
@@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type(void) @@ -176,6 +176,18 @@ static void __init ath79_detect_sys_type
rev = id & QCA955X_REV_ID_REVISION_MASK; rev = id & QCA955X_REV_ID_REVISION_MASK;
break; break;
@ -372,7 +356,7 @@ index f782ae6c77d6..4c7a93f4039a 100644
default: default:
panic("ath79: unknown SoC, id:0x%08x", id); panic("ath79: unknown SoC, id:0x%08x", id);
} }
@@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type(void) @@ -183,9 +195,12 @@ static void __init ath79_detect_sys_type
if (ver == 1) if (ver == 1)
ath79_soc_rev = rev; ath79_soc_rev = rev;
@ -386,8 +370,6 @@ index f782ae6c77d6..4c7a93f4039a 100644
else else
sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev); sprintf(ath79_sys_type, "Atheros AR%s rev %u", chip, rev);
pr_info("SoC: %s\n", ath79_sys_type); pr_info("SoC: %s\n", ath79_sys_type);
diff --git a/arch/mips/include/asm/mach-ath79/ath79.h b/arch/mips/include/asm/mach-ath79/ath79.h
index 98a7ccf3d358..73dcd63b8243 100644
--- a/arch/mips/include/asm/mach-ath79/ath79.h --- a/arch/mips/include/asm/mach-ath79/ath79.h
+++ b/arch/mips/include/asm/mach-ath79/ath79.h +++ b/arch/mips/include/asm/mach-ath79/ath79.h
@@ -35,6 +35,8 @@ enum ath79_soc_type { @@ -35,6 +35,8 @@ enum ath79_soc_type {
@ -426,6 +408,3 @@ index 98a7ccf3d358..73dcd63b8243 100644
void ath79_ddr_wb_flush(unsigned int reg); void ath79_ddr_wb_flush(unsigned int reg);
void ath79_ddr_set_pci_windows(void); void ath79_ddr_set_pci_windows(void);
--
2.11.0

View file

@ -25,8 +25,6 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
arch/mips/pci/pci-ar724x.c | 42 ++++++++++++++++++++++++++++++++++++++++++ arch/mips/pci/pci-ar724x.c | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+) 1 file changed, 42 insertions(+)
diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
index 1e23c8d587bd..64b58cc48a91 100644
--- a/arch/mips/pci/pci-ar724x.c --- a/arch/mips/pci/pci-ar724x.c
+++ b/arch/mips/pci/pci-ar724x.c +++ b/arch/mips/pci/pci-ar724x.c
@@ -12,14 +12,18 @@ @@ -12,14 +12,18 @@
@ -48,7 +46,7 @@ index 1e23c8d587bd..64b58cc48a91 100644
#define AR724X_PCI_RESET_LINK_UP BIT(0) #define AR724X_PCI_RESET_LINK_UP BIT(0)
#define AR724X_PCI_INT_DEV0 BIT(14) #define AR724X_PCI_INT_DEV0 BIT(14)
@@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct ar724x_pci_controller *apc, @@ -325,6 +329,37 @@ static void ar724x_pci_irq_init(struct a
apc); apc);
} }
@ -86,7 +84,7 @@ index 1e23c8d587bd..64b58cc48a91 100644
static int ar724x_pci_probe(struct platform_device *pdev) static int ar724x_pci_probe(struct platform_device *pdev)
{ {
struct ar724x_pci_controller *apc; struct ar724x_pci_controller *apc;
@@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct platform_device *pdev) @@ -383,6 +418,13 @@ static int ar724x_pci_probe(struct platf
apc->pci_controller.io_resource = &apc->io_res; apc->pci_controller.io_resource = &apc->io_res;
apc->pci_controller.mem_resource = &apc->mem_res; apc->pci_controller.mem_resource = &apc->mem_res;
@ -100,6 +98,3 @@ index 1e23c8d587bd..64b58cc48a91 100644
apc->link_up = ar724x_pci_check_link(apc); apc->link_up = ar724x_pci_check_link(apc);
if (!apc->link_up) if (!apc->link_up)
dev_warn(&pdev->dev, "PCIe link is down\n"); dev_warn(&pdev->dev, "PCIe link is down\n");
--
2.11.0

View file

@ -9,8 +9,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
arch/mips/pci/pci-ar71xx.c | 81 +++++++++++++++++++++++----------------------- arch/mips/pci/pci-ar71xx.c | 81 +++++++++++++++++++++++-----------------------
1 file changed, 40 insertions(+), 41 deletions(-) 1 file changed, 40 insertions(+), 41 deletions(-)
diff --git a/arch/mips/pci/pci-ar71xx.c b/arch/mips/pci/pci-ar71xx.c
index bdf87b43633f..1dc9f01a495d 100644
--- a/arch/mips/pci/pci-ar71xx.c --- a/arch/mips/pci/pci-ar71xx.c
+++ b/arch/mips/pci/pci-ar71xx.c +++ b/arch/mips/pci/pci-ar71xx.c
@@ -18,8 +18,11 @@ @@ -18,8 +18,11 @@
@ -78,7 +76,7 @@ index bdf87b43633f..1dc9f01a495d 100644
} }
static void ar71xx_pci_irq_unmask(struct irq_data *d) static void ar71xx_pci_irq_unmask(struct irq_data *d)
@@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct irq_data *d) @@ -261,7 +266,7 @@ static void ar71xx_pci_irq_unmask(struct
u32 t; u32 t;
apc = irq_data_get_irq_chip_data(d); apc = irq_data_get_irq_chip_data(d);
@ -87,7 +85,7 @@ index bdf87b43633f..1dc9f01a495d 100644
t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE); t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
__raw_writel(t | (1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE); __raw_writel(t | (1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE);
@@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct irq_data *d) @@ -278,7 +283,7 @@ static void ar71xx_pci_irq_mask(struct i
u32 t; u32 t;
apc = irq_data_get_irq_chip_data(d); apc = irq_data_get_irq_chip_data(d);
@ -96,7 +94,7 @@ index bdf87b43633f..1dc9f01a495d 100644
t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE); t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE);
__raw_writel(t & ~(1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE); __raw_writel(t & ~(1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE);
@@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_chip = { @@ -294,24 +299,30 @@ static struct irq_chip ar71xx_pci_irq_ch
.irq_mask_ack = ar71xx_pci_irq_mask, .irq_mask_ack = ar71xx_pci_irq_mask,
}; };
@ -150,7 +148,7 @@ index bdf87b43633f..1dc9f01a495d 100644
static int ar71xx_pci_probe(struct platform_device *pdev) static int ar71xx_pci_probe(struct platform_device *pdev)
{ {
struct ar71xx_pci_controller *apc; struct ar71xx_pci_controller *apc;
@@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct platform_device *pdev) @@ -348,26 +364,6 @@ static int ar71xx_pci_probe(struct platf
if (apc->irq < 0) if (apc->irq < 0)
return -EINVAL; return -EINVAL;
@ -177,7 +175,7 @@ index bdf87b43633f..1dc9f01a495d 100644
ar71xx_pci_reset(); ar71xx_pci_reset();
/* setup COMMAND register */ /* setup COMMAND register */
@@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct platform_device *pdev) @@ -380,9 +376,11 @@ static int ar71xx_pci_probe(struct platf
ar71xx_pci_irq_init(apc); ar71xx_pci_irq_init(apc);
@ -189,7 +187,7 @@ index bdf87b43633f..1dc9f01a495d 100644
register_pci_controller(&apc->pci_ctrl); register_pci_controller(&apc->pci_ctrl);
@@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci_driver = { @@ -393,6 +391,7 @@ static struct platform_driver ar71xx_pci
.probe = ar71xx_pci_probe, .probe = ar71xx_pci_probe,
.driver = { .driver = {
.name = "ar71xx-pci", .name = "ar71xx-pci",
@ -197,6 +195,3 @@ index bdf87b43633f..1dc9f01a495d 100644
}, },
}; };
--
2.11.0

View file

@ -9,8 +9,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
arch/mips/pci/pci-ar724x.c | 86 +++++++++++++++++++++------------------------- arch/mips/pci/pci-ar724x.c | 86 +++++++++++++++++++++-------------------------
1 file changed, 40 insertions(+), 46 deletions(-) 1 file changed, 40 insertions(+), 46 deletions(-)
diff --git a/arch/mips/pci/pci-ar724x.c b/arch/mips/pci/pci-ar724x.c
index 64b58cc48a91..7eb9b0999c8c 100644
--- a/arch/mips/pci/pci-ar724x.c --- a/arch/mips/pci/pci-ar724x.c
+++ b/arch/mips/pci/pci-ar724x.c +++ b/arch/mips/pci/pci-ar724x.c
@@ -14,8 +14,11 @@ @@ -14,8 +14,11 @@
@ -91,7 +89,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
case 0: case 0:
t = __raw_readl(base + AR724X_PCI_REG_INT_MASK); t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
__raw_writel(t | AR724X_PCI_INT_DEV0, __raw_writel(t | AR724X_PCI_INT_DEV0,
@@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct irq_data *d) @@ -273,14 +275,12 @@ static void ar724x_pci_irq_mask(struct i
{ {
struct ar724x_pci_controller *apc; struct ar724x_pci_controller *apc;
void __iomem *base; void __iomem *base;
@ -107,7 +105,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
case 0: case 0:
t = __raw_readl(base + AR724X_PCI_REG_INT_MASK); t = __raw_readl(base + AR724X_PCI_REG_INT_MASK);
__raw_writel(t & ~AR724X_PCI_INT_DEV0, __raw_writel(t & ~AR724X_PCI_INT_DEV0,
@@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_chip = { @@ -305,26 +305,32 @@ static struct irq_chip ar724x_pci_irq_ch
.irq_mask_ack = ar724x_pci_irq_mask, .irq_mask_ack = ar724x_pci_irq_mask,
}; };
@ -150,7 +148,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
irq_set_chained_handler_and_data(apc->irq, ar724x_pci_irq_handler, irq_set_chained_handler_and_data(apc->irq, ar724x_pci_irq_handler,
apc); apc);
} }
@@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct platform_device *pdev) @@ -394,29 +400,11 @@ static int ar724x_pci_probe(struct platf
if (apc->irq < 0) if (apc->irq < 0)
return -EINVAL; return -EINVAL;
@ -182,7 +180,7 @@ index 64b58cc48a91..7eb9b0999c8c 100644
/* /*
* Do the full PCIE Root Complex Initialization Sequence if the PCIe * Do the full PCIE Root Complex Initialization Sequence if the PCIe
@@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct platform_device *pdev) @@ -438,10 +426,16 @@ static int ar724x_pci_probe(struct platf
return 0; return 0;
} }
@ -199,6 +197,3 @@ index 64b58cc48a91..7eb9b0999c8c 100644
}, },
}; };
--
2.11.0

View file

@ -16,10 +16,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
delete mode 100644 arch/mips/ath79/pci.c delete mode 100644 arch/mips/ath79/pci.c
create mode 100644 arch/mips/pci/fixup-ath79.c create mode 100644 arch/mips/pci/fixup-ath79.c
Index: linux-4.14.25/arch/mips/ath79/Makefile --- a/arch/mips/ath79/Makefile
=================================================================== +++ b/arch/mips/ath79/Makefile
--- linux-4.14.25.orig/arch/mips/ath79/Makefile
+++ linux-4.14.25/arch/mips/ath79/Makefile
@@ -11,7 +11,6 @@ @@ -11,7 +11,6 @@
obj-y := prom.o setup.o irq.o common.o clock.o obj-y := prom.o setup.o irq.o common.o clock.o
@ -28,9 +26,7 @@ Index: linux-4.14.25/arch/mips/ath79/Makefile
# #
# Devices # Devices
Index: linux-4.14.25/arch/mips/ath79/pci.c --- a/arch/mips/ath79/pci.c
===================================================================
--- linux-4.14.25.orig/arch/mips/ath79/pci.c
+++ /dev/null +++ /dev/null
@@ -1,285 +0,0 @@ @@ -1,285 +0,0 @@
-/* -/*
@ -318,10 +314,8 @@ Index: linux-4.14.25/arch/mips/ath79/pci.c
- -
- return pdev ? 0 : -ENODEV; - return pdev ? 0 : -ENODEV;
-} -}
Index: linux-4.14.25/arch/mips/pci/Makefile --- a/arch/mips/pci/Makefile
=================================================================== +++ b/arch/mips/pci/Makefile
--- linux-4.14.25.orig/arch/mips/pci/Makefile
+++ linux-4.14.25/arch/mips/pci/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_MIPS_PCI_VIRTIO) += pci-vir @@ -29,6 +29,7 @@ obj-$(CONFIG_MIPS_PCI_VIRTIO) += pci-vir
# #
# These are still pretty much in the old state, watch, go blind. # These are still pretty much in the old state, watch, go blind.
@ -330,10 +324,8 @@ Index: linux-4.14.25/arch/mips/pci/Makefile
obj-$(CONFIG_LASAT) += pci-lasat.o obj-$(CONFIG_LASAT) += pci-lasat.o
obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o
obj-$(CONFIG_LEMOTE_FULOONG2E) += fixup-fuloong2e.o ops-loongson2.o obj-$(CONFIG_LEMOTE_FULOONG2E) += fixup-fuloong2e.o ops-loongson2.o
Index: linux-4.14.25/arch/mips/pci/fixup-ath79.c
===================================================================
--- /dev/null --- /dev/null
+++ linux-4.14.25/arch/mips/pci/fixup-ath79.c +++ b/arch/mips/pci/fixup-ath79.c
@@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
+/* +/*
+ * Copyright (C) 2018 John Crispin <john@phrozen.org> + * Copyright (C) 2018 John Crispin <john@phrozen.org>

View file

@ -21,10 +21,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
delete mode 100644 arch/mips/ath79/mach-pb44.c delete mode 100644 arch/mips/ath79/mach-pb44.c
delete mode 100644 arch/mips/ath79/mach-ubnt-xm.c delete mode 100644 arch/mips/ath79/mach-ubnt-xm.c
Index: linux-4.14.25/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
=================================================================== +++ b/arch/mips/ath79/Kconfig
--- linux-4.14.25.orig/arch/mips/ath79/Kconfig
+++ linux-4.14.25/arch/mips/ath79/Kconfig
@@ -1,79 +1,6 @@ @@ -1,79 +1,6 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
if ATH79 if ATH79
@ -105,10 +103,8 @@ Index: linux-4.14.25/arch/mips/ath79/Kconfig
config SOC_AR71XX config SOC_AR71XX
select HW_HAS_PCI select HW_HAS_PCI
def_bool n def_bool n
Index: linux-4.14.25/arch/mips/ath79/Makefile --- a/arch/mips/ath79/Makefile
=================================================================== +++ b/arch/mips/ath79/Makefile
--- linux-4.14.25.orig/arch/mips/ath79/Makefile
+++ linux-4.14.25/arch/mips/ath79/Makefile
@@ -21,13 +21,3 @@ obj-$(CONFIG_ATH79_DEV_LEDS_GPIO) += dev @@ -21,13 +21,3 @@ obj-$(CONFIG_ATH79_DEV_LEDS_GPIO) += dev
obj-$(CONFIG_ATH79_DEV_SPI) += dev-spi.o obj-$(CONFIG_ATH79_DEV_SPI) += dev-spi.o
obj-$(CONFIG_ATH79_DEV_USB) += dev-usb.o obj-$(CONFIG_ATH79_DEV_USB) += dev-usb.o
@ -123,9 +119,7 @@ Index: linux-4.14.25/arch/mips/ath79/Makefile
-obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o -obj-$(CONFIG_ATH79_MACH_DB120) += mach-db120.o
-obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o -obj-$(CONFIG_ATH79_MACH_PB44) += mach-pb44.o
-obj-$(CONFIG_ATH79_MACH_UBNT_XM) += mach-ubnt-xm.o -obj-$(CONFIG_ATH79_MACH_UBNT_XM) += mach-ubnt-xm.o
Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c --- a/arch/mips/ath79/mach-ap121.c
===================================================================
--- linux-4.14.25.orig/arch/mips/ath79/mach-ap121.c
+++ /dev/null +++ /dev/null
@@ -1,92 +0,0 @@ @@ -1,92 +0,0 @@
-/* -/*
@ -220,9 +214,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap121.c
- -
-MIPS_MACHINE(ATH79_MACH_AP121, "AP121", "Atheros AP121 reference board", -MIPS_MACHINE(ATH79_MACH_AP121, "AP121", "Atheros AP121 reference board",
- ap121_setup); - ap121_setup);
Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c --- a/arch/mips/ath79/mach-ap136.c
===================================================================
--- linux-4.14.25.orig/arch/mips/ath79/mach-ap136.c
+++ /dev/null +++ /dev/null
@@ -1,156 +0,0 @@ @@ -1,156 +0,0 @@
-/* -/*
@ -381,9 +373,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap136.c
-MIPS_MACHINE(ATH79_MACH_AP136_010, "AP136-010", -MIPS_MACHINE(ATH79_MACH_AP136_010, "AP136-010",
- "Atheros AP136-010 reference board", - "Atheros AP136-010 reference board",
- ap136_setup); - ap136_setup);
Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c --- a/arch/mips/ath79/mach-ap81.c
===================================================================
--- linux-4.14.25.orig/arch/mips/ath79/mach-ap81.c
+++ /dev/null +++ /dev/null
@@ -1,100 +0,0 @@ @@ -1,100 +0,0 @@
-/* -/*
@ -486,9 +476,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-ap81.c
- -
-MIPS_MACHINE(ATH79_MACH_AP81, "AP81", "Atheros AP81 reference board", -MIPS_MACHINE(ATH79_MACH_AP81, "AP81", "Atheros AP81 reference board",
- ap81_setup); - ap81_setup);
Index: linux-4.14.25/arch/mips/ath79/mach-db120.c --- a/arch/mips/ath79/mach-db120.c
===================================================================
--- linux-4.14.25.orig/arch/mips/ath79/mach-db120.c
+++ /dev/null +++ /dev/null
@@ -1,136 +0,0 @@ @@ -1,136 +0,0 @@
-/* -/*
@ -627,9 +615,7 @@ Index: linux-4.14.25/arch/mips/ath79/mach-db120.c
- -
-MIPS_MACHINE(ATH79_MACH_DB120, "DB120", "Atheros DB120 reference board", -MIPS_MACHINE(ATH79_MACH_DB120, "DB120", "Atheros DB120 reference board",
- db120_setup); - db120_setup);
Index: linux-4.14.25/arch/mips/ath79/mach-pb44.c --- a/arch/mips/ath79/mach-pb44.c
===================================================================
--- linux-4.14.25.orig/arch/mips/ath79/mach-pb44.c
+++ /dev/null +++ /dev/null
@@ -1,122 +0,0 @@ @@ -1,122 +0,0 @@
-/* -/*

View file

@ -32,9 +32,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
delete mode 100644 arch/mips/ath79/dev-wmac.c delete mode 100644 arch/mips/ath79/dev-wmac.c
delete mode 100644 arch/mips/ath79/dev-wmac.h delete mode 100644 arch/mips/ath79/dev-wmac.h
diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c
deleted file mode 100644
index ac8bfe86b656..000000000000
--- a/arch/mips/ath79/dev-common.c --- a/arch/mips/ath79/dev-common.c
+++ /dev/null +++ /dev/null
@@ -1,168 +0,0 @@ @@ -1,168 +0,0 @@
@ -206,9 +203,6 @@ index ac8bfe86b656..000000000000
- -
- platform_device_register(&ath79_gpio_device); - platform_device_register(&ath79_gpio_device);
-} -}
diff --git a/arch/mips/ath79/dev-common.h b/arch/mips/ath79/dev-common.h
deleted file mode 100644
index 0f514e1affce..000000000000
--- a/arch/mips/ath79/dev-common.h --- a/arch/mips/ath79/dev-common.h
+++ /dev/null +++ /dev/null
@@ -1,18 +0,0 @@ @@ -1,18 +0,0 @@
@ -230,9 +224,6 @@ index 0f514e1affce..000000000000
-void ath79_register_wdt(void); -void ath79_register_wdt(void);
- -
-#endif /* _ATH79_DEV_COMMON_H */ -#endif /* _ATH79_DEV_COMMON_H */
diff --git a/arch/mips/ath79/dev-gpio-buttons.c b/arch/mips/ath79/dev-gpio-buttons.c
deleted file mode 100644
index 366b35fb164d..000000000000
--- a/arch/mips/ath79/dev-gpio-buttons.c --- a/arch/mips/ath79/dev-gpio-buttons.c
+++ /dev/null +++ /dev/null
@@ -1,56 +0,0 @@ @@ -1,56 +0,0 @@
@ -292,9 +283,6 @@ index 366b35fb164d..000000000000
-err_free_buttons: -err_free_buttons:
- kfree(p); - kfree(p);
-} -}
diff --git a/arch/mips/ath79/dev-gpio-buttons.h b/arch/mips/ath79/dev-gpio-buttons.h
deleted file mode 100644
index 481847ac1cba..000000000000
--- a/arch/mips/ath79/dev-gpio-buttons.h --- a/arch/mips/ath79/dev-gpio-buttons.h
+++ /dev/null +++ /dev/null
@@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
@ -321,9 +309,6 @@ index 481847ac1cba..000000000000
- struct gpio_keys_button *buttons); - struct gpio_keys_button *buttons);
- -
-#endif /* _ATH79_DEV_GPIO_BUTTONS_H */ -#endif /* _ATH79_DEV_GPIO_BUTTONS_H */
diff --git a/arch/mips/ath79/dev-leds-gpio.c b/arch/mips/ath79/dev-leds-gpio.c
deleted file mode 100644
index dcb1debcefb8..000000000000
--- a/arch/mips/ath79/dev-leds-gpio.c --- a/arch/mips/ath79/dev-leds-gpio.c
+++ /dev/null +++ /dev/null
@@ -1,54 +0,0 @@ @@ -1,54 +0,0 @@
@ -381,9 +366,6 @@ index dcb1debcefb8..000000000000
-err_free_leds: -err_free_leds:
- kfree(p); - kfree(p);
-} -}
diff --git a/arch/mips/ath79/dev-leds-gpio.h b/arch/mips/ath79/dev-leds-gpio.h
deleted file mode 100644
index 6e5d8851ebcf..000000000000
--- a/arch/mips/ath79/dev-leds-gpio.h --- a/arch/mips/ath79/dev-leds-gpio.h
+++ /dev/null +++ /dev/null
@@ -1,21 +0,0 @@ @@ -1,21 +0,0 @@
@ -408,9 +390,6 @@ index 6e5d8851ebcf..000000000000
- struct gpio_led *leds); - struct gpio_led *leds);
- -
-#endif /* _ATH79_DEV_LEDS_GPIO_H */ -#endif /* _ATH79_DEV_LEDS_GPIO_H */
diff --git a/arch/mips/ath79/dev-spi.c b/arch/mips/ath79/dev-spi.c
deleted file mode 100644
index aa30163efbfd..000000000000
--- a/arch/mips/ath79/dev-spi.c --- a/arch/mips/ath79/dev-spi.c
+++ /dev/null +++ /dev/null
@@ -1,38 +0,0 @@ @@ -1,38 +0,0 @@
@ -452,9 +431,6 @@ index aa30163efbfd..000000000000
- ath79_spi_device.dev.platform_data = pdata; - ath79_spi_device.dev.platform_data = pdata;
- platform_device_register(&ath79_spi_device); - platform_device_register(&ath79_spi_device);
-} -}
diff --git a/arch/mips/ath79/dev-spi.h b/arch/mips/ath79/dev-spi.h
deleted file mode 100644
index d732565ca736..000000000000
--- a/arch/mips/ath79/dev-spi.h --- a/arch/mips/ath79/dev-spi.h
+++ /dev/null +++ /dev/null
@@ -1,22 +0,0 @@ @@ -1,22 +0,0 @@
@ -480,9 +456,6 @@ index d732565ca736..000000000000
- unsigned n); - unsigned n);
- -
-#endif /* _ATH79_DEV_SPI_H */ -#endif /* _ATH79_DEV_SPI_H */
diff --git a/arch/mips/ath79/dev-usb.c b/arch/mips/ath79/dev-usb.c
deleted file mode 100644
index 8227265bcc2d..000000000000
--- a/arch/mips/ath79/dev-usb.c --- a/arch/mips/ath79/dev-usb.c
+++ /dev/null +++ /dev/null
@@ -1,242 +0,0 @@ @@ -1,242 +0,0 @@
@ -728,9 +701,6 @@ index 8227265bcc2d..000000000000
- else - else
- BUG(); - BUG();
-} -}
diff --git a/arch/mips/ath79/dev-usb.h b/arch/mips/ath79/dev-usb.h
deleted file mode 100644
index 4b86a69ca080..000000000000
--- a/arch/mips/ath79/dev-usb.h --- a/arch/mips/ath79/dev-usb.h
+++ /dev/null +++ /dev/null
@@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
@ -751,9 +721,6 @@ index 4b86a69ca080..000000000000
-void ath79_register_usb(void); -void ath79_register_usb(void);
- -
-#endif /* _ATH79_DEV_USB_H */ -#endif /* _ATH79_DEV_USB_H */
diff --git a/arch/mips/ath79/dev-wmac.c b/arch/mips/ath79/dev-wmac.c
deleted file mode 100644
index da190b1b87ce..000000000000
--- a/arch/mips/ath79/dev-wmac.c --- a/arch/mips/ath79/dev-wmac.c
+++ /dev/null +++ /dev/null
@@ -1,155 +0,0 @@ @@ -1,155 +0,0 @@
@ -912,9 +879,6 @@ index da190b1b87ce..000000000000
- -
- platform_device_register(&ath79_wmac_device); - platform_device_register(&ath79_wmac_device);
-} -}
diff --git a/arch/mips/ath79/dev-wmac.h b/arch/mips/ath79/dev-wmac.h
deleted file mode 100644
index c9cd8709f090..000000000000
--- a/arch/mips/ath79/dev-wmac.h --- a/arch/mips/ath79/dev-wmac.h
+++ /dev/null +++ /dev/null
@@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
@ -935,8 +899,6 @@ index c9cd8709f090..000000000000
-void ath79_register_wmac(u8 *cal_data); -void ath79_register_wmac(u8 *cal_data);
- -
-#endif /* _ATH79_DEV_WMAC_H */ -#endif /* _ATH79_DEV_WMAC_H */
diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index 4c7a93f4039a..8d7ffa2e8265 100644
--- a/arch/mips/ath79/setup.c --- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c +++ b/arch/mips/ath79/setup.c
@@ -31,7 +31,6 @@ @@ -31,7 +31,6 @@
@ -958,6 +920,3 @@ index 4c7a93f4039a..8d7ffa2e8265 100644
mips_machine_setup(); mips_machine_setup();
return 0; return 0;
--
2.11.0

View file

@ -13,8 +13,6 @@ Signed-off-by: John Crispin <john@phrozen.org>
3 files changed, 7 insertions(+), 286 deletions(-) 3 files changed, 7 insertions(+), 286 deletions(-)
delete mode 100644 arch/mips/ath79/irq.c delete mode 100644 arch/mips/ath79/irq.c
diff --git a/arch/mips/ath79/Makefile b/arch/mips/ath79/Makefile
index 783369bc1c5b..bd0c9b8b1b5b 100644
--- a/arch/mips/ath79/Makefile --- a/arch/mips/ath79/Makefile
+++ b/arch/mips/ath79/Makefile +++ b/arch/mips/ath79/Makefile
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
@ -26,9 +24,6 @@ index 783369bc1c5b..bd0c9b8b1b5b 100644
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
diff --git a/arch/mips/ath79/irq.c b/arch/mips/ath79/irq.c
deleted file mode 100644
index 58d17ef6f58f..000000000000
--- a/arch/mips/ath79/irq.c --- a/arch/mips/ath79/irq.c
+++ /dev/null +++ /dev/null
@@ -1,285 +0,0 @@ @@ -1,285 +0,0 @@
@ -317,8 +312,6 @@ index 58d17ef6f58f..000000000000
- else if (soc_is_qca956x() || soc_is_tp9343()) - else if (soc_is_qca956x() || soc_is_tp9343())
- qca956x_irq_init(); - qca956x_irq_init();
-} -}
diff --git a/arch/mips/ath79/setup.c b/arch/mips/ath79/setup.c
index 8d7ffa2e8265..7b089c07d2fa 100644
--- a/arch/mips/ath79/setup.c --- a/arch/mips/ath79/setup.c
+++ b/arch/mips/ath79/setup.c +++ b/arch/mips/ath79/setup.c
@@ -19,6 +19,7 @@ @@ -19,6 +19,7 @@
@ -341,6 +334,3 @@ index 8d7ffa2e8265..7b089c07d2fa 100644
static int __init ath79_setup(void) static int __init ath79_setup(void)
{ {
if (mips_machtype == ATH79_MACH_GENERIC_OF) if (mips_machtype == ATH79_MACH_GENERIC_OF)
--
2.11.0

View file

@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
arch/mips/pci/Makefile | 2 +- arch/mips/pci/Makefile | 2 +-
4 files changed, 8 insertions(+), 54 deletions(-) 4 files changed, 8 insertions(+), 54 deletions(-)
Index: linux-4.14.18/arch/mips/Kconfig --- a/arch/mips/Kconfig
=================================================================== +++ b/arch/mips/Kconfig
--- linux-4.14.18.orig/arch/mips/Kconfig
+++ linux-4.14.18/arch/mips/Kconfig
@@ -203,6 +203,8 @@ config ATH79 @@ -203,6 +203,8 @@ config ATH79
select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_MIPS16 select SYS_SUPPORTS_MIPS16
@ -24,10 +22,8 @@ Index: linux-4.14.18/arch/mips/Kconfig
select USE_OF select USE_OF
help help
Support for the Atheros AR71XX/AR724X/AR913X SoCs. Support for the Atheros AR71XX/AR724X/AR913X SoCs.
Index: linux-4.14.18/arch/mips/ath79/Kconfig --- a/arch/mips/ath79/Kconfig
=================================================================== +++ b/arch/mips/ath79/Kconfig
--- linux-4.14.18.orig/arch/mips/ath79/Kconfig
+++ linux-4.14.18/arch/mips/ath79/Kconfig
@@ -1,52 +1,14 @@ @@ -1,52 +1,14 @@
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
if ATH79 if ATH79
@ -86,10 +82,8 @@ Index: linux-4.14.18/arch/mips/ath79/Kconfig
def_bool n def_bool n
endif endif
Index: linux-4.14.18/arch/mips/ath79/Makefile --- a/arch/mips/ath79/Makefile
=================================================================== +++ b/arch/mips/ath79/Makefile
--- linux-4.14.18.orig/arch/mips/ath79/Makefile
+++ linux-4.14.18/arch/mips/ath79/Makefile
@@ -11,13 +11,3 @@ @@ -11,13 +11,3 @@
obj-y := prom.o setup.o common.o clock.o obj-y := prom.o setup.o common.o clock.o
@ -104,10 +98,8 @@ Index: linux-4.14.18/arch/mips/ath79/Makefile
-obj-$(CONFIG_ATH79_DEV_SPI) += dev-spi.o -obj-$(CONFIG_ATH79_DEV_SPI) += dev-spi.o
-obj-$(CONFIG_ATH79_DEV_USB) += dev-usb.o -obj-$(CONFIG_ATH79_DEV_USB) += dev-usb.o
-obj-$(CONFIG_ATH79_DEV_WMAC) += dev-wmac.o -obj-$(CONFIG_ATH79_DEV_WMAC) += dev-wmac.o
Index: linux-4.14.18/arch/mips/pci/Makefile --- a/arch/mips/pci/Makefile
=================================================================== +++ b/arch/mips/pci/Makefile
--- linux-4.14.18.orig/arch/mips/pci/Makefile
+++ linux-4.14.18/arch/mips/pci/Makefile
@@ -23,7 +23,7 @@ obj-$(CONFIG_BCM63XX) += pci-bcm63xx.o @@ -23,7 +23,7 @@ obj-$(CONFIG_BCM63XX) += pci-bcm63xx.o
ops-bcm63xx.o ops-bcm63xx.o
obj-$(CONFIG_MIPS_ALCHEMY) += pci-alchemy.o obj-$(CONFIG_MIPS_ALCHEMY) += pci-alchemy.o

View file

@ -11,10 +11,8 @@ Signed-off-by: John Crispin <john@phrozen.org>
3 files changed, 10 insertions(+), 93 deletions(-) 3 files changed, 10 insertions(+), 93 deletions(-)
delete mode 100644 arch/mips/ath79/machtypes.h delete mode 100644 arch/mips/ath79/machtypes.h
Index: linux-4.14.18/arch/mips/Kconfig --- a/arch/mips/Kconfig
=================================================================== +++ b/arch/mips/Kconfig
--- linux-4.14.18.orig/arch/mips/Kconfig
+++ linux-4.14.18/arch/mips/Kconfig
@@ -196,7 +196,6 @@ config ATH79 @@ -196,7 +196,6 @@ config ATH79
select COMMON_CLK select COMMON_CLK
select CLKDEV_LOOKUP select CLKDEV_LOOKUP
@ -23,9 +21,7 @@ Index: linux-4.14.18/arch/mips/Kconfig
select SYS_HAS_CPU_MIPS32_R2 select SYS_HAS_CPU_MIPS32_R2
select SYS_HAS_EARLY_PRINTK select SYS_HAS_EARLY_PRINTK
select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_32BIT_KERNEL
Index: linux-4.14.18/arch/mips/ath79/machtypes.h --- a/arch/mips/ath79/machtypes.h
===================================================================
--- linux-4.14.18.orig/arch/mips/ath79/machtypes.h
+++ /dev/null +++ /dev/null
@@ -1,28 +0,0 @@ @@ -1,28 +0,0 @@
-/* -/*
@ -56,10 +52,8 @@ Index: linux-4.14.18/arch/mips/ath79/machtypes.h
-}; -};
- -
-#endif /* _ATH79_MACHTYPE_H */ -#endif /* _ATH79_MACHTYPE_H */
Index: linux-4.14.18/arch/mips/ath79/setup.c --- a/arch/mips/ath79/setup.c
=================================================================== +++ b/arch/mips/ath79/setup.c
--- linux-4.14.18.orig/arch/mips/ath79/setup.c
+++ linux-4.14.18/arch/mips/ath79/setup.c
@@ -32,7 +32,6 @@ @@ -32,7 +32,6 @@
#include <asm/mach-ath79/ath79.h> #include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h> #include <asm/mach-ath79/ar71xx_regs.h>
@ -166,10 +160,8 @@ Index: linux-4.14.18/arch/mips/ath79/setup.c
- "DTB", - "DTB",
- "Generic AR71XX/AR724X/AR913X based board (DT)", - "Generic AR71XX/AR724X/AR913X based board (DT)",
- NULL); - NULL);
Index: linux-4.14.18/arch/mips/ath79/clock.c --- a/arch/mips/ath79/clock.c
=================================================================== +++ b/arch/mips/ath79/clock.c
--- linux-4.14.18.orig/arch/mips/ath79/clock.c
+++ linux-4.14.18/arch/mips/ath79/clock.c
@@ -26,7 +26,6 @@ @@ -26,7 +26,6 @@
#include <asm/mach-ath79/ath79.h> #include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h> #include <asm/mach-ath79/ar71xx_regs.h>

View file

@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ clks[type] = clk; + clks[type] = clk;
+ clk_register_clkdev(clk, name, NULL); + clk_register_clkdev(clk, name, NULL);
+} +}
+
+static struct clk * __init ath79_set_clk(int type, unsigned long rate) +static struct clk * __init ath79_set_clk(int type, unsigned long rate)
+{ +{
+ const char *name = ath79_clk_name(type); + const char *name = ath79_clk_name(type);
@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+{ +{
+ const char *name = ath79_clk_name(type); + const char *name = ath79_clk_name(type);
+ struct clk *clk; + struct clk *clk;
+
+ clk = clk_register_fixed_factor(NULL, name, parent, 0, mult, div); + clk = clk_register_fixed_factor(NULL, name, parent, 0, mult, div);
+ __ath79_set_clk(type, name, clk); + __ath79_set_clk(type, name, clk);
return clk; return clk;

View file

@ -1,10 +1,8 @@
HACK: register the GPIO driver earlier to ensure that gpio_request calls HACK: register the GPIO driver earlier to ensure that gpio_request calls
from mach files succeed. from mach files succeed.
Index: linux-4.14.18/drivers/gpio/gpio-ath79.c --- a/drivers/gpio/gpio-ath79.c
=================================================================== +++ b/drivers/gpio/gpio-ath79.c
--- linux-4.14.18.orig/drivers/gpio/gpio-ath79.c
+++ linux-4.14.18/drivers/gpio/gpio-ath79.c
@@ -322,7 +322,11 @@ static struct platform_driver ath79_gpio @@ -322,7 +322,11 @@ static struct platform_driver ath79_gpio
.remove = ath79_gpio_remove, .remove = ath79_gpio_remove,
}; };

View file

@ -1,7 +1,5 @@
Index: linux-4.14.18/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
=================================================================== +++ b/drivers/mtd/Kconfig
--- linux-4.14.18.orig/drivers/mtd/Kconfig
+++ linux-4.14.18/drivers/mtd/Kconfig
@@ -194,6 +194,12 @@ config MTD_MYLOADER_PARTS @@ -194,6 +194,12 @@ config MTD_MYLOADER_PARTS
You will still need the parsing functions to be called by the driver You will still need the parsing functions to be called by the driver
for your particular device. It won't happen automatically. for your particular device. It won't happen automatically.
@ -15,10 +13,8 @@ Index: linux-4.14.18/drivers/mtd/Kconfig
comment "User Modules And Translation Layers" comment "User Modules And Translation Layers"
# #
Index: linux-4.14.18/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
=================================================================== +++ b/drivers/mtd/Makefile
--- linux-4.14.18.orig/drivers/mtd/Makefile
+++ linux-4.14.18/drivers/mtd/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63 @@ -18,6 +18,7 @@ obj-$(CONFIG_MTD_BCM63XX_PARTS) += bcm63
obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o obj-$(CONFIG_MTD_BCM47XX_PARTS) += bcm47xxpart.o
obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o

View file

@ -18,7 +18,7 @@
endif # NET_VENDOR_ATHEROS endif # NET_VENDOR_ATHEROS
--- a/drivers/net/ethernet/atheros/Makefile --- a/drivers/net/ethernet/atheros/Makefile
+++ b/drivers/net/ethernet/atheros/Makefile +++ b/drivers/net/ethernet/atheros/Makefile
@@ -2,6 +2,7 @@ @@ -3,6 +3,7 @@
# Makefile for the Atheros network device drivers. # Makefile for the Atheros network device drivers.
# #

View file

@ -1,6 +1,6 @@
--- a/drivers/Makefile --- a/drivers/Makefile
+++ b/drivers/Makefile +++ b/drivers/Makefile
@@ -77,8 +77,8 @@ obj-$(CONFIG_SCSI) += scsi/ @@ -83,8 +83,8 @@ obj-$(CONFIG_SCSI) += scsi/
obj-y += nvme/ obj-y += nvme/
obj-$(CONFIG_ATA) += ata/ obj-$(CONFIG_ATA) += ata/
obj-$(CONFIG_TARGET_CORE) += target/ obj-$(CONFIG_TARGET_CORE) += target/

View file

@ -10,7 +10,7 @@
} }
static void ath79_spi_disable(struct ath79_spi *sp) static void ath79_spi_disable(struct ath79_spi *sp)
@@ -205,6 +202,38 @@ static u32 ath79_spi_txrx_mode0(struct s @@ -204,6 +201,38 @@ static u32 ath79_spi_txrx_mode0(struct s
return ath79_spi_rr(sp, AR71XX_SPI_REG_RDS); return ath79_spi_rr(sp, AR71XX_SPI_REG_RDS);
} }
@ -49,9 +49,9 @@
static int ath79_spi_probe(struct platform_device *pdev) static int ath79_spi_probe(struct platform_device *pdev)
{ {
struct spi_master *master; struct spi_master *master;
@@ -234,6 +263,8 @@ static int ath79_spi_probe(struct platfo @@ -232,6 +261,8 @@ static int ath79_spi_probe(struct platfo
master->bus_num = pdata->bus_num;
master->num_chipselect = pdata->num_chipselect; master->num_chipselect = pdata->num_chipselect;
master->cs_gpios = pdata->cs_gpios;
} }
+ master->spi_flash_read = ath79_spi_read_flash_data; + master->spi_flash_read = ath79_spi_read_flash_data;
+ master->flash_read_supported = ath79_spi_flash_read_supported; + master->flash_read_supported = ath79_spi_flash_read_supported;

View file

@ -1,7 +1,5 @@
Index: linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
===================================================================
--- /dev/null --- /dev/null
+++ linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h +++ b/arch/mips/include/asm/mach-ath79/mangle-port.h
@@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
+/* +/*
+ * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org> + * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
@ -40,10 +38,8 @@ Index: linux-4.14.18/arch/mips/include/asm/mach-ath79/mangle-port.h
+# define __mem_ioswabq(a, x) cpu_to_le64(x) +# define __mem_ioswabq(a, x) cpu_to_le64(x)
+ +
+#endif /* __ASM_MACH_ATH79_MANGLE_PORT_H */ +#endif /* __ASM_MACH_ATH79_MANGLE_PORT_H */
Index: linux-4.14.18/arch/mips/pci/pci-ar71xx.c --- a/arch/mips/pci/pci-ar71xx.c
=================================================================== +++ b/arch/mips/pci/pci-ar71xx.c
--- linux-4.14.18.orig/arch/mips/pci/pci-ar71xx.c
+++ linux-4.14.18/arch/mips/pci/pci-ar71xx.c
@@ -73,6 +73,45 @@ static const u32 ar71xx_pci_read_mask[8] @@ -73,6 +73,45 @@ static const u32 ar71xx_pci_read_mask[8]
0, 0xff, 0xffff, 0, 0xffffffff, 0, 0, 0 0, 0xff, 0xffff, 0, 0xffffffff, 0, 0, 0
}; };

View file

@ -40,7 +40,7 @@
retval = ehci_handshake(ehci, &ehci->regs->command, retval = ehci_handshake(ehci, &ehci->regs->command,
--- a/drivers/usb/host/ehci.h --- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h
@@ -231,6 +231,10 @@ struct ehci_hcd { /* one per controlle @@ -232,6 +232,10 @@ struct ehci_hcd { /* one per controlle
unsigned need_oc_pp_cycle:1; /* MPC834X port power */ unsigned need_oc_pp_cycle:1; /* MPC834X port power */
unsigned imx28_write_fix:1; /* For Freescale i.MX28 */ unsigned imx28_write_fix:1; /* For Freescale i.MX28 */
unsigned ignore_oc:1; unsigned ignore_oc:1;
@ -72,7 +72,7 @@
#endif /* __USB_CORE_EHCI_PDRIVER_H */ #endif /* __USB_CORE_EHCI_PDRIVER_H */
--- a/drivers/usb/host/ehci-platform.c --- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c +++ b/drivers/usb/host/ehci-platform.c
@@ -52,6 +52,14 @@ struct ehci_platform_priv { @@ -53,6 +53,14 @@ struct ehci_platform_priv {
static const char hcd_name[] = "ehci-platform"; static const char hcd_name[] = "ehci-platform";
@ -87,7 +87,7 @@
static int ehci_platform_reset(struct usb_hcd *hcd) static int ehci_platform_reset(struct usb_hcd *hcd)
{ {
struct platform_device *pdev = to_platform_device(hcd->self.controller); struct platform_device *pdev = to_platform_device(hcd->self.controller);
@@ -261,6 +269,13 @@ static int ehci_platform_probe(struct pl @@ -270,6 +278,13 @@ static int ehci_platform_probe(struct pl
priv->reset_on_resume = true; priv->reset_on_resume = true;
if (pdata->ignore_oc) if (pdata->ignore_oc)
ehci->ignore_oc = 1; ehci->ignore_oc = 1;

View file

@ -12,10 +12,8 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
drivers/net/phy/mdio-bitbang.c | 9 +++++++++ drivers/net/phy/mdio-bitbang.c | 9 +++++++++
1 file changed, 9 insertions(+) 1 file changed, 9 insertions(+)
Index: linux-4.14.18/drivers/net/phy/mdio-bitbang.c --- a/drivers/net/phy/mdio-bitbang.c
=================================================================== +++ b/drivers/net/phy/mdio-bitbang.c
--- linux-4.14.18.orig/drivers/net/phy/mdio-bitbang.c
+++ linux-4.14.18/drivers/net/phy/mdio-bitbang.c
@@ -17,6 +17,7 @@ @@ -17,6 +17,7 @@
* kind, whether express or implied. * kind, whether express or implied.
*/ */

View file

@ -1,7 +1,5 @@
Index: linux-4.14.18/arch/mips/include/asm/checksum.h --- a/arch/mips/include/asm/checksum.h
=================================================================== +++ b/arch/mips/include/asm/checksum.h
--- linux-4.14.18.orig/arch/mips/include/asm/checksum.h
+++ linux-4.14.18/arch/mips/include/asm/checksum.h
@@ -134,26 +134,30 @@ static inline __sum16 ip_fast_csum(const @@ -134,26 +134,30 @@ static inline __sum16 ip_fast_csum(const
const unsigned int *stop = word + ihl; const unsigned int *stop = word + ihl;
unsigned int csum; unsigned int csum;
@ -118,10 +116,8 @@ Index: linux-4.14.18/arch/mips/include/asm/checksum.h
#include <asm-generic/checksum.h> #include <asm-generic/checksum.h>
#endif /* CONFIG_GENERIC_CSUM */ #endif /* CONFIG_GENERIC_CSUM */
Index: linux-4.14.18/include/uapi/linux/ip.h --- a/include/uapi/linux/ip.h
=================================================================== +++ b/include/uapi/linux/ip.h
--- linux-4.14.18.orig/include/uapi/linux/ip.h
+++ linux-4.14.18/include/uapi/linux/ip.h
@@ -103,7 +103,7 @@ struct iphdr { @@ -103,7 +103,7 @@ struct iphdr {
__be32 saddr; __be32 saddr;
__be32 daddr; __be32 daddr;
@ -131,10 +127,8 @@ Index: linux-4.14.18/include/uapi/linux/ip.h
struct ip_auth_hdr { struct ip_auth_hdr {
Index: linux-4.14.18/include/uapi/linux/ipv6.h --- a/include/uapi/linux/ipv6.h
=================================================================== +++ b/include/uapi/linux/ipv6.h
--- linux-4.14.18.orig/include/uapi/linux/ipv6.h
+++ linux-4.14.18/include/uapi/linux/ipv6.h
@@ -131,7 +131,7 @@ struct ipv6hdr { @@ -131,7 +131,7 @@ struct ipv6hdr {
struct in6_addr saddr; struct in6_addr saddr;
@ -144,10 +138,8 @@ Index: linux-4.14.18/include/uapi/linux/ipv6.h
/* index values for the variables in ipv6_devconf */ /* index values for the variables in ipv6_devconf */
Index: linux-4.14.18/include/uapi/linux/tcp.h --- a/include/uapi/linux/tcp.h
=================================================================== +++ b/include/uapi/linux/tcp.h
--- linux-4.14.18.orig/include/uapi/linux/tcp.h
+++ linux-4.14.18/include/uapi/linux/tcp.h
@@ -55,7 +55,7 @@ struct tcphdr { @@ -55,7 +55,7 @@ struct tcphdr {
__be16 window; __be16 window;
__sum16 check; __sum16 check;
@ -166,10 +158,8 @@ Index: linux-4.14.18/include/uapi/linux/tcp.h
#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3]) #define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
Index: linux-4.14.18/include/uapi/linux/udp.h --- a/include/uapi/linux/udp.h
=================================================================== +++ b/include/uapi/linux/udp.h
--- linux-4.14.18.orig/include/uapi/linux/udp.h
+++ linux-4.14.18/include/uapi/linux/udp.h
@@ -25,7 +25,7 @@ struct udphdr { @@ -25,7 +25,7 @@ struct udphdr {
__be16 dest; __be16 dest;
__be16 len; __be16 len;
@ -179,10 +169,8 @@ Index: linux-4.14.18/include/uapi/linux/udp.h
/* UDP socket options */ /* UDP socket options */
#define UDP_CORK 1 /* Never send partially complete segments */ #define UDP_CORK 1 /* Never send partially complete segments */
Index: linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c --- a/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
=================================================================== +++ b/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
--- linux-4.14.18.orig/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
+++ linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
@@ -48,8 +48,8 @@ static bool ipv4_pkt_to_tuple(const stru @@ -48,8 +48,8 @@ static bool ipv4_pkt_to_tuple(const stru
if (ap == NULL) if (ap == NULL)
return false; return false;
@ -194,10 +182,8 @@ Index: linux-4.14.18/net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c
return true; return true;
} }
Index: linux-4.14.18/include/uapi/linux/icmp.h --- a/include/uapi/linux/icmp.h
=================================================================== +++ b/include/uapi/linux/icmp.h
--- linux-4.14.18.orig/include/uapi/linux/icmp.h
+++ linux-4.14.18/include/uapi/linux/icmp.h
@@ -82,7 +82,7 @@ struct icmphdr { @@ -82,7 +82,7 @@ struct icmphdr {
} frag; } frag;
__u8 reserved[4]; __u8 reserved[4];
@ -207,10 +193,8 @@ Index: linux-4.14.18/include/uapi/linux/icmp.h
/* /*
Index: linux-4.14.18/include/uapi/linux/in6.h --- a/include/uapi/linux/in6.h
=================================================================== +++ b/include/uapi/linux/in6.h
--- linux-4.14.18.orig/include/uapi/linux/in6.h
+++ linux-4.14.18/include/uapi/linux/in6.h
@@ -43,7 +43,7 @@ struct in6_addr { @@ -43,7 +43,7 @@ struct in6_addr {
#define s6_addr16 in6_u.u6_addr16 #define s6_addr16 in6_u.u6_addr16
#define s6_addr32 in6_u.u6_addr32 #define s6_addr32 in6_u.u6_addr32
@ -220,10 +204,8 @@ Index: linux-4.14.18/include/uapi/linux/in6.h
#endif /* __UAPI_DEF_IN6_ADDR */ #endif /* __UAPI_DEF_IN6_ADDR */
#if __UAPI_DEF_SOCKADDR_IN6 #if __UAPI_DEF_SOCKADDR_IN6
Index: linux-4.14.18/net/ipv6/tcp_ipv6.c --- a/net/ipv6/tcp_ipv6.c
=================================================================== +++ b/net/ipv6/tcp_ipv6.c
--- linux-4.14.18.orig/net/ipv6/tcp_ipv6.c
+++ linux-4.14.18/net/ipv6/tcp_ipv6.c
@@ -39,6 +39,7 @@ @@ -39,6 +39,7 @@
#include <linux/ipsec.h> #include <linux/ipsec.h>
#include <linux/times.h> #include <linux/times.h>
@ -247,10 +229,8 @@ Index: linux-4.14.18/net/ipv6/tcp_ipv6.c
} }
#ifdef CONFIG_TCP_MD5SIG #ifdef CONFIG_TCP_MD5SIG
Index: linux-4.14.18/include/linux/ipv6.h --- a/include/linux/ipv6.h
=================================================================== +++ b/include/linux/ipv6.h
--- linux-4.14.18.orig/include/linux/ipv6.h
+++ linux-4.14.18/include/linux/ipv6.h
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3) #define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
@ -259,11 +239,9 @@ Index: linux-4.14.18/include/linux/ipv6.h
/* /*
* This structure contains configuration options per IPv6 link. * This structure contains configuration options per IPv6 link.
*/ */
Index: linux-4.14.18/net/ipv6/datagram.c --- a/net/ipv6/datagram.c
=================================================================== +++ b/net/ipv6/datagram.c
--- linux-4.14.18.orig/net/ipv6/datagram.c @@ -485,7 +485,7 @@ int ipv6_recv_error(struct sock *sk, str
+++ linux-4.14.18/net/ipv6/datagram.c
@@ -478,7 +478,7 @@ int ipv6_recv_error(struct sock *sk, str
ipv6_iface_scope_id(&sin->sin6_addr, ipv6_iface_scope_id(&sin->sin6_addr,
IP6CB(skb)->iif); IP6CB(skb)->iif);
} else { } else {
@ -272,7 +250,7 @@ Index: linux-4.14.18/net/ipv6/datagram.c
&sin->sin6_addr); &sin->sin6_addr);
sin->sin6_scope_id = 0; sin->sin6_scope_id = 0;
} }
@@ -826,12 +826,12 @@ int ip6_datagram_send_ctl(struct net *ne @@ -833,12 +833,12 @@ int ip6_datagram_send_ctl(struct net *ne
} }
if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@ -287,11 +265,9 @@ Index: linux-4.14.18/net/ipv6/datagram.c
break; break;
case IPV6_2292HOPOPTS: case IPV6_2292HOPOPTS:
Index: linux-4.14.18/net/ipv6/ip6_gre.c --- a/net/ipv6/ip6_gre.c
=================================================================== +++ b/net/ipv6/ip6_gre.c
--- linux-4.14.18.orig/net/ipv6/ip6_gre.c @@ -397,7 +397,7 @@ static void ip6gre_err(struct sk_buff *s
+++ linux-4.14.18/net/ipv6/ip6_gre.c
@@ -395,7 +395,7 @@ static void ip6gre_err(struct sk_buff *s
return; return;
ipv6h = (const struct ipv6hdr *)skb->data; ipv6h = (const struct ipv6hdr *)skb->data;
greh = (const struct gre_base_hdr *)(skb->data + offset); greh = (const struct gre_base_hdr *)(skb->data + offset);
@ -300,10 +276,8 @@ Index: linux-4.14.18/net/ipv6/ip6_gre.c
t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr,
key, greh->protocol); key, greh->protocol);
Index: linux-4.14.18/net/ipv6/exthdrs.c --- a/net/ipv6/exthdrs.c
=================================================================== +++ b/net/ipv6/exthdrs.c
--- linux-4.14.18.orig/net/ipv6/exthdrs.c
+++ linux-4.14.18/net/ipv6/exthdrs.c
@@ -733,7 +733,7 @@ static bool ipv6_hop_jumbo(struct sk_buf @@ -733,7 +733,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop; goto drop;
} }
@ -313,10 +287,8 @@ Index: linux-4.14.18/net/ipv6/exthdrs.c
if (pkt_len <= IPV6_MAXPLEN) { if (pkt_len <= IPV6_MAXPLEN) {
__IP6_INC_STATS(net, ipv6_skb_idev(skb), __IP6_INC_STATS(net, ipv6_skb_idev(skb),
IPSTATS_MIB_INHDRERRORS); IPSTATS_MIB_INHDRERRORS);
Index: linux-4.14.18/include/linux/types.h --- a/include/linux/types.h
=================================================================== +++ b/include/linux/types.h
--- linux-4.14.18.orig/include/linux/types.h
+++ linux-4.14.18/include/linux/types.h
@@ -229,5 +229,11 @@ struct callback_head { @@ -229,5 +229,11 @@ struct callback_head {
typedef void (*rcu_callback_t)(struct rcu_head *head); typedef void (*rcu_callback_t)(struct rcu_head *head);
typedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func); typedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func);
@ -329,10 +301,8 @@ Index: linux-4.14.18/include/linux/types.h
+ +
#endif /* __ASSEMBLY__ */ #endif /* __ASSEMBLY__ */
#endif /* _LINUX_TYPES_H */ #endif /* _LINUX_TYPES_H */
Index: linux-4.14.18/net/ipv4/af_inet.c --- a/net/ipv4/af_inet.c
=================================================================== +++ b/net/ipv4/af_inet.c
--- linux-4.14.18.orig/net/ipv4/af_inet.c
+++ linux-4.14.18/net/ipv4/af_inet.c
@@ -1351,8 +1351,8 @@ struct sk_buff **inet_gro_receive(struct @@ -1351,8 +1351,8 @@ struct sk_buff **inet_gro_receive(struct
if (unlikely(ip_fast_csum((u8 *)iph, 5))) if (unlikely(ip_fast_csum((u8 *)iph, 5)))
goto out_unlock; goto out_unlock;
@ -344,11 +314,9 @@ Index: linux-4.14.18/net/ipv4/af_inet.c
id >>= 16; id >>= 16;
for (p = *head; p; p = p->next) { for (p = *head; p; p = p->next) {
Index: linux-4.14.18/net/ipv4/route.c --- a/net/ipv4/route.c
=================================================================== +++ b/net/ipv4/route.c
--- linux-4.14.18.orig/net/ipv4/route.c @@ -465,7 +465,7 @@ static struct neighbour *ipv4_neigh_look
+++ linux-4.14.18/net/ipv4/route.c
@@ -462,7 +462,7 @@ static struct neighbour *ipv4_neigh_look
else if (skb) else if (skb)
pkey = &ip_hdr(skb)->daddr; pkey = &ip_hdr(skb)->daddr;
@ -357,10 +325,8 @@ Index: linux-4.14.18/net/ipv4/route.c
if (n) if (n)
return n; return n;
return neigh_create(&arp_tbl, pkey, dev); return neigh_create(&arp_tbl, pkey, dev);
Index: linux-4.14.18/net/ipv4/tcp_output.c --- a/net/ipv4/tcp_output.c
=================================================================== +++ b/net/ipv4/tcp_output.c
--- linux-4.14.18.orig/net/ipv4/tcp_output.c
+++ linux-4.14.18/net/ipv4/tcp_output.c
@@ -449,48 +449,53 @@ static void tcp_options_write(__be32 *pt @@ -449,48 +449,53 @@ static void tcp_options_write(__be32 *pt
u16 options = opts->options; /* mungable copy */ u16 options = opts->options; /* mungable copy */
@ -480,10 +446,8 @@ Index: linux-4.14.18/net/ipv4/tcp_output.c
} }
memcpy(p, foc->val, foc->len); memcpy(p, foc->val, foc->len);
Index: linux-4.14.18/include/uapi/linux/igmp.h --- a/include/uapi/linux/igmp.h
=================================================================== +++ b/include/uapi/linux/igmp.h
--- linux-4.14.18.orig/include/uapi/linux/igmp.h
+++ linux-4.14.18/include/uapi/linux/igmp.h
@@ -33,7 +33,7 @@ struct igmphdr { @@ -33,7 +33,7 @@ struct igmphdr {
__u8 code; /* For newer IGMP */ __u8 code; /* For newer IGMP */
__sum16 csum; __sum16 csum;
@ -520,10 +484,8 @@ Index: linux-4.14.18/include/uapi/linux/igmp.h
#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */ #define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */
#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */ #define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */
Index: linux-4.14.18/net/core/flow_dissector.c --- a/net/core/flow_dissector.c
=================================================================== +++ b/net/core/flow_dissector.c
--- linux-4.14.18.orig/net/core/flow_dissector.c
+++ linux-4.14.18/net/core/flow_dissector.c
@@ -108,7 +108,7 @@ __be32 __skb_flow_get_ports(const struct @@ -108,7 +108,7 @@ __be32 __skb_flow_get_ports(const struct
ports = __skb_header_pointer(skb, thoff + poff, ports = __skb_header_pointer(skb, thoff + poff,
sizeof(_ports), data, hlen, &_ports); sizeof(_ports), data, hlen, &_ports);
@ -533,10 +495,8 @@ Index: linux-4.14.18/net/core/flow_dissector.c
} }
return 0; return 0;
Index: linux-4.14.18/include/uapi/linux/icmpv6.h --- a/include/uapi/linux/icmpv6.h
=================================================================== +++ b/include/uapi/linux/icmpv6.h
--- linux-4.14.18.orig/include/uapi/linux/icmpv6.h
+++ linux-4.14.18/include/uapi/linux/icmpv6.h
@@ -77,7 +77,7 @@ struct icmp6hdr { @@ -77,7 +77,7 @@ struct icmp6hdr {
#define icmp6_addrconf_other icmp6_dataun.u_nd_ra.other #define icmp6_addrconf_other icmp6_dataun.u_nd_ra.other
#define icmp6_rt_lifetime icmp6_dataun.u_nd_ra.rt_lifetime #define icmp6_rt_lifetime icmp6_dataun.u_nd_ra.rt_lifetime
@ -546,10 +506,8 @@ Index: linux-4.14.18/include/uapi/linux/icmpv6.h
#define ICMPV6_ROUTER_PREF_LOW 0x3 #define ICMPV6_ROUTER_PREF_LOW 0x3
Index: linux-4.14.18/include/net/ndisc.h --- a/include/net/ndisc.h
=================================================================== +++ b/include/net/ndisc.h
--- linux-4.14.18.orig/include/net/ndisc.h
+++ linux-4.14.18/include/net/ndisc.h
@@ -89,7 +89,7 @@ struct ra_msg { @@ -89,7 +89,7 @@ struct ra_msg {
struct icmp6hdr icmph; struct icmp6hdr icmph;
__be32 reachable_time; __be32 reachable_time;
@ -574,10 +532,8 @@ Index: linux-4.14.18/include/net/ndisc.h
} }
static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey) static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey)
Index: linux-4.14.18/net/sched/cls_u32.c --- a/net/sched/cls_u32.c
=================================================================== +++ b/net/sched/cls_u32.c
--- linux-4.14.18.orig/net/sched/cls_u32.c
+++ linux-4.14.18/net/sched/cls_u32.c
@@ -165,7 +165,7 @@ next_knode: @@ -165,7 +165,7 @@ next_knode:
data = skb_header_pointer(skb, toff, 4, &hdata); data = skb_header_pointer(skb, toff, 4, &hdata);
if (!data) if (!data)
@ -598,10 +554,8 @@ Index: linux-4.14.18/net/sched/cls_u32.c
} }
if (!(n->sel.flags & (TC_U32_VAROFFSET | TC_U32_OFFSET | TC_U32_EAT))) if (!(n->sel.flags & (TC_U32_VAROFFSET | TC_U32_OFFSET | TC_U32_EAT)))
goto next_ht; goto next_ht;
Index: linux-4.14.18/net/ipv6/ip6_offload.c --- a/net/ipv6/ip6_offload.c
=================================================================== +++ b/net/ipv6/ip6_offload.c
--- linux-4.14.18.orig/net/ipv6/ip6_offload.c
+++ linux-4.14.18/net/ipv6/ip6_offload.c
@@ -220,7 +220,7 @@ static struct sk_buff **ipv6_gro_receive @@ -220,7 +220,7 @@ static struct sk_buff **ipv6_gro_receive
continue; continue;
@ -611,10 +565,8 @@ Index: linux-4.14.18/net/ipv6/ip6_offload.c
/* All fields must match except length and Traffic Class. /* All fields must match except length and Traffic Class.
* XXX skbs on the gro_list have all been parsed and pulled * XXX skbs on the gro_list have all been parsed and pulled
Index: linux-4.14.18/include/net/addrconf.h --- a/include/net/addrconf.h
=================================================================== +++ b/include/net/addrconf.h
--- linux-4.14.18.orig/include/net/addrconf.h
+++ linux-4.14.18/include/net/addrconf.h
@@ -47,7 +47,7 @@ struct prefix_info { @@ -47,7 +47,7 @@ struct prefix_info {
__be32 reserved2; __be32 reserved2;
@ -624,10 +576,8 @@ Index: linux-4.14.18/include/net/addrconf.h
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <net/if_inet6.h> #include <net/if_inet6.h>
Index: linux-4.14.18/include/net/inet_ecn.h --- a/include/net/inet_ecn.h
=================================================================== +++ b/include/net/inet_ecn.h
--- linux-4.14.18.orig/include/net/inet_ecn.h
+++ linux-4.14.18/include/net/inet_ecn.h
@@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct @@ -125,9 +125,9 @@ static inline int IP6_ECN_set_ce(struct
if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
return 0; return 0;
@ -649,10 +599,8 @@ Index: linux-4.14.18/include/net/inet_ecn.h
} }
static inline void ipv6_copy_dscp(unsigned int dscp, struct ipv6hdr *inner) static inline void ipv6_copy_dscp(unsigned int dscp, struct ipv6hdr *inner)
Index: linux-4.14.18/include/net/ipv6.h --- a/include/net/ipv6.h
=================================================================== +++ b/include/net/ipv6.h
--- linux-4.14.18.orig/include/net/ipv6.h
+++ linux-4.14.18/include/net/ipv6.h
@@ -108,7 +108,7 @@ struct frag_hdr { @@ -108,7 +108,7 @@ struct frag_hdr {
__u8 reserved; __u8 reserved;
__be16 frag_off; __be16 frag_off;
@ -731,10 +679,8 @@ Index: linux-4.14.18/include/net/ipv6.h
} }
static inline u8 ip6_tclass(__be32 flowinfo) static inline u8 ip6_tclass(__be32 flowinfo)
Index: linux-4.14.18/include/net/secure_seq.h --- a/include/net/secure_seq.h
=================================================================== +++ b/include/net/secure_seq.h
--- linux-4.14.18.orig/include/net/secure_seq.h
+++ linux-4.14.18/include/net/secure_seq.h
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
#define _NET_SECURE_SEQ #define _NET_SECURE_SEQ
@ -743,10 +689,8 @@ Index: linux-4.14.18/include/net/secure_seq.h
u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport); u32 secure_ipv4_port_ephemeral(__be32 saddr, __be32 daddr, __be16 dport);
u32 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr, u32 secure_ipv6_port_ephemeral(const __be32 *saddr, const __be32 *daddr,
Index: linux-4.14.18/include/uapi/linux/in.h --- a/include/uapi/linux/in.h
=================================================================== +++ b/include/uapi/linux/in.h
--- linux-4.14.18.orig/include/uapi/linux/in.h
+++ linux-4.14.18/include/uapi/linux/in.h
@@ -84,7 +84,7 @@ enum { @@ -84,7 +84,7 @@ enum {
/* Internet address. */ /* Internet address. */
struct in_addr { struct in_addr {
@ -756,10 +700,8 @@ Index: linux-4.14.18/include/uapi/linux/in.h
#endif #endif
#define IP_TOS 1 #define IP_TOS 1
Index: linux-4.14.18/net/ipv6/ip6_fib.c --- a/net/ipv6/ip6_fib.c
=================================================================== +++ b/net/ipv6/ip6_fib.c
--- linux-4.14.18.orig/net/ipv6/ip6_fib.c
+++ linux-4.14.18/net/ipv6/ip6_fib.c
@@ -137,7 +137,7 @@ static __be32 addr_bit_set(const void *t @@ -137,7 +137,7 @@ static __be32 addr_bit_set(const void *t
* See include/asm-generic/bitops/le.h. * See include/asm-generic/bitops/le.h.
*/ */
@ -769,11 +711,9 @@ Index: linux-4.14.18/net/ipv6/ip6_fib.c
} }
static struct fib6_node *node_alloc(void) static struct fib6_node *node_alloc(void)
Index: linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c --- a/net/netfilter/nf_conntrack_proto_tcp.c
=================================================================== +++ b/net/netfilter/nf_conntrack_proto_tcp.c
--- linux-4.14.18.orig/net/netfilter/nf_conntrack_proto_tcp.c @@ -447,7 +447,7 @@ static void tcp_sack(const struct sk_buf
+++ linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
@@ -444,7 +444,7 @@ static void tcp_sack(const struct sk_buf
/* Fast path for timestamp-only option */ /* Fast path for timestamp-only option */
if (length == TCPOLEN_TSTAMP_ALIGNED if (length == TCPOLEN_TSTAMP_ALIGNED
@ -782,11 +722,9 @@ Index: linux-4.14.18/net/netfilter/nf_conntrack_proto_tcp.c
| (TCPOPT_NOP << 16) | (TCPOPT_NOP << 16)
| (TCPOPT_TIMESTAMP << 8) | (TCPOPT_TIMESTAMP << 8)
| TCPOLEN_TIMESTAMP)) | TCPOLEN_TIMESTAMP))
Index: linux-4.14.18/net/xfrm/xfrm_input.c --- a/net/xfrm/xfrm_input.c
=================================================================== +++ b/net/xfrm/xfrm_input.c
--- linux-4.14.18.orig/net/xfrm/xfrm_input.c @@ -187,8 +187,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
+++ linux-4.14.18/net/xfrm/xfrm_input.c
@@ -171,8 +171,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
if (!pskb_may_pull(skb, hlen)) if (!pskb_may_pull(skb, hlen))
return -EINVAL; return -EINVAL;
@ -797,11 +735,9 @@ Index: linux-4.14.18/net/xfrm/xfrm_input.c
return 0; return 0;
} }
EXPORT_SYMBOL(xfrm_parse_spi); EXPORT_SYMBOL(xfrm_parse_spi);
Index: linux-4.14.18/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
=================================================================== +++ b/net/ipv4/tcp_input.c
--- linux-4.14.18.orig/net/ipv4/tcp_input.c @@ -3842,14 +3842,16 @@ static bool tcp_parse_aligned_timestamp(
+++ linux-4.14.18/net/ipv4/tcp_input.c
@@ -3851,14 +3851,16 @@ static bool tcp_parse_aligned_timestamp(
{ {
const __be32 *ptr = (const __be32 *)(th + 1); const __be32 *ptr = (const __be32 *)(th + 1);
@ -823,10 +759,8 @@ Index: linux-4.14.18/net/ipv4/tcp_input.c
else else
tp->rx_opt.rcv_tsecr = 0; tp->rx_opt.rcv_tsecr = 0;
return true; return true;
Index: linux-4.14.18/include/uapi/linux/if_pppox.h --- a/include/uapi/linux/if_pppox.h
=================================================================== +++ b/include/uapi/linux/if_pppox.h
--- linux-4.14.18.orig/include/uapi/linux/if_pppox.h
+++ linux-4.14.18/include/uapi/linux/if_pppox.h
@@ -51,6 +51,7 @@ struct pppoe_addr { @@ -51,6 +51,7 @@ struct pppoe_addr {
*/ */
struct pptp_addr { struct pptp_addr {
@ -835,10 +769,8 @@ Index: linux-4.14.18/include/uapi/linux/if_pppox.h
struct in_addr sin_addr; struct in_addr sin_addr;
}; };
Index: linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c --- a/net/ipv6/netfilter/nf_log_ipv6.c
=================================================================== +++ b/net/ipv6/netfilter/nf_log_ipv6.c
--- linux-4.14.18.orig/net/ipv6/netfilter/nf_log_ipv6.c
+++ linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
@@ -66,9 +66,9 @@ static void dump_ipv6_packet(struct nf_l @@ -66,9 +66,9 @@ static void dump_ipv6_packet(struct nf_l
/* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */ /* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */
nf_log_buf_add(m, "LEN=%zu TC=%u HOPLIMIT=%u FLOWLBL=%u ", nf_log_buf_add(m, "LEN=%zu TC=%u HOPLIMIT=%u FLOWLBL=%u ",
@ -851,10 +783,8 @@ Index: linux-4.14.18/net/ipv6/netfilter/nf_log_ipv6.c
fragment = 0; fragment = 0;
ptr = ip6hoff + sizeof(struct ipv6hdr); ptr = ip6hoff + sizeof(struct ipv6hdr);
Index: linux-4.14.18/include/net/neighbour.h --- a/include/net/neighbour.h
=================================================================== +++ b/include/net/neighbour.h
--- linux-4.14.18.orig/include/net/neighbour.h
+++ linux-4.14.18/include/net/neighbour.h
@@ -265,8 +265,10 @@ static inline bool neigh_key_eq128(const @@ -265,8 +265,10 @@ static inline bool neigh_key_eq128(const
const u32 *n32 = (const u32 *)n->primary_key; const u32 *n32 = (const u32 *)n->primary_key;
const u32 *p32 = pkey; const u32 *p32 = pkey;
@ -868,10 +798,8 @@ Index: linux-4.14.18/include/net/neighbour.h
} }
static inline struct neighbour *___neigh_lookup_noref( static inline struct neighbour *___neigh_lookup_noref(
Index: linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h --- a/include/uapi/linux/netfilter_arp/arp_tables.h
=================================================================== +++ b/include/uapi/linux/netfilter_arp/arp_tables.h
--- linux-4.14.18.orig/include/uapi/linux/netfilter_arp/arp_tables.h
+++ linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
@@ -70,7 +70,7 @@ struct arpt_arp { @@ -70,7 +70,7 @@ struct arpt_arp {
__u8 flags; __u8 flags;
/* Inverse flags */ /* Inverse flags */
@ -881,10 +809,8 @@ Index: linux-4.14.18/include/uapi/linux/netfilter_arp/arp_tables.h
/* Values for "flag" field in struct arpt_ip (general arp structure). /* Values for "flag" field in struct arpt_ip (general arp structure).
* No flags defined yet. * No flags defined yet.
Index: linux-4.14.18/net/core/utils.c --- a/net/core/utils.c
=================================================================== +++ b/net/core/utils.c
--- linux-4.14.18.orig/net/core/utils.c
+++ linux-4.14.18/net/core/utils.c
@@ -424,8 +424,14 @@ void inet_proto_csum_replace16(__sum16 * @@ -424,8 +424,14 @@ void inet_proto_csum_replace16(__sum16 *
bool pseudohdr) bool pseudohdr)
{ {
@ -902,10 +828,8 @@ Index: linux-4.14.18/net/core/utils.c
}; };
if (skb->ip_summed != CHECKSUM_PARTIAL) { if (skb->ip_summed != CHECKSUM_PARTIAL) {
*sum = csum_fold(csum_partial(diff, sizeof(diff), *sum = csum_fold(csum_partial(diff, sizeof(diff),
Index: linux-4.14.18/include/linux/etherdevice.h --- a/include/linux/etherdevice.h
=================================================================== +++ b/include/linux/etherdevice.h
--- linux-4.14.18.orig/include/linux/etherdevice.h
+++ linux-4.14.18/include/linux/etherdevice.h
@@ -480,7 +480,7 @@ static inline bool is_etherdev_addr(cons @@ -480,7 +480,7 @@ static inline bool is_etherdev_addr(cons
* @b: Pointer to Ethernet header * @b: Pointer to Ethernet header
* *
@ -932,10 +856,8 @@ Index: linux-4.14.18/include/linux/etherdevice.h
#endif #endif
} }
Index: linux-4.14.18/net/ipv4/tcp_offload.c --- a/net/ipv4/tcp_offload.c
=================================================================== +++ b/net/ipv4/tcp_offload.c
--- linux-4.14.18.orig/net/ipv4/tcp_offload.c
+++ linux-4.14.18/net/ipv4/tcp_offload.c
@@ -226,7 +226,7 @@ struct sk_buff **tcp_gro_receive(struct @@ -226,7 +226,7 @@ struct sk_buff **tcp_gro_receive(struct
th2 = tcp_hdr(p); th2 = tcp_hdr(p);
@ -956,11 +878,9 @@ Index: linux-4.14.18/net/ipv4/tcp_offload.c
/* When we receive our second frame we can made a decision on if we /* When we receive our second frame we can made a decision on if we
* continue this flow as an atomic flow with a fixed ID or if we use * continue this flow as an atomic flow with a fixed ID or if we use
Index: linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c --- a/net/ipv6/netfilter/ip6table_mangle.c
=================================================================== +++ b/net/ipv6/netfilter/ip6table_mangle.c
--- linux-4.14.18.orig/net/ipv6/netfilter/ip6table_mangle.c @@ -50,7 +50,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
+++ linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
@@ -58,7 +58,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
hop_limit = ipv6_hdr(skb)->hop_limit; hop_limit = ipv6_hdr(skb)->hop_limit;
/* flowlabel and prio (includes version, which shouldn't change either */ /* flowlabel and prio (includes version, which shouldn't change either */
@ -969,7 +889,7 @@ Index: linux-4.14.18/net/ipv6/netfilter/ip6table_mangle.c
ret = ip6t_do_table(skb, state, state->net->ipv6.ip6table_mangle); ret = ip6t_do_table(skb, state, state->net->ipv6.ip6table_mangle);
@@ -67,7 +67,7 @@ ip6t_mangle_out(struct sk_buff *skb, con @@ -59,7 +59,7 @@ ip6t_mangle_out(struct sk_buff *skb, con
!ipv6_addr_equal(&ipv6_hdr(skb)->daddr, &daddr) || !ipv6_addr_equal(&ipv6_hdr(skb)->daddr, &daddr) ||
skb->mark != mark || skb->mark != mark ||
ipv6_hdr(skb)->hop_limit != hop_limit || ipv6_hdr(skb)->hop_limit != hop_limit ||

View file

@ -18,7 +18,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
--- a/drivers/tty/serial/earlycon.c --- a/drivers/tty/serial/earlycon.c
+++ b/drivers/tty/serial/earlycon.c +++ b/drivers/tty/serial/earlycon.c
@@ -283,12 +283,7 @@ int __init of_setup_earlycon(const struc @@ -285,12 +285,7 @@ int __init of_setup_earlycon(const struc
} }
} }

View file

@ -396,7 +396,7 @@
if (dc_lsize == 0) if (dc_lsize == 0)
r4k_blast_dcache = (void *)cache_noop; r4k_blast_dcache = (void *)cache_noop;
else if (dc_lsize == 16) else if (dc_lsize == 16)
@@ -952,6 +964,8 @@ static void local_r4k_flush_cache_sigtra @@ -955,6 +967,8 @@ static void local_r4k_flush_cache_sigtra
} }
R4600_HIT_CACHEOP_WAR_IMPL; R4600_HIT_CACHEOP_WAR_IMPL;
@ -405,7 +405,7 @@
if (!cpu_has_ic_fills_f_dc) { if (!cpu_has_ic_fills_f_dc) {
if (dc_lsize) if (dc_lsize)
vaddr ? flush_dcache_line(addr & ~(dc_lsize - 1)) vaddr ? flush_dcache_line(addr & ~(dc_lsize - 1))
@@ -1846,6 +1860,17 @@ static void coherency_setup(void) @@ -1849,6 +1863,17 @@ static void coherency_setup(void)
* silly idea of putting something else there ... * silly idea of putting something else there ...
*/ */
switch (current_cpu_type()) { switch (current_cpu_type()) {
@ -423,7 +423,7 @@
case CPU_R4000PC: case CPU_R4000PC:
case CPU_R4000SC: case CPU_R4000SC:
case CPU_R4000MC: case CPU_R4000MC:
@@ -1892,6 +1917,15 @@ void r4k_cache_init(void) @@ -1895,6 +1920,15 @@ void r4k_cache_init(void)
extern void build_copy_page(void); extern void build_copy_page(void);
struct cpuinfo_mips *c = &current_cpu_data; struct cpuinfo_mips *c = &current_cpu_data;
@ -439,7 +439,7 @@
probe_pcache(); probe_pcache();
probe_vcache(); probe_vcache();
setup_scache(); setup_scache();
@@ -1969,7 +2003,15 @@ void r4k_cache_init(void) @@ -1972,7 +2006,15 @@ void r4k_cache_init(void)
*/ */
local_r4k___flush_cache_all(NULL); local_r4k___flush_cache_all(NULL);

View file

@ -42,7 +42,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -961,8 +961,7 @@ int add_mtd_partitions(struct mtd_info * @@ -948,8 +948,7 @@ int add_mtd_partitions(struct mtd_info *
add_mtd_device(&slave->mtd); add_mtd_device(&slave->mtd);
mtd_partition_split(master, slave); mtd_partition_split(master, slave);
mtd_add_partition_attrs(slave); mtd_add_partition_attrs(slave);
@ -52,7 +52,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
cur_offset = slave->offset + slave->mtd.size; cur_offset = slave->offset + slave->mtd.size;
} }
@@ -1134,7 +1133,9 @@ static int mtd_part_of_parse(struct mtd_ @@ -1121,7 +1120,9 @@ static int mtd_part_of_parse(struct mtd_
const char *fixed = "fixed-partitions"; const char *fixed = "fixed-partitions";
int ret, err = 0; int ret, err = 0;
@ -63,7 +63,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
of_property_for_each_string(np, "compatible", prop, compat) { of_property_for_each_string(np, "compatible", prop, compat) {
parser = mtd_part_get_compatible_parser(compat); parser = mtd_part_get_compatible_parser(compat);
if (!parser) if (!parser)
@@ -1206,8 +1207,12 @@ int parse_mtd_partitions(struct mtd_info @@ -1190,8 +1191,12 @@ int parse_mtd_partitions(struct mtd_info
types = types_of; types = types_of;
} }

View file

@ -11,11 +11,9 @@ Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
drivers/usb/host/fotg210-hcd.c | 4 ++++ drivers/usb/host/fotg210-hcd.c | 4 ++++
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-hcd.c
index 2acc51b0be5a..bc9efb49adc7 100644
--- a/drivers/usb/host/fotg210-hcd.c --- a/drivers/usb/host/fotg210-hcd.c
+++ b/drivers/usb/host/fotg210-hcd.c +++ b/drivers/usb/host/fotg210-hcd.c
@@ -1658,6 +1658,10 @@ static int fotg210_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, @@ -1658,6 +1658,10 @@ static int fotg210_hub_control(struct us
/* see what we found out */ /* see what we found out */
temp = check_reset_complete(fotg210, wIndex, status_reg, temp = check_reset_complete(fotg210, wIndex, status_reg,
fotg210_readl(fotg210, status_reg)); fotg210_readl(fotg210, status_reg));
@ -26,6 +24,3 @@ index 2acc51b0be5a..bc9efb49adc7 100644
} }
if (!(temp & (PORT_RESUME|PORT_RESET))) { if (!(temp & (PORT_RESUME|PORT_RESET))) {
--
2.16.2

View file

@ -14,8 +14,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/boot/dts/gemini-dlink-dns-313.dts | 1 + arch/arm/boot/dts/gemini-dlink-dns-313.dts | 1 +
2 files changed, 3 insertions(+), 1 deletion(-) 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
index a39914dece98..840f4a32f37c 100644
--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
@@ -20,7 +20,8 @@ @@ -20,7 +20,8 @@
@ -28,8 +26,6 @@ index a39914dece98..840f4a32f37c 100644
}; };
gpio_keys { gpio_keys {
diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
index 4904f1251671..685719a0b8c0 100644
--- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
@@ -26,6 +26,7 @@ @@ -26,6 +26,7 @@
@ -40,6 +36,3 @@ index 4904f1251671..685719a0b8c0 100644
stdout-path = "uart0:19200n8"; stdout-path = "uart0:19200n8";
}; };
--
2.14.3

View file

@ -20,8 +20,6 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/boot/dts/gemini-wbd222.dts | 7 ++++ arch/arm/boot/dts/gemini-wbd222.dts | 7 ++++
2 files changed, 69 insertions(+) 2 files changed, 69 insertions(+)
diff --git a/arch/arm/boot/dts/gemini-dlink-dns-313.dts b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
index 685719a0b8c0..df46375457b6 100644
--- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts --- a/arch/arm/boot/dts/gemini-dlink-dns-313.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts +++ b/arch/arm/boot/dts/gemini-dlink-dns-313.dts
@@ -215,6 +215,56 @@ @@ -215,6 +215,56 @@
@ -100,8 +98,6 @@ index 685719a0b8c0..df46375457b6 100644
ata@63000000 { ata@63000000 {
status = "okay"; status = "okay";
}; };
diff --git a/arch/arm/boot/dts/gemini-wbd222.dts b/arch/arm/boot/dts/gemini-wbd222.dts
index 0678d3beb51d..820978d20166 100644
--- a/arch/arm/boot/dts/gemini-wbd222.dts --- a/arch/arm/boot/dts/gemini-wbd222.dts
+++ b/arch/arm/boot/dts/gemini-wbd222.dts +++ b/arch/arm/boot/dts/gemini-wbd222.dts
@@ -136,6 +136,13 @@ @@ -136,6 +136,13 @@
@ -118,6 +114,3 @@ index 0678d3beb51d..820978d20166 100644
}; };
}; };
--
2.14.3

View file

@ -1,5 +1,3 @@
diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
index 840f4a32f37c..456556f52bc7 100644
--- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
+++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
@@ -87,6 +87,12 @@ @@ -87,6 +87,12 @@

View file

@ -1,7 +1,7 @@
From ebe37f322acbb95966094cb2b0fff6e44b5893a6 Mon Sep 17 00:00:00 2001 From 4d304a6fe93538ce356b4593dc43476b50c023e7 Mon Sep 17 00:00:00 2001
From: Giuseppe Lippolis <giu.lippolis@gmail.com> From: Giuseppe Lippolis <giu.lippolis@gmail.com>
Date: Mon, 23 Apr 2018 09:03:06 +0200 Date: Mon, 23 Apr 2018 09:03:06 +0200
Subject: [PATCH] USB: serial: option: fix dwm-158 3g modem interface Subject: USB: serial: option: blacklist unused dwm-158 interfaces
The dwm-158 interface 4 and 5 doesn't answer to the AT commands The dwm-158 interface 4 and 5 doesn't answer to the AT commands
and doesn't appears a option interface. and doesn't appears a option interface.
@ -20,9 +20,9 @@ Lars Melin also writes:
MI_06 USB Mass Storage Device MI_06 USB Mass Storage Device
Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com> Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
[ johan: add Lars's comment on the interface layout ] [ johan: add Lars's comment on the interface layout and reword summary ]
Cc: Lars Melin <larsm17@gmail.com> Cc: Lars Melin <larsm17@gmail.com>
Cc: stable <stable@vger.kernel.org> # c3a65808f04a Cc: Dan Williams <dcbw@redhat.com>
Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Johan Hovold <johan@kernel.org>
--- ---
drivers/usb/serial/option.c | 3 ++- drivers/usb/serial/option.c | 3 ++-
@ -30,13 +30,13 @@ Signed-off-by: Johan Hovold <johan@kernel.org>
--- a/drivers/usb/serial/option.c --- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c
@@ -2046,7 +2046,8 @@ static const struct usb_device_id option @@ -1919,7 +1919,8 @@ static const struct usb_device_id option
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) },
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) },
- { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff) }, /* D-Link DWM-158 */ - { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff) }, /* D-Link DWM-158 */
+ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff), /* D-Link DWM-158 */ + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff), /* D-Link DWM-158 */
+ .driver_info = (kernel_ulong_t)&cinterion_rmnet2_blacklist }, + .driver_info = RSVD(4) | RSVD(5) },
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d0e, 0xff) }, /* D-Link DWM-157 C1 */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d0e, 0xff) }, /* D-Link DWM-157 C1 */
{ USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e19, 0xff), /* D-Link DWM-221 B1 */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e19, 0xff), /* D-Link DWM-221 B1 */
.driver_info = (kernel_ulong_t)&net_intf4_blacklist }, .driver_info = RSVD(4) },

View file

@ -281,6 +281,7 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
# CONFIG_ARM64_ERRATUM_843419 is not set # CONFIG_ARM64_ERRATUM_843419 is not set
# CONFIG_ARM64_ERRATUM_845719 is not set # CONFIG_ARM64_ERRATUM_845719 is not set
# CONFIG_ARM64_ERRATUM_858921 is not set # CONFIG_ARM64_ERRATUM_858921 is not set
# CONFIG_ARM64_ERRATUM_1024718 is not set
# CONFIG_ARM64_RELOC_TEST is not set # CONFIG_ARM64_RELOC_TEST is not set
# CONFIG_ARM_APPENDED_DTB is not set # CONFIG_ARM_APPENDED_DTB is not set
# CONFIG_ARM_ARCH_TIMER is not set # CONFIG_ARM_ARCH_TIMER is not set

View file

@ -62,11 +62,9 @@ Signed-off-by: NeilBrown <neil@brown.name>
arch/mips/mm/c-r4k.c | 9 ++++++--- arch/mips/mm/c-r4k.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-) 1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 6f534b209971..e12dfa48b478 100644
--- a/arch/mips/mm/c-r4k.c --- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c
@@ -851,9 +851,12 @@ static void r4k_dma_cache_wback_inv(unsigned long addr, unsigned long size) @@ -851,9 +851,12 @@ static void r4k_dma_cache_wback_inv(unsi
/* /*
* Either no secondary cache or the available caches don't have the * Either no secondary cache or the available caches don't have the
* subset property so we have to flush the primary caches * subset property so we have to flush the primary caches
@ -81,7 +79,7 @@ index 6f534b209971..e12dfa48b478 100644
r4k_blast_dcache(); r4k_blast_dcache();
} else { } else {
R4600_HIT_CACHEOP_WAR_IMPL; R4600_HIT_CACHEOP_WAR_IMPL;
@@ -890,7 +893,7 @@ static void r4k_dma_cache_inv(unsigned long addr, unsigned long size) @@ -890,7 +893,7 @@ static void r4k_dma_cache_inv(unsigned l
return; return;
} }

View file

@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/usb/qmi_wwan.c --- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c
@@ -1104,6 +1104,9 @@ static const struct usb_device_id produc @@ -1105,6 +1105,9 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x0846, 0x68a2, 8)}, {QMI_FIXED_INTF(0x0846, 0x68a2, 8)},
{QMI_FIXED_INTF(0x12d1, 0x140c, 1)}, /* Huawei E173 */ {QMI_FIXED_INTF(0x12d1, 0x140c, 1)}, /* Huawei E173 */
{QMI_FIXED_INTF(0x12d1, 0x14ac, 1)}, /* Huawei E1820 */ {QMI_FIXED_INTF(0x12d1, 0x14ac, 1)}, /* Huawei E1820 */

View file

@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/usb/qmi_wwan.c --- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c
@@ -1183,6 +1183,7 @@ static const struct usb_device_id produc @@ -1184,6 +1184,7 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x19d2, 0x2002, 4)}, /* ZTE (Vodafone) K3765-Z */ {QMI_FIXED_INTF(0x19d2, 0x2002, 4)}, /* ZTE (Vodafone) K3765-Z */
{QMI_FIXED_INTF(0x2001, 0x7e19, 4)}, /* D-Link DWM-221 B1 */ {QMI_FIXED_INTF(0x2001, 0x7e19, 4)}, /* D-Link DWM-221 B1 */
{QMI_FIXED_INTF(0x2001, 0x7e35, 4)}, /* D-Link DWM-222 */ {QMI_FIXED_INTF(0x2001, 0x7e35, 4)}, /* D-Link DWM-222 */

View file

@ -7,7 +7,7 @@ Signed-off-by: George Kashperko <george@znau.edu.ua>
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
--- a/drivers/mtd/chips/cfi_cmdset_0002.c --- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -1832,6 +1832,7 @@ static int __xipram do_write_buffer(stru @@ -1833,6 +1833,7 @@ static int __xipram do_write_buffer(stru
/* Write Buffer Load */ /* Write Buffer Load */
map_write(map, CMD(0x25), cmd_adr); map_write(map, CMD(0x25), cmd_adr);

View file

@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#define PACKET_FANOUT_LB 1 #define PACKET_FANOUT_LB 1
--- a/net/packet/af_packet.c --- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c +++ b/net/packet/af_packet.c
@@ -1822,6 +1822,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1829,6 +1829,7 @@ static int packet_rcv_spkt(struct sk_buf
{ {
struct sock *sk; struct sock *sk;
struct sockaddr_pkt *spkt; struct sockaddr_pkt *spkt;
@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* When we registered the protocol we saved the socket in the data * When we registered the protocol we saved the socket in the data
@@ -1829,6 +1830,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1836,6 +1837,7 @@ static int packet_rcv_spkt(struct sk_buf
*/ */
sk = pt->af_packet_priv; sk = pt->af_packet_priv;
@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/* /*
* Yank back the headers [hope the device set this * Yank back the headers [hope the device set this
@@ -1841,7 +1843,7 @@ static int packet_rcv_spkt(struct sk_buf @@ -1848,7 +1850,7 @@ static int packet_rcv_spkt(struct sk_buf
* so that this procedure is noop. * so that this procedure is noop.
*/ */
@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
goto out; goto out;
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
@@ -2068,12 +2070,12 @@ static int packet_rcv(struct sk_buff *sk @@ -2075,12 +2077,12 @@ static int packet_rcv(struct sk_buff *sk
unsigned int snaplen, res; unsigned int snaplen, res;
bool is_drop_n_account = false; bool is_drop_n_account = false;
@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -2199,12 +2201,12 @@ static int tpacket_rcv(struct sk_buff *s @@ -2206,12 +2208,12 @@ static int tpacket_rcv(struct sk_buff *s
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32);
BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48);
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!net_eq(dev_net(dev), sock_net(sk))) if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop; goto drop;
@@ -3251,6 +3253,7 @@ static int packet_create(struct net *net @@ -3260,6 +3262,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock); mutex_init(&po->pg_vec_lock);
po->rollover = NULL; po->rollover = NULL;
po->prot_hook.func = packet_rcv; po->prot_hook.func = packet_rcv;
@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (sock->type == SOCK_PACKET) if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt; po->prot_hook.func = packet_rcv_spkt;
@@ -3837,6 +3840,16 @@ packet_setsockopt(struct socket *sock, i @@ -3873,6 +3876,16 @@ packet_setsockopt(struct socket *sock, i
po->xmit = val ? packet_direct_xmit : dev_queue_xmit; po->xmit = val ? packet_direct_xmit : dev_queue_xmit;
return 0; return 0;
} }
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default: default:
return -ENOPROTOOPT; return -ENOPROTOOPT;
} }
@@ -3889,6 +3902,13 @@ static int packet_getsockopt(struct sock @@ -3925,6 +3938,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR: case PACKET_VNET_HDR:
val = po->has_vnet_hdr; val = po->has_vnet_hdr;
break; break;

View file

@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <linux/nsproxy.h> #include <linux/nsproxy.h>
#include <net/net_namespace.h> #include <net/net_namespace.h>
#include <net/netns/generic.h> #include <net/netns/generic.h>
@@ -970,8 +975,36 @@ static int pppoe_xmit(struct ppp_channel @@ -974,8 +979,36 @@ static int pppoe_xmit(struct ppp_channel
return __pppoe_xmit(sk, skb); return __pppoe_xmit(sk, skb);
} }

View file

@ -300,7 +300,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
/** /**
* ip6_tnl_addr_conflict - compare packet addresses to tunnel's own * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own
* @t: the outgoing tunnel device * @t: the outgoing tunnel device
@@ -1304,6 +1444,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str @@ -1303,6 +1443,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
{ {
struct ip6_tnl *t = netdev_priv(dev); struct ip6_tnl *t = netdev_priv(dev);
struct ipv6hdr *ipv6h = ipv6_hdr(skb); struct ipv6hdr *ipv6h = ipv6_hdr(skb);
@ -308,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
int encap_limit = -1; int encap_limit = -1;
__u16 offset; __u16 offset;
struct flowi6 fl6; struct flowi6 fl6;
@@ -1366,6 +1507,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str @@ -1365,6 +1506,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str
fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL); fl6.flowi6_uid = sock_net_uid(dev_net(dev), NULL);
@ -327,7 +327,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6)) if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
return -1; return -1;
@@ -1494,6 +1647,14 @@ ip6_tnl_change(struct ip6_tnl *t, const @@ -1493,6 +1646,14 @@ ip6_tnl_change(struct ip6_tnl *t, const
t->parms.link = p->link; t->parms.link = p->link;
t->parms.proto = p->proto; t->parms.proto = p->proto;
t->parms.fwmark = p->fwmark; t->parms.fwmark = p->fwmark;
@ -342,7 +342,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
dst_cache_reset(&t->dst_cache); dst_cache_reset(&t->dst_cache);
ip6_tnl_link_config(t); ip6_tnl_link_config(t);
return 0; return 0;
@@ -1532,6 +1693,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ @@ -1531,6 +1692,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_
p->flowinfo = u->flowinfo; p->flowinfo = u->flowinfo;
p->link = u->link; p->link = u->link;
p->proto = u->proto; p->proto = u->proto;
@ -350,7 +350,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
memcpy(p->name, u->name, sizeof(u->name)); memcpy(p->name, u->name, sizeof(u->name));
} }
@@ -1913,6 +2075,15 @@ static int ip6_tnl_validate(struct nlatt @@ -1912,6 +2074,15 @@ static int ip6_tnl_validate(struct nlatt
return 0; return 0;
} }
@ -366,7 +366,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
static void ip6_tnl_netlink_parms(struct nlattr *data[], static void ip6_tnl_netlink_parms(struct nlattr *data[],
struct __ip6_tnl_parm *parms) struct __ip6_tnl_parm *parms)
{ {
@@ -1950,6 +2121,46 @@ static void ip6_tnl_netlink_parms(struct @@ -1949,6 +2120,46 @@ static void ip6_tnl_netlink_parms(struct
if (data[IFLA_IPTUN_FWMARK]) if (data[IFLA_IPTUN_FWMARK])
parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]); parms->fwmark = nla_get_u32(data[IFLA_IPTUN_FWMARK]);
@ -413,7 +413,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
} }
static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[], static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[],
@@ -2061,6 +2272,12 @@ static void ip6_tnl_dellink(struct net_d @@ -2060,6 +2271,12 @@ static void ip6_tnl_dellink(struct net_d
static size_t ip6_tnl_get_size(const struct net_device *dev) static size_t ip6_tnl_get_size(const struct net_device *dev)
{ {
@ -426,7 +426,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
return return
/* IFLA_IPTUN_LINK */ /* IFLA_IPTUN_LINK */
nla_total_size(4) + nla_total_size(4) +
@@ -2090,6 +2307,24 @@ static size_t ip6_tnl_get_size(const str @@ -2089,6 +2306,24 @@ static size_t ip6_tnl_get_size(const str
nla_total_size(0) + nla_total_size(0) +
/* IFLA_IPTUN_FWMARK */ /* IFLA_IPTUN_FWMARK */
nla_total_size(4) + nla_total_size(4) +
@ -451,7 +451,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
0; 0;
} }
@@ -2097,6 +2332,9 @@ static int ip6_tnl_fill_info(struct sk_b @@ -2096,6 +2331,9 @@ static int ip6_tnl_fill_info(struct sk_b
{ {
struct ip6_tnl *tunnel = netdev_priv(dev); struct ip6_tnl *tunnel = netdev_priv(dev);
struct __ip6_tnl_parm *parm = &tunnel->parms; struct __ip6_tnl_parm *parm = &tunnel->parms;
@ -461,7 +461,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
@@ -2106,9 +2344,27 @@ static int ip6_tnl_fill_info(struct sk_b @@ -2105,9 +2343,27 @@ static int ip6_tnl_fill_info(struct sk_b
nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) || nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
@ -490,7 +490,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
@@ -2148,6 +2404,7 @@ static const struct nla_policy ip6_tnl_p @@ -2147,6 +2403,7 @@ static const struct nla_policy ip6_tnl_p
[IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 },
[IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG },
[IFLA_IPTUN_FWMARK] = { .type = NLA_U32 }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 },

View file

@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
/* /*
* Allocate a dst for local (unicast / anycast) address. * Allocate a dst for local (unicast / anycast) address.
*/ */
@@ -3000,7 +3033,8 @@ static int rtm_to_fib6_config(struct sk_ @@ -3002,7 +3035,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE || if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT || rtm->rtm_type == RTN_PROHIBIT ||
@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT; cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL) if (rtm->rtm_type == RTN_LOCAL)
@@ -3490,6 +3524,9 @@ static int rt6_fill_node(struct net *net @@ -3492,6 +3526,9 @@ static int rt6_fill_node(struct net *net
case -EACCES: case -EACCES:
rtm->rtm_type = RTN_PROHIBIT; rtm->rtm_type = RTN_PROHIBIT;
break; break;
@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
case -EAGAIN: case -EAGAIN:
rtm->rtm_type = RTN_THROW; rtm->rtm_type = RTN_THROW;
break; break;
@@ -3808,6 +3845,8 @@ static int ip6_route_dev_notify(struct n @@ -3810,6 +3847,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -200,7 +200,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif #endif
@@ -3819,6 +3858,7 @@ static int ip6_route_dev_notify(struct n @@ -3821,6 +3860,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif #endif
} }
@@ -4035,6 +4075,17 @@ static int __net_init ip6_route_net_init @@ -4037,6 +4077,17 @@ static int __net_init ip6_route_net_init
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true); ip6_template_metrics, true);
@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif #endif
net->ipv6.sysctl.flush_delay = 0; net->ipv6.sysctl.flush_delay = 0;
@@ -4053,6 +4104,8 @@ out: @@ -4055,6 +4106,8 @@ out:
return ret; return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry: out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry: out_ip6_null_entry:
@@ -4070,6 +4123,7 @@ static void __net_exit ip6_route_net_exi @@ -4072,6 +4125,7 @@ static void __net_exit ip6_route_net_exi
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
kfree(net->ipv6.ip6_blk_hole_entry); kfree(net->ipv6.ip6_blk_hole_entry);
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
#endif #endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops); dst_entries_destroy(&net->ipv6.ip6_dst_ops);
} }
@@ -4143,6 +4197,9 @@ void __init ip6_route_init_special_entri @@ -4145,6 +4199,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View file

@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
/** /**
* ata_build_rw_tf - Build ATA taskfile for given read/write request * ata_build_rw_tf - Build ATA taskfile for given read/write request
* @tf: Target ATA taskfile * @tf: Target ATA taskfile
@@ -5111,6 +5124,9 @@ struct ata_queued_cmd *ata_qc_new_init(s @@ -5114,6 +5127,9 @@ struct ata_queued_cmd *ata_qc_new_init(s
if (tag < 0) if (tag < 0)
return NULL; return NULL;
} }
@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
qc = __ata_qc_from_tag(ap, tag); qc = __ata_qc_from_tag(ap, tag);
qc->tag = tag; qc->tag = tag;
@@ -6012,6 +6028,9 @@ struct ata_port *ata_port_alloc(struct a @@ -6015,6 +6031,9 @@ struct ata_port *ata_port_alloc(struct a
ap->stats.unhandled_irq = 1; ap->stats.unhandled_irq = 1;
ap->stats.idle_irq = 1; ap->stats.idle_irq = 1;
#endif #endif
@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
ata_sff_port_init(ap); ata_sff_port_init(ap);
return ap; return ap;
@@ -6033,6 +6052,12 @@ static void ata_host_release(struct devi @@ -6036,6 +6055,12 @@ static void ata_host_release(struct devi
kfree(ap->pmp_link); kfree(ap->pmp_link);
kfree(ap->slave_link); kfree(ap->slave_link);
@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
kfree(ap); kfree(ap);
host->ports[i] = NULL; host->ports[i] = NULL;
} }
@@ -6479,7 +6504,23 @@ int ata_host_register(struct ata_host *h @@ -6482,7 +6507,23 @@ int ata_host_register(struct ata_host *h
host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->print_id = atomic_inc_return(&ata_print_id);
host->ports[i]->local_port_no = i + 1; host->ports[i]->local_port_no = i + 1;
} }

View file

@ -1,66 +0,0 @@
From patchwork Thu Sep 28 12:58:32 2017
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [v2, 1/7] PCI: aardvark: fix logic in PCI configuration read/write
functions
X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
X-Patchwork-Id: 819586
Message-Id: <20170928125838.11887-2-thomas.petazzoni@free-electrons.com>
To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
<gregory.clement@free-electrons.com>,
Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
Yehuda Yitschak <yehuday@marvell.com>,
linux-arm-kernel@lists.infradead.org, Antoine Tenart
<antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
<miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
stable@vger.kernel.org, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>
Date: Thu, 28 Sep 2017 14:58:32 +0200
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
List-Id: <linux-pci.vger.kernel.org>
From: Victor Gu <xigu@marvell.com>
The PCI configuration space read/write functions were special casing
the situation where PCI_SLOT(devfn) != 0, and returned
PCIBIOS_DEVICE_NOT_FOUND in this case.
However, will this is what is intended for the root bus, it is not
intended for the child busses, as it prevents discovering devices with
PCI_SLOT(x) != 0. Therefore, we return PCIBIOS_DEVICE_NOT_FOUND only
if we're on the root bus.
Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
Cc: <stable@vger.kernel.org>
Signed-off-by: Victor Gu <xigu@marvell.com>
Reviewed-by: Wilson Ding <dingwei@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
[Thomas: tweak commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
drivers/pci/host/pci-aardvark.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/pci/host/pci-aardvark.c
+++ b/drivers/pci/host/pci-aardvark.c
@@ -440,7 +440,7 @@ static int advk_pcie_rd_conf(struct pci_
u32 reg;
int ret;
- if (PCI_SLOT(devfn) != 0) {
+ if ((bus->number == pcie->root_bus_nr) && (PCI_SLOT(devfn) != 0)) {
*val = 0xffffffff;
return PCIBIOS_DEVICE_NOT_FOUND;
}
@@ -494,7 +494,7 @@ static int advk_pcie_wr_conf(struct pci_
int offset;
int ret;
- if (PCI_SLOT(devfn) != 0)
+ if ((bus->number == pcie->root_bus_nr) && (PCI_SLOT(devfn) != 0))
return PCIBIOS_DEVICE_NOT_FOUND;
if (where % size)

View file

@ -1,53 +0,0 @@
From patchwork Thu Sep 28 12:58:33 2017
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [v2,
2/7] PCI: aardvark: set PIO_ADDR_LS correctly in advk_pcie_rd_conf()
X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
X-Patchwork-Id: 819589
Message-Id: <20170928125838.11887-3-thomas.petazzoni@free-electrons.com>
To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
<gregory.clement@free-electrons.com>,
Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
Yehuda Yitschak <yehuday@marvell.com>,
linux-arm-kernel@lists.infradead.org, Antoine Tenart
<antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
<miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
stable@vger.kernel.org, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>
Date: Thu, 28 Sep 2017 14:58:33 +0200
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
List-Id: <linux-pci.vger.kernel.org>
From: Victor Gu <xigu@marvell.com>
When setting the PIO_ADDR_LS register during a configuration read, we
were properly passing the device number, function number and register
number, but not the bus number, causing issues when reading the
configuration of PCIe devices.
Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
Cc: <stable@vger.kernel.org>
Signed-off-by: Victor Gu <xigu@marvell.com>
Reviewed-by: Wilson Ding <dingwei@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
[Thomas: tweak commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
drivers/pci/host/pci-aardvark.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/pci/host/pci-aardvark.c
+++ b/drivers/pci/host/pci-aardvark.c
@@ -459,7 +459,7 @@ static int advk_pcie_rd_conf(struct pci_
advk_writel(pcie, reg, PIO_CTRL);
/* Program the address registers */
- reg = PCIE_BDF(devfn) | PCIE_CONF_REG(where);
+ reg = PCIE_CONF_ADDR(bus->number, devfn, where);
advk_writel(pcie, reg, PIO_ADDR_LS);
advk_writel(pcie, 0, PIO_ADDR_MS);

View file

@ -45,13 +45,14 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
--- a/drivers/pci/host/pci-aardvark.c --- a/drivers/pci/host/pci-aardvark.c
+++ b/drivers/pci/host/pci-aardvark.c +++ b/drivers/pci/host/pci-aardvark.c
@@ -30,8 +30,10 @@ @@ -30,9 +30,11 @@
#define PCIE_CORE_DEV_CTRL_STATS_REG 0xc8 #define PCIE_CORE_DEV_CTRL_STATS_REG 0xc8
#define PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE (0 << 4) #define PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE (0 << 4)
#define PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT 5 #define PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT 5
+#define PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ 0x2 +#define PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ 0x2
#define PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE (0 << 11) #define PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE (0 << 11)
#define PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT 12 #define PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT 12
#define PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ 0x2
+#define PCIE_CORE_MPS_UNIT_BYTE 128 +#define PCIE_CORE_MPS_UNIT_BYTE 128
#define PCIE_CORE_LINK_CTRL_STAT_REG 0xd0 #define PCIE_CORE_LINK_CTRL_STAT_REG 0xd0
#define PCIE_CORE_LINK_L0S_ENTRY BIT(0) #define PCIE_CORE_LINK_L0S_ENTRY BIT(0)
@ -64,9 +65,9 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+ (PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ << + (PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ <<
+ PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) | + PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) |
PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE | PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT; (PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
advk_writel(pcie, reg, PCIE_CORE_DEV_CTRL_STATS_REG); PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
@@ -879,6 +882,58 @@ out_release_res: @@ -886,6 +889,58 @@ out_release_res:
return err; return err;
} }
@ -125,7 +126,7 @@ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
static int advk_pcie_probe(struct platform_device *pdev) static int advk_pcie_probe(struct platform_device *pdev)
{ {
struct device *dev = &pdev->dev; struct device *dev = &pdev->dev;
@@ -952,6 +1007,9 @@ static int advk_pcie_probe(struct platfo @@ -959,6 +1014,9 @@ static int advk_pcie_probe(struct platfo
list_for_each_entry(child, &bus->children, node) list_for_each_entry(child, &bus->children, node)
pcie_bus_configure_settings(child); pcie_bus_configure_settings(child);

View file

@ -1,143 +0,0 @@
From patchwork Thu Sep 28 12:58:35 2017
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [v2,
4/7] PCI: aardvark: use isr1 instead of isr0 interrupt in legacy irq
mode
X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
X-Patchwork-Id: 819592
Message-Id: <20170928125838.11887-5-thomas.petazzoni@free-electrons.com>
To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
<gregory.clement@free-electrons.com>,
Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
Yehuda Yitschak <yehuday@marvell.com>,
linux-arm-kernel@lists.infradead.org, Antoine Tenart
<antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
<miquel.raynal@free-electrons.com>, Victor Gu <xigu@marvell.com>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Thu, 28 Sep 2017 14:58:35 +0200
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
List-Id: <linux-pci.vger.kernel.org>
From: Victor Gu <xigu@marvell.com>
The Aardvark has two interrupts sets:
- first set is bit[23:16] of PCIe ISR 0 register(RD0074840h)
- second set is bit[11:8] of PCIe ISR 1 register(RD0074848h)
Only one set should be used, while another set should be masked.
The second set, ISR1, is more advanced, the Legacy INT_X status bit is
asserted once Assert_INTX message is received, and de-asserted after
Deassert_INTX message is received. Therefore, it matches what the
driver is currently doing in the ->irq_mask() and ->irq_unmask()
functions. The ISR0 requires additional work to deassert the
interrupt, which the driver doesn't do currently.
This commit resolves a number of issues with legacy interrupts.
This is part of fixing bug
https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
reported as the user to be important to get a Intel 7260 mini-PCIe
WiFi card working.
Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
Signed-off-by: Victor Gu <xigu@marvell.com>
Reviewed-by: Evan Wang <xswang@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
[Thomas: tweak commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
drivers/pci/host/pci-aardvark.c | 41 ++++++++++++++++++++++++-----------------
1 file changed, 24 insertions(+), 17 deletions(-)
--- a/drivers/pci/host/pci-aardvark.c
+++ b/drivers/pci/host/pci-aardvark.c
@@ -105,7 +105,8 @@
#define PCIE_ISR1_MASK_REG (CONTROL_BASE_ADDR + 0x4C)
#define PCIE_ISR1_POWER_STATE_CHANGE BIT(4)
#define PCIE_ISR1_FLUSH BIT(5)
-#define PCIE_ISR1_ALL_MASK GENMASK(5, 4)
+#define PCIE_ISR1_INTX_ASSERT(val) BIT(8 + (val))
+#define PCIE_ISR1_ALL_MASK GENMASK(11, 4)
#define PCIE_MSI_ADDR_LOW_REG (CONTROL_BASE_ADDR + 0x50)
#define PCIE_MSI_ADDR_HIGH_REG (CONTROL_BASE_ADDR + 0x54)
#define PCIE_MSI_STATUS_REG (CONTROL_BASE_ADDR + 0x58)
@@ -615,9 +616,9 @@ static void advk_pcie_irq_mask(struct ir
irq_hw_number_t hwirq = irqd_to_hwirq(d);
u32 mask;
- mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
- mask |= PCIE_ISR0_INTX_ASSERT(hwirq);
- advk_writel(pcie, mask, PCIE_ISR0_MASK_REG);
+ mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
+ mask |= PCIE_ISR1_INTX_ASSERT(hwirq);
+ advk_writel(pcie, mask, PCIE_ISR1_MASK_REG);
}
static void advk_pcie_irq_unmask(struct irq_data *d)
@@ -626,9 +627,9 @@ static void advk_pcie_irq_unmask(struct
irq_hw_number_t hwirq = irqd_to_hwirq(d);
u32 mask;
- mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
- mask &= ~PCIE_ISR0_INTX_ASSERT(hwirq);
- advk_writel(pcie, mask, PCIE_ISR0_MASK_REG);
+ mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
+ mask &= ~PCIE_ISR1_INTX_ASSERT(hwirq);
+ advk_writel(pcie, mask, PCIE_ISR1_MASK_REG);
}
static int advk_pcie_irq_map(struct irq_domain *h,
@@ -771,29 +772,35 @@ static void advk_pcie_handle_msi(struct
static void advk_pcie_handle_int(struct advk_pcie *pcie)
{
- u32 val, mask, status;
+ u32 isr0_val, isr0_mask, isr0_status;
+ u32 isr1_val, isr1_mask, isr1_status;
int i, virq;
- val = advk_readl(pcie, PCIE_ISR0_REG);
- mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
- status = val & ((~mask) & PCIE_ISR0_ALL_MASK);
-
- if (!status) {
- advk_writel(pcie, val, PCIE_ISR0_REG);
+ isr0_val = advk_readl(pcie, PCIE_ISR0_REG);
+ isr0_mask = advk_readl(pcie, PCIE_ISR0_MASK_REG);
+ isr0_status = isr0_val & ((~isr0_mask) & PCIE_ISR0_ALL_MASK);
+
+ isr1_val = advk_readl(pcie, PCIE_ISR1_REG);
+ isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
+ isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
+
+ if (!isr0_status && !isr1_status) {
+ advk_writel(pcie, isr0_val, PCIE_ISR0_REG);
+ advk_writel(pcie, isr1_val, PCIE_ISR1_REG);
return;
}
/* Process MSI interrupts */
- if (status & PCIE_ISR0_MSI_INT_PENDING)
+ if (isr0_status & PCIE_ISR0_MSI_INT_PENDING)
advk_pcie_handle_msi(pcie);
/* Process legacy interrupts */
for (i = 0; i < PCI_NUM_INTX; i++) {
- if (!(status & PCIE_ISR0_INTX_ASSERT(i)))
+ if (!(isr1_status & PCIE_ISR1_INTX_ASSERT(i)))
continue;
- advk_writel(pcie, PCIE_ISR0_INTX_ASSERT(i),
- PCIE_ISR0_REG);
+ advk_writel(pcie, PCIE_ISR1_INTX_ASSERT(i),
+ PCIE_ISR1_REG);
virq = irq_find_mapping(pcie->irq_domain, i);
generic_handle_irq(virq);

View file

@ -1,63 +0,0 @@
From patchwork Thu Sep 28 12:58:37 2017
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [v2,6/7] PCI: aardvark: fix PCIe max read request size setting
X-Patchwork-Submitter: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
X-Patchwork-Id: 819591
Message-Id: <20170928125838.11887-7-thomas.petazzoni@free-electrons.com>
To: Bjorn Helgaas <bhelgaas@google.com>, linux-pci@vger.kernel.org
Cc: Jason Cooper <jason@lakedaemon.net>, Andrew Lunn <andrew@lunn.ch>,
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, Gregory Clement
<gregory.clement@free-electrons.com>,
Nadav Haklai <nadavh@marvell.com>, Hanna Hawa <hannah@marvell.com>,
Yehuda Yitschak <yehuday@marvell.com>,
linux-arm-kernel@lists.infradead.org, Antoine Tenart
<antoine.tenart@free-electrons.com>, =?utf-8?q?Miqu=C3=A8l_Raynal?=
<miquel.raynal@free-electrons.com>, Evan Wang <xswang@marvell.com>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Thu, 28 Sep 2017 14:58:37 +0200
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
List-Id: <linux-pci.vger.kernel.org>
From: Evan Wang <xswang@marvell.com>
There is an obvious typo issue in the definition of the PCIe maximum
read request size: a bit shift is directly used as a value, while it
should be used to shift the correct value.
This is part of fixing bug
https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was
reported as the user to be important to get a Intel 7260 mini-PCIe
WiFi card working.
Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
Signed-off-by: Evan Wang <xswang@marvell.com>
Reviewed-by: Victor Gu <xigu@marvell.com>
Reviewed-by: Nadav Haklai <nadavh@marvell.com>
[Thomas: tweak commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
drivers/pci/host/pci-aardvark.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/drivers/pci/host/pci-aardvark.c
+++ b/drivers/pci/host/pci-aardvark.c
@@ -33,6 +33,7 @@
#define PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ 0x2
#define PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE (0 << 11)
#define PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT 12
+#define PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ 0x2
#define PCIE_CORE_MPS_UNIT_BYTE 128
#define PCIE_CORE_LINK_CTRL_STAT_REG 0xd0
#define PCIE_CORE_LINK_L0S_ENTRY BIT(0)
@@ -303,7 +304,8 @@ static void advk_pcie_setup_hw(struct ad
(PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ <<
PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) |
PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE |
- PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT;
+ (PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ <<
+ PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT);
advk_writel(pcie, reg, PCIE_CORE_DEV_CTRL_STATS_REG);
/* Program PCIe Control 2 to disable strict ordering */

View file

@ -9,7 +9,7 @@ Subject: [PATCH 36/53] mtd: fix cfi cmdset 0002 erase status check
--- a/drivers/mtd/chips/cfi_cmdset_0002.c --- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -2293,7 +2293,7 @@ static int __xipram do_erase_chip(struct @@ -2295,7 +2295,7 @@ static int __xipram do_erase_chip(struct
chip->erase_suspended = 0; chip->erase_suspended = 0;
} }
@ -18,7 +18,7 @@ Subject: [PATCH 36/53] mtd: fix cfi cmdset 0002 erase status check
break; break;
if (time_after(jiffies, timeo)) { if (time_after(jiffies, timeo)) {
@@ -2382,7 +2382,7 @@ static int __xipram do_erase_oneblock(st @@ -2385,7 +2385,7 @@ static int __xipram do_erase_oneblock(st
chip->erase_suspended = 0; chip->erase_suspended = 0;
} }

View file

@ -44,7 +44,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
/* Atmel chips don't use the same PRI format as AMD chips */ /* Atmel chips don't use the same PRI format as AMD chips */
static void fixup_convert_atmel_pri(struct mtd_info *mtd) static void fixup_convert_atmel_pri(struct mtd_info *mtd)
@@ -1791,6 +1795,7 @@ static int cfi_amdstd_write_words(struct @@ -1792,6 +1796,7 @@ static int cfi_amdstd_write_words(struct
/* /*
* FIXME: interleaved mode not tested, and probably not supported! * FIXME: interleaved mode not tested, and probably not supported!
*/ */
@ -52,7 +52,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip, static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf, unsigned long adr, const u_char *buf,
int len) int len)
@@ -1919,7 +1924,6 @@ static int __xipram do_write_buffer(stru @@ -1920,7 +1925,6 @@ static int __xipram do_write_buffer(stru
return ret; return ret;
} }
@ -60,7 +60,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len, static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf) size_t *retlen, const u_char *buf)
{ {
@@ -1994,6 +1998,7 @@ static int cfi_amdstd_write_buffers(stru @@ -1995,6 +1999,7 @@ static int cfi_amdstd_write_buffers(stru
return 0; return 0;
} }

View file

@ -11,10 +11,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
3 files changed, 487 insertions(+) 3 files changed, 487 insertions(+)
create mode 100644 drivers/spi/spi-mt7621.c create mode 100644 drivers/spi/spi-mt7621.c
Index: linux-4.14.37/drivers/spi/Kconfig --- a/drivers/spi/Kconfig
=================================================================== +++ b/drivers/spi/Kconfig
--- linux-4.14.37.orig/drivers/spi/Kconfig
+++ linux-4.14.37/drivers/spi/Kconfig
@@ -569,6 +569,12 @@ config SPI_RT2880 @@ -569,6 +569,12 @@ config SPI_RT2880
help help
This selects a driver for the Ralink RT288x/RT305x SPI Controller. This selects a driver for the Ralink RT288x/RT305x SPI Controller.
@ -28,10 +26,8 @@ Index: linux-4.14.37/drivers/spi/Kconfig
config SPI_S3C24XX config SPI_S3C24XX
tristate "Samsung S3C24XX series SPI" tristate "Samsung S3C24XX series SPI"
depends on ARCH_S3C24XX depends on ARCH_S3C24XX
Index: linux-4.14.37/drivers/spi/Makefile --- a/drivers/spi/Makefile
=================================================================== +++ b/drivers/spi/Makefile
--- linux-4.14.37.orig/drivers/spi/Makefile
+++ linux-4.14.37/drivers/spi/Makefile
@@ -60,6 +60,7 @@ obj-$(CONFIG_SPI_MPC512x_PSC) += spi-mp @@ -60,6 +60,7 @@ obj-$(CONFIG_SPI_MPC512x_PSC) += spi-mp
obj-$(CONFIG_SPI_MPC52xx_PSC) += spi-mpc52xx-psc.o obj-$(CONFIG_SPI_MPC52xx_PSC) += spi-mpc52xx-psc.o
obj-$(CONFIG_SPI_MPC52xx) += spi-mpc52xx.o obj-$(CONFIG_SPI_MPC52xx) += spi-mpc52xx.o
@ -40,10 +36,8 @@ Index: linux-4.14.37/drivers/spi/Makefile
obj-$(CONFIG_SPI_MXS) += spi-mxs.o obj-$(CONFIG_SPI_MXS) += spi-mxs.o
obj-$(CONFIG_SPI_NUC900) += spi-nuc900.o obj-$(CONFIG_SPI_NUC900) += spi-nuc900.o
obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o obj-$(CONFIG_SPI_OC_TINY) += spi-oc-tiny.o
Index: linux-4.14.37/drivers/spi/spi-mt7621.c
===================================================================
--- /dev/null --- /dev/null
+++ linux-4.14.37/drivers/spi/spi-mt7621.c +++ b/drivers/spi/spi-mt7621.c
@@ -0,0 +1,494 @@ @@ -0,0 +1,494 @@
+/* +/*
+ * spi-mt7621.c -- MediaTek MT7621 SPI controller driver + * spi-mt7621.c -- MediaTek MT7621 SPI controller driver