mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
kernel: bump to 3.18.128, 4.9.144, 4.14.87
This commit is contained in:
parent
9763a1ed99
commit
334048b2c4
@ -2,13 +2,13 @@
|
||||
|
||||
LINUX_RELEASE?=1
|
||||
|
||||
LINUX_VERSION-3.18 = .126
|
||||
LINUX_VERSION-4.9 = .138
|
||||
LINUX_VERSION-4.14 = .82
|
||||
LINUX_VERSION-3.18 = .128
|
||||
LINUX_VERSION-4.9 = .144
|
||||
LINUX_VERSION-4.14 = .87
|
||||
|
||||
LINUX_KERNEL_HASH-3.18.126 = 11a53ccd72f1ee67fe5ea014fdfb0283528f452bb50dc0a2f1b9675b7e8554f9
|
||||
LINUX_KERNEL_HASH-4.9.138 = 92301242601d50854b173a3fdec318480e24fc86f32102003a9ed7108fab21b7
|
||||
LINUX_KERNEL_HASH-4.14.82 = a790a2e6f6a76d70decec91d1b7bcfba90f821b076273da070f6e0e1e6391dad
|
||||
LINUX_KERNEL_HASH-3.18.128 = 396368ef7eadf639c6f62ef43ea9c63a05280f926f731c3a86b0aa0e2b3ad2e3
|
||||
LINUX_KERNEL_HASH-4.9.144 = 05d17f434d22e9fa2f9084cdf6858383564883d23a1d11ce4dae4b217662782b
|
||||
LINUX_KERNEL_HASH-4.14.87 = 36744d7d657dab23e455a8096e4ad2dc6a25f25fdce062d8a8bdf4499112e125
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -0,0 +1,169 @@
|
||||
From cc809a441d8f2924f785eb863dfa6aef47a25b0b Mon Sep 17 00:00:00 2001
|
||||
From: John Crispin <blogic@openwrt.org>
|
||||
Date: Tue, 12 Aug 2014 20:49:27 +0200
|
||||
Subject: [PATCH 30/36] GPIO: add named gpio exports
|
||||
|
||||
Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
---
|
||||
drivers/gpio/gpiolib-of.c | 68 +++++++++++++++++++++++++++++++++++++++++
|
||||
drivers/gpio/gpiolib.c | 11 +++++--
|
||||
include/asm-generic/gpio.h | 5 +++
|
||||
include/linux/gpio/consumer.h | 8 +++++
|
||||
4 files changed, 90 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/drivers/gpio/gpiolib-of.c
|
||||
+++ b/drivers/gpio/gpiolib-of.c
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <linux/pinctrl/pinctrl.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/gpio/machine.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/platform_device.h>
|
||||
|
||||
#include "gpiolib.h"
|
||||
|
||||
@@ -507,3 +509,72 @@ void of_gpiochip_remove(struct gpio_chip
|
||||
gpiochip_remove_pin_ranges(chip);
|
||||
of_node_put(chip->of_node);
|
||||
}
|
||||
+
|
||||
+#ifdef CONFIG_GPIO_SYSFS
|
||||
+
|
||||
+static struct of_device_id gpio_export_ids[] = {
|
||||
+ { .compatible = "gpio-export" },
|
||||
+ { /* sentinel */ }
|
||||
+};
|
||||
+
|
||||
+static int of_gpio_export_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ struct device_node *np = pdev->dev.of_node;
|
||||
+ struct device_node *cnp;
|
||||
+ u32 val;
|
||||
+ int nb = 0;
|
||||
+
|
||||
+ for_each_child_of_node(np, cnp) {
|
||||
+ const char *name = NULL;
|
||||
+ int gpio;
|
||||
+ bool dmc;
|
||||
+ int max_gpio = 1;
|
||||
+ int i;
|
||||
+
|
||||
+ of_property_read_string(cnp, "gpio-export,name", &name);
|
||||
+
|
||||
+ if (!name)
|
||||
+ max_gpio = of_gpio_count(cnp);
|
||||
+
|
||||
+ for (i = 0; i < max_gpio; i++) {
|
||||
+ unsigned flags = 0;
|
||||
+ enum of_gpio_flags of_flags;
|
||||
+
|
||||
+ gpio = of_get_gpio_flags(cnp, i, &of_flags);
|
||||
+ if (!gpio_is_valid(gpio))
|
||||
+ return gpio;
|
||||
+
|
||||
+ if (of_flags == OF_GPIO_ACTIVE_LOW)
|
||||
+ flags |= GPIOF_ACTIVE_LOW;
|
||||
+
|
||||
+ if (!of_property_read_u32(cnp, "gpio-export,output", &val))
|
||||
+ flags |= val ? GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW;
|
||||
+ else
|
||||
+ flags |= GPIOF_IN;
|
||||
+
|
||||
+ if (devm_gpio_request_one(&pdev->dev, gpio, flags, name ? name : of_node_full_name(np)))
|
||||
+ continue;
|
||||
+
|
||||
+ dmc = of_property_read_bool(cnp, "gpio-export,direction_may_change");
|
||||
+ gpio_export_with_name(gpio, dmc, name);
|
||||
+ nb++;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ dev_info(&pdev->dev, "%d gpio(s) exported\n", nb);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct platform_driver gpio_export_driver = {
|
||||
+ .driver = {
|
||||
+ .name = "gpio-export",
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .of_match_table = of_match_ptr(gpio_export_ids),
|
||||
+ },
|
||||
+ .probe = of_gpio_export_probe,
|
||||
+};
|
||||
+
|
||||
+module_platform_driver(gpio_export_driver);
|
||||
+
|
||||
+#endif
|
||||
--- a/include/asm-generic/gpio.h
|
||||
+++ b/include/asm-generic/gpio.h
|
||||
@@ -127,6 +127,12 @@ static inline int gpio_export(unsigned g
|
||||
return gpiod_export(gpio_to_desc(gpio), direction_may_change);
|
||||
}
|
||||
|
||||
+int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name);
|
||||
+static inline int gpio_export_with_name(unsigned gpio, bool direction_may_change, const char *name)
|
||||
+{
|
||||
+ return __gpiod_export(gpio_to_desc(gpio), direction_may_change, name);
|
||||
+}
|
||||
+
|
||||
static inline int gpio_export_link(struct device *dev, const char *name,
|
||||
unsigned gpio)
|
||||
{
|
||||
--- a/include/linux/gpio/consumer.h
|
||||
+++ b/include/linux/gpio/consumer.h
|
||||
@@ -451,6 +451,7 @@ struct gpio_desc *devm_fwnode_get_gpiod_
|
||||
|
||||
#if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
|
||||
|
||||
+int _gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name);
|
||||
int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
|
||||
int gpiod_export_link(struct device *dev, const char *name,
|
||||
struct gpio_desc *desc);
|
||||
@@ -458,6 +459,13 @@ void gpiod_unexport(struct gpio_desc *de
|
||||
|
||||
#else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
|
||||
|
||||
+static inline int _gpiod_export(struct gpio_desc *desc,
|
||||
+ bool direction_may_change,
|
||||
+ const char *name)
|
||||
+{
|
||||
+ return -ENOSYS;
|
||||
+}
|
||||
+
|
||||
static inline int gpiod_export(struct gpio_desc *desc,
|
||||
bool direction_may_change)
|
||||
{
|
||||
--- a/drivers/gpio/gpiolib-sysfs.c
|
||||
+++ b/drivers/gpio/gpiolib-sysfs.c
|
||||
@@ -553,7 +553,7 @@ static struct class gpio_class = {
|
||||
*
|
||||
* Returns zero on success, else an error.
|
||||
*/
|
||||
-int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
|
||||
+int __gpiod_export(struct gpio_desc *desc, bool direction_may_change, const char *name)
|
||||
{
|
||||
struct gpio_chip *chip;
|
||||
struct gpio_device *gdev;
|
||||
@@ -615,6 +615,8 @@ int gpiod_export(struct gpio_desc *desc,
|
||||
offset = gpio_chip_hwgpio(desc);
|
||||
if (chip->names && chip->names[offset])
|
||||
ioname = chip->names[offset];
|
||||
+ if (name)
|
||||
+ ioname = name;
|
||||
|
||||
dev = device_create_with_groups(&gpio_class, &gdev->dev,
|
||||
MKDEV(0, 0), data, gpio_groups,
|
||||
@@ -636,6 +638,12 @@ err_unlock:
|
||||
gpiod_dbg(desc, "%s: status %d\n", __func__, status);
|
||||
return status;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(__gpiod_export);
|
||||
+
|
||||
+int gpiod_export(struct gpio_desc *desc, bool direction_may_change)
|
||||
+{
|
||||
+ return __gpiod_export(desc, direction_may_change, NULL);
|
||||
+}
|
||||
EXPORT_SYMBOL_GPL(gpiod_export);
|
||||
|
||||
static int match_export(struct device *dev, const void *desc)
|
@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
|
||||
|
||||
#include "xhci.h"
|
||||
#include "xhci-trace.h"
|
||||
@@ -257,6 +259,458 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
@@ -262,6 +264,458 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
||||
@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
|
||||
/* called during probe() after chip reset completes */
|
||||
static int xhci_pci_setup(struct usb_hcd *hcd)
|
||||
{
|
||||
@@ -292,6 +746,22 @@ static int xhci_pci_probe(struct pci_dev
|
||||
@@ -297,6 +751,22 @@ static int xhci_pci_probe(struct pci_dev
|
||||
struct hc_driver *driver;
|
||||
struct usb_hcd *hcd;
|
||||
|
||||
@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
|
||||
driver = (struct hc_driver *)id->driver_data;
|
||||
|
||||
/* For some HW implementation, a XHCI reset is just not enough... */
|
||||
@@ -356,6 +826,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
@@ -361,6 +831,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
{
|
||||
struct xhci_hcd *xhci;
|
||||
|
||||
|
@ -44,7 +44,7 @@ produce a noisy warning.
|
||||
hcd->msi_enabled = 1;
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1854,6 +1854,7 @@ struct xhci_hcd {
|
||||
@@ -1857,6 +1857,7 @@ struct xhci_hcd {
|
||||
/* support xHCI 0.96 spec USB2 software LPM */
|
||||
unsigned sw_lpm_support:1;
|
||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||
|
@ -199,6 +199,7 @@ CONFIG_GPIOLIB_IRQCHIP=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GRACE_PERIOD=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
|
@ -127,11 +127,11 @@ it on BCM4708 family.
|
||||
/*
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1835,6 +1835,7 @@ struct xhci_hcd {
|
||||
#define XHCI_LIMIT_ENDPOINT_INTERVAL_7 (1 << 26)
|
||||
#define XHCI_U2_DISABLE_WAKE (1 << 27)
|
||||
#define XHCI_ASMEDIA_MODIFY_FLOWCONTROL (1 << 28)
|
||||
+#define XHCI_FAKE_DOORBELL (1 << 29)
|
||||
#define XHCI_SUSPEND_DELAY (1 << 30)
|
||||
@@ -1839,6 +1839,7 @@ struct xhci_hcd {
|
||||
#define XHCI_SUSPEND_DELAY BIT_ULL(30)
|
||||
#define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
|
||||
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
|
||||
+#define XHCI_FAKE_DOORBELL BIT_ULL(35)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
|
@ -49,7 +49,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||
return UBI_IO_BAD_HDR_EBADMSG;
|
||||
--- a/drivers/mtd/ubi/ubi.h
|
||||
+++ b/drivers/mtd/ubi/ubi.h
|
||||
@@ -822,6 +822,7 @@ extern struct mutex ubi_devices_mutex;
|
||||
@@ -829,6 +829,7 @@ extern struct mutex ubi_devices_mutex;
|
||||
extern struct blocking_notifier_head ubi_notifiers;
|
||||
|
||||
/* attach.c */
|
||||
|
@ -202,6 +202,7 @@ CONFIG_GPIO_BCM_EXP=y
|
||||
CONFIG_GPIO_BCM_VIRT=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||
static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
|
||||
u32 *data, int in_pm)
|
||||
{
|
||||
@@ -1954,7 +1958,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1961,7 +1965,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(skb);
|
||||
skb_trim(skb, skb->len - 4); /* remove fcs */
|
||||
@ -35,7 +35,7 @@ Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -1972,7 +1977,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
@@ -1979,7 +1984,8 @@ static int smsc95xx_rx_fixup(struct usbn
|
||||
if (dev->net->features & NETIF_F_RXCSUM)
|
||||
smsc95xx_rx_csum_offload(ax_skb);
|
||||
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
|
||||
|
@ -9,7 +9,7 @@ Subject: [PATCH] kbuild: Ignore dtco targets when filtering symbols
|
||||
|
||||
--- a/scripts/Kbuild.include
|
||||
+++ b/scripts/Kbuild.include
|
||||
@@ -285,7 +285,7 @@ ksym_dep_filter =
|
||||
@@ -295,7 +295,7 @@ ksym_dep_filter =
|
||||
$(CPP) $(call flags_nodeps,c_flags) -D__KSYM_DEPS__ $< ;; \
|
||||
as_*_S|cpp_s_S) \
|
||||
$(CPP) $(call flags_nodeps,a_flags) -D__KSYM_DEPS__ $< ;; \
|
||||
|
@ -696,7 +696,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||
}
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -5072,7 +5072,7 @@ static void port_event(struct usb_hub *h
|
||||
@@ -5074,7 +5074,7 @@ static void port_event(struct usb_hub *h
|
||||
if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
|
||||
u16 status = 0, unused;
|
||||
|
||||
|
@ -57,7 +57,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
#define memset(p,v,n) \
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -477,6 +477,9 @@ do { \
|
||||
@@ -489,6 +489,9 @@ do { \
|
||||
extern unsigned long __must_check
|
||||
arm_copy_from_user(void *to, const void __user *from, unsigned long n);
|
||||
|
||||
@ -262,17 +262,21 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
+.endm
|
||||
--- a/arch/arm/lib/copy_from_user.S
|
||||
+++ b/arch/arm/lib/copy_from_user.S
|
||||
@@ -89,11 +89,13 @@
|
||||
@@ -89,7 +89,8 @@
|
||||
|
||||
.text
|
||||
|
||||
-ENTRY(arm_copy_from_user)
|
||||
+ENTRY(__copy_from_user_std)
|
||||
+WEAK(arm_copy_from_user)
|
||||
#ifdef CONFIG_CPU_SPECTRE
|
||||
get_thread_info r3
|
||||
ldr r3, [r3, #TI_ADDR_LIMIT]
|
||||
@@ -102,7 +103,7 @@ ENTRY(arm_copy_from_user)
|
||||
|
||||
#include "copy_template.S"
|
||||
|
||||
ENDPROC(arm_copy_from_user)
|
||||
-ENDPROC(arm_copy_from_user)
|
||||
+ENDPROC(__copy_from_user_std)
|
||||
|
||||
.pushsection .fixup,"ax"
|
||||
|
@ -102,15 +102,15 @@ Signed-off-by: Christopher Alexander Tobias Schulze <cat.schulze@alice-dsl.net>
|
||||
vfp_save_state(&thread->vfpstate, fpexc | FPEXC_EN);
|
||||
fmxr(FPEXC, fpexc);
|
||||
}
|
||||
@@ -604,6 +611,7 @@ int vfp_restore_user_hwstate(struct user
|
||||
@@ -602,6 +609,7 @@ int vfp_restore_user_hwstate(struct user
|
||||
struct thread_info *thread = current_thread_info();
|
||||
struct vfp_hard_struct *hwstate = &thread->vfpstate.hard;
|
||||
unsigned long fpexc;
|
||||
int err = 0;
|
||||
+ u32 fpsid = fmrx(FPSID);
|
||||
|
||||
/* Disable VFP to avoid corrupting the new thread state. */
|
||||
vfp_flush_hwstate(thread);
|
||||
@@ -627,8 +635,12 @@ int vfp_restore_user_hwstate(struct user
|
||||
@@ -624,8 +632,12 @@ int vfp_restore_user_hwstate(struct user
|
||||
/* Ensure the VFP is enabled. */
|
||||
fpexc |= FPEXC_EN;
|
||||
|
||||
@ -124,8 +124,8 @@ Signed-off-by: Christopher Alexander Tobias Schulze <cat.schulze@alice-dsl.net>
|
||||
+
|
||||
hwstate->fpexc = fpexc;
|
||||
|
||||
__get_user_error(hwstate->fpinst, &ufp_exc->fpinst, err);
|
||||
@@ -698,7 +710,8 @@ void kernel_neon_begin(void)
|
||||
hwstate->fpinst = ufp_exc->fpinst;
|
||||
@@ -695,7 +707,8 @@ void kernel_neon_begin(void)
|
||||
cpu = get_cpu();
|
||||
|
||||
fpexc = fmrx(FPEXC) | FPEXC_EN;
|
||||
|
@ -1,45 +0,0 @@
|
||||
From: Xiongfeng Wang <xiongfeng.wang@linaro.org>
|
||||
Date: Thu, 11 Jan 2018 17:22:29 +0800
|
||||
Subject: [PATCH] Kbuild: suppress packed-not-aligned warning for default
|
||||
setting only
|
||||
|
||||
gcc-8 reports many -Wpacked-not-aligned warnings. The below are some
|
||||
examples.
|
||||
|
||||
./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct
|
||||
ceph_entity_addr' is less than 8 [-Wpacked-not-aligned]
|
||||
} __attribute__ ((packed));
|
||||
|
||||
./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct
|
||||
ceph_entity_addr' is less than 8 [-Wpacked-not-aligned]
|
||||
} __attribute__ ((packed));
|
||||
|
||||
./include/linux/ceph/msgr.h:67:1: warning: alignment 1 of 'struct
|
||||
ceph_entity_addr' is less than 8 [-Wpacked-not-aligned]
|
||||
} __attribute__ ((packed));
|
||||
|
||||
This patch suppresses this kind of warnings for default setting.
|
||||
|
||||
Signed-off-by: Xiongfeng Wang <xiongfeng.wang@linaro.org>
|
||||
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
---
|
||||
|
||||
--- a/scripts/Makefile.extrawarn
|
||||
+++ b/scripts/Makefile.extrawarn
|
||||
@@ -10,6 +10,8 @@
|
||||
# are not supported by all versions of the compiler
|
||||
# ==========================================================================
|
||||
|
||||
+KBUILD_CFLAGS += $(call cc-disable-warning, packed-not-aligned)
|
||||
+
|
||||
ifeq ("$(origin W)", "command line")
|
||||
export KBUILD_ENABLE_EXTRA_GCC_CHECKS := $(W)
|
||||
endif
|
||||
@@ -25,6 +27,7 @@ warning-1 += -Wold-style-definition
|
||||
warning-1 += $(call cc-option, -Wmissing-include-dirs)
|
||||
warning-1 += $(call cc-option, -Wunused-but-set-variable)
|
||||
warning-1 += $(call cc-option, -Wunused-const-variable)
|
||||
+warning-1 += $(call cc-option, -Wpacked-not-aligned)
|
||||
warning-1 += $(call cc-disable-warning, missing-field-initializers)
|
||||
warning-1 += $(call cc-disable-warning, sign-compare)
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/usb/smsc95xx.c
|
||||
+++ b/drivers/net/usb/smsc95xx.c
|
||||
@@ -2004,13 +2004,13 @@ static struct sk_buff *smsc95xx_tx_fixup
|
||||
@@ -2011,13 +2011,13 @@ static struct sk_buff *smsc95xx_tx_fixup
|
||||
/* We do not advertise SG, so skbs should be already linearized */
|
||||
BUG_ON(skb_shinfo(skb)->nr_frags);
|
||||
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1232,7 +1232,6 @@ all: modules
|
||||
@@ -1237,7 +1237,6 @@ all: modules
|
||||
|
||||
PHONY += modules
|
||||
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
@$(kecho) ' Building modules, stage 2.';
|
||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
||||
|
||||
@@ -1261,7 +1260,6 @@ _modinst_:
|
||||
@@ -1266,7 +1265,6 @@ _modinst_:
|
||||
rm -f $(MODLIB)/build ; \
|
||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
||||
fi
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
||||
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
||||
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
|
||||
@@ -786,11 +791,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
||||
@@ -788,11 +793,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
||||
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
||||
endif
|
||||
|
||||
|
@ -90,7 +90,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__used \
|
||||
--- a/scripts/Makefile.build
|
||||
+++ b/scripts/Makefile.build
|
||||
@@ -434,7 +434,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
|
||||
@@ -432,7 +432,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
|
||||
# Linker scripts preprocessor (.lds.S -> .lds)
|
||||
# ---------------------------------------------------------------------------
|
||||
quiet_cmd_cpp_lds_S = LDS $@
|
||||
|
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
*/
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2496,6 +2496,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
@@ -2512,6 +2512,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||
* @skb: buffer to alter
|
||||
@@ -2626,16 +2630,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
@@ -2642,16 +2646,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
}
|
||||
|
||||
|
||||
|
@ -243,7 +243,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
--- a/mm/vmstat.c
|
||||
+++ b/mm/vmstat.c
|
||||
@@ -1951,10 +1951,12 @@ void __init init_mm_internals(void)
|
||||
@@ -1955,10 +1955,12 @@ void __init init_mm_internals(void)
|
||||
start_shepherd_timer();
|
||||
#endif
|
||||
#ifdef CONFIG_PROC_FS
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1213,7 +1213,6 @@ all: modules
|
||||
@@ -1229,7 +1229,6 @@ all: modules
|
||||
|
||||
PHONY += modules
|
||||
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
@$(kecho) ' Building modules, stage 2.';
|
||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild
|
||||
@@ -1243,7 +1242,6 @@ _modinst_:
|
||||
@@ -1259,7 +1258,6 @@ _modinst_:
|
||||
rm -f $(MODLIB)/build ; \
|
||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
||||
fi
|
||||
|
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
||||
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
||||
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
|
||||
@@ -638,11 +643,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
||||
@@ -671,11 +676,6 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias)
|
||||
|
||||
@ -43,8 +43,8 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
-endif
|
||||
-
|
||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
|
||||
else
|
||||
KBUILD_CFLAGS += $(call cc-option,-Oz,-Os)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -81,6 +81,7 @@ config ARM
|
||||
|
@ -90,7 +90,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
__used \
|
||||
--- a/scripts/Makefile.build
|
||||
+++ b/scripts/Makefile.build
|
||||
@@ -401,7 +401,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
|
||||
@@ -409,7 +409,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(
|
||||
# Linker scripts preprocessor (.lds.S -> .lds)
|
||||
# ---------------------------------------------------------------------------
|
||||
quiet_cmd_cpp_lds_S = LDS $@
|
||||
|
@ -67,7 +67,7 @@
|
||||
struct mtd_partition *part;
|
||||
--- a/drivers/mtd/mtdsplit/mtdsplit_tplink.c
|
||||
+++ b/drivers/mtd/mtdsplit/mtdsplit_tplink.c
|
||||
@@ -83,8 +83,8 @@ struct tplink_fw_header {
|
||||
@@ -84,8 +84,8 @@ struct tplink_fw_header {
|
||||
};
|
||||
|
||||
static int mtdsplit_parse_tplink(struct mtd_info *master,
|
||||
@ -91,7 +91,7 @@
|
||||
struct mtd_partition *parts;
|
||||
--- a/drivers/mtd/mtdsplit/mtdsplit_uimage.c
|
||||
+++ b/drivers/mtd/mtdsplit/mtdsplit_uimage.c
|
||||
@@ -81,7 +81,7 @@ read_uimage_header(struct mtd_info *mtd,
|
||||
@@ -82,7 +82,7 @@ read_uimage_header(struct mtd_info *mtd,
|
||||
* of a valid uImage header if found
|
||||
*/
|
||||
static int __mtdsplit_parse_uimage(struct mtd_info *master,
|
||||
@ -100,7 +100,7 @@
|
||||
struct mtd_part_parser_data *data,
|
||||
ssize_t (*find_header)(u_char *buf, size_t len))
|
||||
{
|
||||
@@ -232,7 +232,7 @@ static ssize_t uimage_verify_default(u_c
|
||||
@@ -233,7 +233,7 @@ static ssize_t uimage_verify_default(u_c
|
||||
|
||||
static int
|
||||
mtdsplit_uimage_parse_generic(struct mtd_info *master,
|
||||
@ -109,7 +109,7 @@
|
||||
struct mtd_part_parser_data *data)
|
||||
{
|
||||
return __mtdsplit_parse_uimage(master, pparts, data,
|
||||
@@ -289,7 +289,7 @@ static ssize_t uimage_verify_wndr3700(u_
|
||||
@@ -300,7 +300,7 @@ static ssize_t uimage_verify_wndr3700(u_
|
||||
|
||||
static int
|
||||
mtdsplit_uimage_parse_netgear(struct mtd_info *master,
|
||||
@ -118,7 +118,7 @@
|
||||
struct mtd_part_parser_data *data)
|
||||
{
|
||||
return __mtdsplit_parse_uimage(master, pparts, data,
|
||||
@@ -331,7 +331,7 @@ static ssize_t uimage_find_edimax(u_char
|
||||
@@ -352,7 +352,7 @@ static ssize_t uimage_find_edimax(u_char
|
||||
|
||||
static int
|
||||
mtdsplit_uimage_parse_edimax(struct mtd_info *master,
|
||||
|
@ -95,7 +95,7 @@
|
||||
ret |= BMCR_ANENABLE | BMCR_ANRESTART;
|
||||
return phy_write(phydev, MII_BMCR, ret);
|
||||
}
|
||||
@@ -2012,7 +2012,7 @@ ar8xxx_phy_config_init(struct phy_device
|
||||
@@ -2021,7 +2021,7 @@ ar8xxx_phy_config_init(struct phy_device
|
||||
|
||||
priv->phy = phydev;
|
||||
|
||||
@ -104,7 +104,7 @@
|
||||
if (chip_is_ar8316(priv)) {
|
||||
/* switch device has been initialized, reinit */
|
||||
priv->dev.ports = (AR8216_NUM_PORTS - 1);
|
||||
@@ -2060,7 +2060,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
|
||||
@@ -2069,7 +2069,7 @@ ar8xxx_check_link_states(struct ar8xxx_p
|
||||
/* flush ARL entries for this port if it went down*/
|
||||
if (!link_new)
|
||||
priv->chip->atu_flush_port(priv, i);
|
||||
@ -113,7 +113,7 @@
|
||||
i, link_new ? "up" : "down");
|
||||
}
|
||||
|
||||
@@ -2079,10 +2079,10 @@ ar8xxx_phy_read_status(struct phy_device
|
||||
@@ -2088,10 +2088,10 @@ ar8xxx_phy_read_status(struct phy_device
|
||||
if (phydev->state == PHY_CHANGELINK)
|
||||
ar8xxx_check_link_states(priv);
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
phydev->link = !!link.link;
|
||||
if (!phydev->link)
|
||||
return 0;
|
||||
@@ -2112,7 +2112,7 @@ ar8xxx_phy_read_status(struct phy_device
|
||||
@@ -2122,7 +2122,7 @@ ar8xxx_phy_read_status(struct phy_device
|
||||
static int
|
||||
ar8xxx_phy_config_aneg(struct phy_device *phydev)
|
||||
{
|
||||
@ -135,12 +135,12 @@
|
||||
return 0;
|
||||
|
||||
return genphy_config_aneg(phydev);
|
||||
@@ -2167,15 +2167,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
||||
@@ -2177,15 +2177,15 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
||||
int ret;
|
||||
|
||||
/* skip PHYs at unused adresses */
|
||||
- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 4)
|
||||
+ if (phydev->addr != 0 && phydev->addr != 4)
|
||||
- if (phydev->mdio.addr != 0 && phydev->mdio.addr != 3 && phydev->mdio.addr != 4)
|
||||
+ if (phydev->addr != 0 && phydev->addr != 3 && phydev->addr != 4)
|
||||
return -ENODEV;
|
||||
|
||||
- if (!ar8xxx_is_possible(phydev->mdio.bus))
|
||||
@ -154,7 +154,7 @@
|
||||
goto found;
|
||||
|
||||
priv = ar8xxx_create();
|
||||
@@ -2184,7 +2184,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
||||
@@ -2194,7 +2194,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
@ -163,7 +163,7 @@
|
||||
|
||||
ret = ar8xxx_probe_switch(priv);
|
||||
if (ret)
|
||||
@@ -2205,7 +2205,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
||||
@@ -2215,7 +2215,7 @@ ar8xxx_phy_probe(struct phy_device *phyd
|
||||
found:
|
||||
priv->use_count++;
|
||||
|
||||
@ -172,7 +172,7 @@
|
||||
if (ar8xxx_has_gige(priv)) {
|
||||
phydev->supported = SUPPORTED_1000baseT_Full;
|
||||
phydev->advertising = ADVERTISED_1000baseT_Full;
|
||||
@@ -2293,21 +2293,33 @@ ar8xxx_phy_soft_reset(struct phy_device
|
||||
@@ -2305,21 +2305,33 @@ ar8xxx_phy_soft_reset(struct phy_device
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -223,7 +223,7 @@
|
||||
MODULE_LICENSE("GPL");
|
||||
--- a/drivers/net/phy/ar8327.c
|
||||
+++ b/drivers/net/phy/ar8327.c
|
||||
@@ -619,11 +619,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
|
||||
@@ -662,11 +662,11 @@ ar8327_hw_init(struct ar8xxx_priv *priv)
|
||||
if (!priv->chip_data)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!(skb->dev->features & NETIF_F_GRO))
|
||||
goto normal;
|
||||
|
||||
@@ -5099,6 +5102,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -5103,6 +5106,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *private)
|
||||
@@ -5159,6 +5204,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -5163,6 +5208,7 @@ static int __netdev_upper_dev_link(struc
|
||||
goto rollback_lower_mesh;
|
||||
}
|
||||
|
||||
@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
||||
return 0;
|
||||
|
||||
@@ -5276,6 +5322,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -5280,6 +5326,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
||||
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
|
||||
|
||||
@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
||||
}
|
||||
EXPORT_SYMBOL(netdev_upper_dev_unlink);
|
||||
@@ -5795,6 +5842,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -5799,6 +5846,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
|
||||
|
||||
--- a/mm/page_alloc.c
|
||||
+++ b/mm/page_alloc.c
|
||||
@@ -6153,7 +6153,7 @@ static void __ref alloc_node_mem_map(str
|
||||
@@ -6151,7 +6151,7 @@ static void __ref alloc_node_mem_map(str
|
||||
mem_map = NODE_DATA(0)->node_mem_map;
|
||||
#if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
|
||||
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -652,12 +652,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
||||
@@ -654,12 +654,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
||||
|
||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
KBUILD_CFLAGS += $(call cc-option,-Oz,-Os)
|
||||
|
@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/mtd/ubi/build.c
|
||||
+++ b/drivers/mtd/ubi/build.c
|
||||
@@ -1171,6 +1171,73 @@ static struct mtd_info * __init open_mtd
|
||||
@@ -1172,6 +1172,73 @@ static struct mtd_info * __init open_mtd
|
||||
return mtd;
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static int __init ubi_init(void)
|
||||
{
|
||||
int err, i, k;
|
||||
@@ -1254,6 +1321,12 @@ static int __init ubi_init(void)
|
||||
@@ -1255,6 +1322,12 @@ static int __init ubi_init(void)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
break;
|
||||
--- a/drivers/mtd/ubi/ubi.h
|
||||
+++ b/drivers/mtd/ubi/ubi.h
|
||||
@@ -778,6 +778,7 @@ struct ubi_attach_info {
|
||||
@@ -785,6 +785,7 @@ struct ubi_attach_info {
|
||||
int mean_ec;
|
||||
uint64_t ec_sum;
|
||||
int ec_count;
|
||||
|
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2460,7 +2460,7 @@ static inline int pskb_network_may_pull(
|
||||
@@ -2476,7 +2476,7 @@ static inline int pskb_network_may_pull(
|
||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||
*/
|
||||
#ifndef NET_SKB_PAD
|
||||
|
@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
static const struct rt6_info ip6_blk_hole_entry_template = {
|
||||
.dst = {
|
||||
.__refcnt = ATOMIC_INIT(1),
|
||||
@@ -2043,6 +2060,11 @@ static struct rt6_info *ip6_route_info_c
|
||||
@@ -2046,6 +2063,11 @@ static struct rt6_info *ip6_route_info_c
|
||||
rt->dst.output = ip6_pkt_prohibit_out;
|
||||
rt->dst.input = ip6_pkt_prohibit;
|
||||
break;
|
||||
@ -153,7 +153,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case RTN_THROW:
|
||||
case RTN_UNREACHABLE:
|
||||
default:
|
||||
@@ -2768,6 +2790,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
@@ -2771,6 +2793,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||
}
|
||||
|
||||
@ -171,7 +171,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
/*
|
||||
* Allocate a dst for local (unicast / anycast) address.
|
||||
*/
|
||||
@@ -3004,7 +3037,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
@@ -3007,7 +3040,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||
rtm->rtm_type == RTN_PROHIBIT ||
|
||||
@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -3499,6 +3533,9 @@ static int rt6_fill_node(struct net *net
|
||||
@@ -3502,6 +3536,9 @@ static int rt6_fill_node(struct net *net
|
||||
case -EACCES:
|
||||
rtm->rtm_type = RTN_PROHIBIT;
|
||||
break;
|
||||
@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case -EAGAIN:
|
||||
rtm->rtm_type = RTN_THROW;
|
||||
break;
|
||||
@@ -3817,6 +3854,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -3820,6 +3857,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
@ -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->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -3828,6 +3867,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -3831,6 +3870,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
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);
|
||||
#endif
|
||||
}
|
||||
@@ -4044,6 +4084,17 @@ static int __net_init ip6_route_net_init
|
||||
@@ -4047,6 +4087,17 @@ static int __net_init ip6_route_net_init
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
|
||||
net->ipv6.sysctl.flush_delay = 0;
|
||||
@@ -4062,6 +4113,8 @@ out:
|
||||
@@ -4065,6 +4116,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -4079,6 +4132,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -4082,6 +4135,7 @@ static void __net_exit ip6_route_net_exi
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
}
|
||||
@@ -4152,6 +4206,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -4155,6 +4209,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_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);
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (netif_elide_gro(skb->dev))
|
||||
goto normal;
|
||||
|
||||
@@ -6275,6 +6278,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -6279,6 +6282,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info)
|
||||
@@ -6313,6 +6358,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -6317,6 +6362,7 @@ static int __netdev_upper_dev_link(struc
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -6390,6 +6436,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -6394,6 +6440,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
|
||||
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
|
||||
|
||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
}
|
||||
@@ -6962,6 +7009,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -6966,6 +7013,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
@ -14,12 +14,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -644,12 +644,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata
|
||||
endif
|
||||
@@ -678,12 +678,12 @@ endif
|
||||
|
||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
-KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
|
||||
+KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
|
||||
KBUILD_CFLAGS += $(call cc-option,-Oz,-Os)
|
||||
-KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,)
|
||||
+KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) $(EXTRA_OPTIMIZATION)
|
||||
else
|
||||
ifdef CONFIG_PROFILE_ALL_BRANCHES
|
||||
-KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,)
|
||||
|
@ -141,7 +141,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
static const struct rt6_info ip6_blk_hole_entry_template = {
|
||||
.dst = {
|
||||
.__refcnt = ATOMIC_INIT(1),
|
||||
@@ -1967,6 +1984,11 @@ static struct rt6_info *ip6_route_info_c
|
||||
@@ -1970,6 +1987,11 @@ static struct rt6_info *ip6_route_info_c
|
||||
rt->dst.output = ip6_pkt_prohibit_out;
|
||||
rt->dst.input = ip6_pkt_prohibit;
|
||||
break;
|
||||
@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case -EAGAIN:
|
||||
rtm->rtm_type = RTN_THROW;
|
||||
break;
|
||||
@@ -3490,6 +3527,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -3498,6 +3535,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
@ -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->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -3501,6 +3540,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -3509,6 +3548,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put(net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
in6_dev_put(net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||
@ -208,7 +208,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
in6_dev_put(net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||
#endif
|
||||
}
|
||||
@@ -3716,6 +3756,17 @@ static int __net_init ip6_route_net_init
|
||||
@@ -3724,6 +3764,17 @@ static int __net_init ip6_route_net_init
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@ -226,7 +226,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
|
||||
net->ipv6.sysctl.flush_delay = 0;
|
||||
@@ -3734,6 +3785,8 @@ out:
|
||||
@@ -3742,6 +3793,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -3751,6 +3804,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -3759,6 +3812,7 @@ static void __net_exit ip6_route_net_exi
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
}
|
||||
@@ -3824,6 +3878,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -3832,6 +3886,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_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);
|
||||
|
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
if (!(skb->dev->features & NETIF_F_GRO))
|
||||
goto normal;
|
||||
|
||||
@@ -5860,6 +5863,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
@@ -5864,6 +5867,48 @@ static void __netdev_adjacent_dev_unlink
|
||||
&upper_dev->adj_list.lower);
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||
struct net_device *upper_dev, bool master,
|
||||
void *upper_priv, void *upper_info)
|
||||
@@ -5932,6 +5977,7 @@ static int __netdev_upper_dev_link(struc
|
||||
@@ -5936,6 +5981,7 @@ static int __netdev_upper_dev_link(struc
|
||||
goto rollback_lower_mesh;
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
ret = notifier_to_errno(ret);
|
||||
@@ -6058,6 +6104,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
@@ -6062,6 +6108,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
||||
__netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr);
|
||||
|
||||
@ -109,7 +109,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev,
|
||||
&changeupper_info.info);
|
||||
}
|
||||
@@ -6660,6 +6707,7 @@ int dev_set_mac_address(struct net_devic
|
||||
@@ -6664,6 +6711,7 @@ int dev_set_mac_address(struct net_devic
|
||||
if (err)
|
||||
return err;
|
||||
dev->addr_assign_type = NET_ADDR_SET;
|
||||
|
@ -0,0 +1,50 @@
|
||||
From a3488aa9bed37c56e405967d44e821c484b5d6b9 Mon Sep 17 00:00:00 2001
|
||||
From: Ram Chandra Jangir <rjangir@codeaurora.org>
|
||||
Date: Fri, 28 Sep 2018 15:19:50 +0530
|
||||
Subject: [PATCH] ipq8064: pinctrl: Fixed missing RGMII pincontrol definitions
|
||||
|
||||
Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
|
||||
---
|
||||
drivers/pinctrl/qcom/pinctrl-ipq8064.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/drivers/pinctrl/qcom/pinctrl-ipq8064.c
|
||||
+++ b/drivers/pinctrl/qcom/pinctrl-ipq8064.c
|
||||
@@ -308,7 +308,7 @@ static const char * const gpio_groups[]
|
||||
};
|
||||
|
||||
static const char * const mdio_groups[] = {
|
||||
- "gpio0", "gpio1", "gpio10", "gpio11",
|
||||
+ "gpio0", "gpio1", "gpio2", "gpio10", "gpio11", "gpio66",
|
||||
};
|
||||
|
||||
static const char * const mi2s_groups[] = {
|
||||
@@ -412,8 +412,8 @@ static const char * const usb2_hsic_grou
|
||||
};
|
||||
|
||||
static const char * const rgmii2_groups[] = {
|
||||
- "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
|
||||
- "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62",
|
||||
+ "gpio2", "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
|
||||
+ "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62", "gpio66",
|
||||
};
|
||||
|
||||
static const char * const sata_groups[] = {
|
||||
@@ -548,7 +548,7 @@ static const struct msm_function ipq8064
|
||||
static const struct msm_pingroup ipq8064_groups[] = {
|
||||
PINGROUP(0, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(1, mdio, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
- PINGROUP(2, gsbi5_spi_cs3, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
+ PINGROUP(2, gsbi5_spi_cs3, rgmii2, mdio, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(3, pcie1_rst, pcie1_prsnt, pdm, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(4, pcie1_pwren_n, pcie1_pwren, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(5, pcie1_clk_req, pcie1_pwrflt, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
@@ -612,7 +612,7 @@ static const struct msm_pingroup ipq8064
|
||||
PINGROUP(63, pcie3_rst, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(64, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(65, pcie3_clk_req, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
- PINGROUP(66, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
+ PINGROUP(66, rgmii2, mdio, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(67, usb2_hsic, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
PINGROUP(68, usb2_hsic, NA, NA, NA, NA, NA, NA, NA, NA, NA),
|
||||
SDC_PINGROUP(sdc3_clk, 0x204a, 14, 6),
|
@ -353,6 +353,7 @@ CONFIG_GPIO_TPS65910=y
|
||||
CONFIG_GPIO_TWL4030=y
|
||||
CONFIG_GPIO_XILINX=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
|
@ -502,6 +502,7 @@ CONFIG_GPIO_TPS65910=y
|
||||
CONFIG_GPIO_TWL4030=y
|
||||
CONFIG_GPIO_XILINX=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
|
@ -1297,7 +1297,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
#ifdef CONFIG_XPS
|
||||
static DEFINE_MUTEX(xps_map_mutex);
|
||||
#define xmap_dereference(P) \
|
||||
@@ -6652,9 +6669,18 @@ int dev_set_mtu(struct net_device *dev,
|
||||
@@ -6656,9 +6673,18 @@ int dev_set_mtu(struct net_device *dev,
|
||||
if (new_mtu == dev->mtu)
|
||||
return 0;
|
||||
|
||||
|
@ -157,7 +157,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
int ret;
|
||||
--- a/drivers/usb/core/hub.c
|
||||
+++ b/drivers/usb/core/hub.c
|
||||
@@ -4431,6 +4431,14 @@ hub_port_init(struct usb_hub *hub, struc
|
||||
@@ -4433,6 +4433,14 @@ hub_port_init(struct usb_hub *hub, struc
|
||||
else
|
||||
speed = usb_speed_string(udev->speed);
|
||||
|
||||
@ -637,7 +637,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -2932,6 +2932,7 @@ static irqreturn_t dwc3_interrupt(int ir
|
||||
@@ -2927,6 +2927,7 @@ static irqreturn_t dwc3_interrupt(int ir
|
||||
int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
{
|
||||
int ret, irq;
|
||||
@ -645,7 +645,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
struct platform_device *dwc3_pdev = to_platform_device(dwc->dev);
|
||||
|
||||
irq = platform_get_irq_byname(dwc3_pdev, "peripheral");
|
||||
@@ -3046,6 +3047,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
@@ -3041,6 +3042,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
goto err5;
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
if (!xhci->shared_hcd) {
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -268,6 +268,9 @@ static int xhci_pci_setup(struct usb_hcd
|
||||
@@ -273,6 +273,9 @@ static int xhci_pci_setup(struct usb_hcd
|
||||
if (!xhci->sbrn)
|
||||
pci_read_config_byte(pdev, XHCI_SBRN_OFFSET, &xhci->sbrn);
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
From d41237229464ae03fe116b591e8a2fda4ffea48e Mon Sep 17 00:00:00 2001
|
||||
From: Mathias Kresin <dev@kresin.me>
|
||||
Date: Sun, 28 Oct 2018 12:46:55 +0100
|
||||
Subject: [PATCH] MIPS: ralink: Fix mt7620 nd_sd pinmux
|
||||
|
||||
In case the nd_sd group is set to the sd-card function, Pins 45 + 46 are
|
||||
configured as GPIOs. If they are blocked by the sd function, they can't
|
||||
be used as GPIOs.
|
||||
|
||||
Signed-off-by: Mathias Kresin <dev@kresin.me>
|
||||
Reported-by: Kristian Evensen <kristian.evensen@gmail.com>
|
||||
Fixes: f576fb6a0700 ("MIPS: ralink: cleanup the soc specific pinmux
|
||||
data")
|
||||
Cc: stable@vger.kernel.org # v3.18+
|
||||
---
|
||||
arch/mips/ralink/mt7620.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/mips/ralink/mt7620.c
|
||||
+++ b/arch/mips/ralink/mt7620.c
|
||||
@@ -84,7 +84,7 @@ static struct rt2880_pmx_func pcie_rst_g
|
||||
};
|
||||
static struct rt2880_pmx_func nd_sd_grp[] = {
|
||||
FUNC("nand", MT7620_GPIO_MODE_NAND, 45, 15),
|
||||
- FUNC("sd", MT7620_GPIO_MODE_SD, 45, 15)
|
||||
+ FUNC("sd", MT7620_GPIO_MODE_SD, 47, 13)
|
||||
};
|
||||
|
||||
static struct rt2880_pmx_group mt7620a_pinmux_data[] = {
|
@ -9,8 +9,6 @@ Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
|
||||
drivers/gpio/gpio-ralink.c | 2 +-
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
|
||||
index 5cd17f225fe3..2775449614d4 100644
|
||||
--- a/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
|
||||
+++ b/Documentation/devicetree/bindings/gpio/gpio-ralink.txt
|
||||
@@ -17,6 +17,9 @@ Required properties:
|
||||
@ -33,11 +31,9 @@ index 5cd17f225fe3..2775449614d4 100644
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <6>;
|
||||
|
||||
diff --git a/drivers/gpio/gpio-ralink.c b/drivers/gpio/gpio-ralink.c
|
||||
index 27910e384013..b6e30083d012 100644
|
||||
--- a/drivers/gpio/gpio-ralink.c
|
||||
+++ b/drivers/gpio/gpio-ralink.c
|
||||
@@ -220,7 +220,7 @@ static int gpio_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw)
|
||||
@@ -220,7 +220,7 @@ static int gpio_map(struct irq_domain *d
|
||||
}
|
||||
|
||||
static const struct irq_domain_ops irq_domain_ops = {
|
||||
@ -46,6 +42,3 @@ index 27910e384013..b6e30083d012 100644
|
||||
.map = gpio_map,
|
||||
};
|
||||
|
||||
--
|
||||
2.16.4
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
#include <asm/mipsregs.h>
|
||||
#include <asm/smp-ops.h>
|
||||
@@ -16,6 +16,7 @@
|
||||
@@ -16,6 +17,7 @@
|
||||
#include <asm/mach-ralink/ralink_regs.h>
|
||||
#include <asm/mach-ralink/mt7621.h>
|
||||
#include <asm/mips-boards/launch.h>
|
||||
@ -16,7 +16,7 @@
|
||||
|
||||
#include <pinmux.h>
|
||||
|
||||
@@ -177,6 +178,58 @@ bool plat_cpu_core_present(int core)
|
||||
@@ -177,6 +179,58 @@ bool plat_cpu_core_present(int core)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -201,7 +201,7 @@
|
||||
of_clk_init(NULL);
|
||||
timer_probe();
|
||||
}
|
||||
--- a/include/dt-bindings/clock/mt7621-clk.h
|
||||
--- /dev/null
|
||||
+++ b/include/dt-bindings/clock/mt7621-clk.h
|
||||
@@ -0,0 +1,18 @@
|
||||
+/*
|
||||
|
@ -12,10 +12,10 @@ BOARDNAME:=Mikrotik RouterBoard 532
|
||||
FEATURES:=pci targz squashfs minor nand
|
||||
MAINTAINER:=Roman Yeryomin <roman@advem.lv>
|
||||
|
||||
KERNEL_PATCHVER:=4.9
|
||||
KERNEL_PATCHVER:=4.14
|
||||
|
||||
include $(INCLUDE_DIR)/target.mk
|
||||
|
||||
DEFAULT_PACKAGES += wpad-mini kmod-ath5k kmod-input-rb532 e2fsprogs mkf2fs nand-utils
|
||||
DEFAULT_PACKAGES += wpad-basic kmod-ath5k kmod-input-rb532 e2fsprogs mkf2fs nand-utils
|
||||
|
||||
$(eval $(call BuildTarget))
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
spinlock_t lock; /* NIC xmit lock */
|
||||
|
||||
@@ -890,8 +888,6 @@ static void korina_restart_task(struct w
|
||||
@@ -891,8 +889,6 @@ static void korina_restart_task(struct w
|
||||
*/
|
||||
disable_irq(lp->rx_irq);
|
||||
disable_irq(lp->tx_irq);
|
||||
@ -18,7 +18,7 @@
|
||||
|
||||
writel(readl(&lp->tx_dma_regs->dmasm) |
|
||||
DMA_STAT_FINI | DMA_STAT_ERR,
|
||||
@@ -910,40 +906,10 @@ static void korina_restart_task(struct w
|
||||
@@ -911,40 +907,10 @@ static void korina_restart_task(struct w
|
||||
}
|
||||
korina_multicast_list(dev);
|
||||
|
||||
@ -59,7 +59,7 @@
|
||||
static void korina_tx_timeout(struct net_device *dev)
|
||||
{
|
||||
struct korina_private *lp = netdev_priv(dev);
|
||||
@@ -951,25 +917,6 @@ static void korina_tx_timeout(struct net
|
||||
@@ -952,25 +918,6 @@ static void korina_tx_timeout(struct net
|
||||
schedule_work(&lp->restart_task);
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@
|
||||
#ifdef CONFIG_NET_POLL_CONTROLLER
|
||||
static void korina_poll_controller(struct net_device *dev)
|
||||
{
|
||||
@@ -992,8 +939,7 @@ static int korina_open(struct net_device
|
||||
@@ -993,8 +940,7 @@ static int korina_open(struct net_device
|
||||
}
|
||||
|
||||
/* Install the interrupt handler
|
||||
@ -95,7 +95,7 @@
|
||||
ret = request_irq(lp->rx_irq, korina_rx_dma_interrupt,
|
||||
0, "Korina ethernet Rx", dev);
|
||||
if (ret < 0) {
|
||||
@@ -1009,31 +955,10 @@ static int korina_open(struct net_device
|
||||
@@ -1010,31 +956,10 @@ static int korina_open(struct net_device
|
||||
goto err_free_rx_irq;
|
||||
}
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
err_free_rx_irq:
|
||||
free_irq(lp->rx_irq, dev);
|
||||
err_release:
|
||||
@@ -1051,8 +976,6 @@ static int korina_close(struct net_devic
|
||||
@@ -1052,8 +977,6 @@ static int korina_close(struct net_devic
|
||||
/* Disable interrupts */
|
||||
disable_irq(lp->rx_irq);
|
||||
disable_irq(lp->tx_irq);
|
||||
@ -136,7 +136,7 @@
|
||||
|
||||
korina_abort_tx(dev);
|
||||
tmp = readl(&lp->tx_dma_regs->dmasm);
|
||||
@@ -1072,8 +995,6 @@ static int korina_close(struct net_devic
|
||||
@@ -1073,8 +996,6 @@ static int korina_close(struct net_devic
|
||||
|
||||
free_irq(lp->rx_irq, dev);
|
||||
free_irq(lp->tx_irq, dev);
|
@ -92,22 +92,22 @@
|
||||
{
|
||||
struct korina_private *lp = netdev_priv(dev);
|
||||
|
||||
@@ -727,10 +731,10 @@ static u32 netdev_get_link(struct net_de
|
||||
@@ -728,10 +732,10 @@ static u32 netdev_get_link(struct net_de
|
||||
}
|
||||
|
||||
static const struct ethtool_ops netdev_ethtool_ops = {
|
||||
- .get_drvinfo = netdev_get_drvinfo,
|
||||
- .get_settings = netdev_get_settings,
|
||||
- .set_settings = netdev_set_settings,
|
||||
- .get_link = netdev_get_link,
|
||||
- .get_link_ksettings = netdev_get_link_ksettings,
|
||||
- .set_link_ksettings = netdev_set_link_ksettings,
|
||||
+ .get_drvinfo = netdev_get_drvinfo,
|
||||
+ .get_settings = netdev_get_settings,
|
||||
+ .set_settings = netdev_set_settings,
|
||||
+ .get_link = netdev_get_link,
|
||||
+ .get_link_ksettings = netdev_get_link_ksettings,
|
||||
+ .set_link_ksettings = netdev_set_link_ksettings,
|
||||
};
|
||||
|
||||
static int korina_alloc_ring(struct net_device *dev)
|
||||
@@ -862,7 +866,7 @@ static int korina_init(struct net_device
|
||||
@@ -863,7 +867,7 @@ static int korina_init(struct net_device
|
||||
/* Management Clock Prescaler Divisor
|
||||
* Clock independent setting */
|
||||
writel(((idt_cpu_freq) / MII_CLOCK + 1) & ~1,
|
||||
@ -116,7 +116,7 @@
|
||||
|
||||
/* don't transmit until fifo contains 48b */
|
||||
writel(48, &lp->eth_regs->ethfifott);
|
||||
@@ -945,14 +949,14 @@ static int korina_open(struct net_device
|
||||
@@ -946,14 +950,14 @@ static int korina_open(struct net_device
|
||||
0, "Korina ethernet Rx", dev);
|
||||
if (ret < 0) {
|
||||
printk(KERN_ERR "%s: unable to get Rx DMA IRQ %d\n",
|
Loading…
Reference in New Issue
Block a user