ath79: refresh 6.18 kernel patches

Remove upstreamed:
001-irqchip-ath79-misc-fix-missing-prototypes-warnings.patch [1]

Manually rebased:
341-wifi-ath9k-obtain-system-gpios.patch
820-mfd-syscon-support-skip-reset-control-for-syscon-devices.patch
900-unaligned_access_hacks.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=3085ef9d9e7ab5ae4cddbe809e2e3b8dc11cdc75

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/22771
Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit is contained in:
Shiji Yang 2026-04-03 22:38:49 +08:00 committed by Nick Hainke
parent d593863787
commit b384ad22e7
13 changed files with 95 additions and 140 deletions

View File

@ -1,55 +0,0 @@
From: Shiji Yang <yangshiji66@outlook.com>
Date: Thu, 1 May 2025 01:59:06 +0800
Subject: [PATCH] irqchip/ath79-misc: fix missing prototypes warnings
ath79_misc_irq_init() was defined but unused since commit
51fa4f8912c0 ("MIPS: ath79: drop legacy IRQ code"), so it's time
to drop it. This patch also adds the missing header "asm/time.h"
which defines the prototype of get_c0_perfcount_int().
Fix the following warnings:
drivers/irqchip/irq-ath79-misc.c:26:5: error: no previous prototype for 'get_c0_perfcount_int' [-Werror=missing-prototypes]
26 | int get_c0_perfcount_int(void)
| ^~~~~~~~~~~~~~~~~~~~
drivers/irqchip/irq-ath79-misc.c:181:13: error: no previous prototype for 'ath79_misc_irq_init' [-Werror=missing-prototypes]
181 | void __init ath79_misc_irq_init(void __iomem *regs, int irq,
| ^~~~~~~~~~~~~~~~~~~
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
---
drivers/irqchip/irq-ath79-misc.c | 19 +------------------
1 file changed, 1 insertion(+), 18 deletions(-)
--- a/drivers/irqchip/irq-ath79-misc.c
+++ b/drivers/irqchip/irq-ath79-misc.c
@@ -10,6 +10,7 @@
* Parts of this file are based on Atheros' 2.6.15/2.6.31 BSP
*/
+#include <asm/time.h>
#include <linux/irqchip.h>
#include <linux/irqchip/chained_irq.h>
#include <linux/of_address.h>
@@ -177,21 +178,3 @@ static int __init ar7240_misc_intc_of_in
IRQCHIP_DECLARE(ar7240_misc_intc, "qca,ar7240-misc-intc",
ar7240_misc_intc_of_init);
-
-void __init ath79_misc_irq_init(void __iomem *regs, int irq,
- int irq_base, bool is_ar71xx)
-{
- struct irq_domain *domain;
-
- if (is_ar71xx)
- ath79_misc_irq_chip.irq_mask_ack = ar71xx_misc_irq_mask;
- else
- ath79_misc_irq_chip.irq_ack = ar724x_misc_irq_ack;
-
- domain = irq_domain_add_legacy(NULL, ATH79_MISC_IRQ_COUNT,
- irq_base, 0, &misc_irq_domain_ops, regs);
- if (!domain)
- panic("Failed to create MISC irqdomain");
-
- ath79_misc_intc_domain_init(domain, irq);
-}

View File

@ -11,7 +11,7 @@ Submitted-by: John Crispin <john@phrozen.org>
--- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c
@@ -291,7 +291,11 @@ static struct platform_driver ath79_gpio
@@ -287,7 +287,11 @@ static struct platform_driver ath79_gpio
.probe = ath79_gpio_probe,
};

View File

@ -172,15 +172,15 @@ Best regards,
--- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c
@@ -10,6 +10,7 @@
@@ -11,6 +11,7 @@
#include <linux/device.h>
#include <linux/gpio/driver.h>
#include <linux/gpio/generic.h>
+#include <linux/gpio/machine.h> /* For WLAN GPIOs */
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/mod_devicetable.h>
@@ -222,6 +223,37 @@ static const struct of_device_id ath79_g
@@ -214,6 +215,37 @@ static const struct of_device_id ath79_g
};
MODULE_DEVICE_TABLE(of, ath79_gpio_of_match);
@ -217,17 +217,17 @@ Best regards,
+
static int ath79_gpio_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
@@ -280,7 +312,11 @@ static int ath79_gpio_probe(struct platf
struct gpio_generic_chip_config config;
@@ -276,7 +308,11 @@ static int ath79_gpio_probe(struct platf
girq->handler = handle_simple_irq;
}
- return devm_gpiochip_add_data(dev, &ctrl->gc, ctrl);
+ err = devm_gpiochip_add_data(dev, &ctrl->gc, ctrl);
- return devm_gpiochip_add_data(dev, &ctrl->chip.gc, ctrl);
+ err = devm_gpiochip_add_data(dev, &ctrl->chip.gc, ctrl);
+ if (err)
+ return err;
+
+ return ath79_gpio_register_wifi_descriptors(dev, ctrl->gc.label);
+ return ath79_gpio_register_wifi_descriptors(dev, ctrl->chip.gc.label);
}
static struct platform_driver ath79_gpio_driver = {

View File

@ -15,7 +15,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -242,6 +242,8 @@ config ATH79
@@ -243,6 +243,8 @@ config ATH79
select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_MIPS16
select SYS_SUPPORTS_ZBOOT_UART_PROM

View File

@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -3526,12 +3526,19 @@ static int spi_nor_set_mtd_info(struct s
@@ -3503,12 +3503,19 @@ static int spi_nor_set_mtd_info(struct s
{
struct mtd_info *mtd = &nor->mtd;
struct device *dev = nor->dev;
@ -33,7 +33,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
mtd->flags = MTD_CAP_NORFLASH;
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -849,6 +849,17 @@ out_error:
@@ -902,6 +902,17 @@ out_error:
*/
static void mtd_set_dev_defaults(struct mtd_info *mtd)
{

View File

@ -9,7 +9,7 @@ SVN-Revision: 33385
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -548,4 +548,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
@@ -537,4 +537,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
load time (assuming you build diskonchip as a module) with the module
parameter "inftl_bbt_write=1".
@ -24,10 +24,10 @@ SVN-Revision: 33385
endif # MTD_RAW_NAND
--- a/drivers/mtd/nand/raw/Makefile
+++ b/drivers/mtd/nand/raw/Makefile
@@ -58,6 +58,7 @@ obj-$(CONFIG_MTD_NAND_INTEL_LGM) += inte
obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rockchip-nand-controller.o
obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.o
@@ -59,6 +59,7 @@ obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-n
obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o
obj-$(CONFIG_MTD_NAND_NUVOTON_MA35) += nuvoton-ma35d1-nand-controller.o
obj-$(CONFIG_MTD_NAND_LOONGSON) += loongson-nand-controller.o
+obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o
nand-objs := nand_base.o nand_legacy.o nand_bbt.o nand_timings.o nand_ids.o

View File

@ -14,9 +14,9 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
--- a/drivers/mtd/spi-nor/macronix.c
+++ b/drivers/mtd/spi-nor/macronix.c
@@ -8,6 +8,11 @@
#include "core.h"
@@ -25,6 +25,11 @@
SPI_MEM_OP_NO_DUMMY, \
SPI_MEM_OP_DATA_OUT(ndata, buf, 0))
+static void macronix_no_16bit_sr_default_init(struct spi_nor *nor)
+{
@ -26,7 +26,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
static int
mx25l25635_post_bfpt_fixups(struct spi_nor *nor,
const struct sfdp_parameter_header *bfpt_header,
@@ -28,6 +33,10 @@ mx25l25635_post_bfpt_fixups(struct spi_n
@@ -83,6 +88,10 @@ mx25l3255e_late_init_fixups(struct spi_n
return 0;
}
@ -36,8 +36,8 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
+
static const struct spi_nor_fixups mx25l25635_fixups = {
.post_bfpt = mx25l25635_post_bfpt_fixups,
};
@@ -66,7 +75,9 @@ static const struct flash_info macronix_
.post_sfdp = macronix_qpp4b_post_sfdp_fixups,
@@ -128,7 +137,9 @@ static const struct flash_info macronix_
.id = SNOR_ID(0xc2, 0x20, 0x17),
.name = "mx25l6405d",
.size = SZ_8M,
@ -45,5 +45,5 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
.no_sfdp_flags = SECT_4K,
+ .fixups = &mx25l64_fixups,
}, {
/* MX25L12805D */
.id = SNOR_ID(0xc2, 0x20, 0x18),
.name = "mx25l12805d",

View File

@ -10,7 +10,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -274,6 +274,11 @@ static int ehci_platform_probe(struct pl
@@ -275,6 +275,11 @@ static int ehci_platform_probe(struct pl
ehci = hcd_to_ehci(hcd);
if (pdata == &ehci_platform_defaults && dev->dev.of_node) {

View File

@ -13,7 +13,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -977,6 +977,17 @@ source "drivers/leds/flash/Kconfig"
@@ -1028,6 +1028,17 @@ source "drivers/leds/flash/Kconfig"
comment "RGB LED drivers"
source "drivers/leds/rgb/Kconfig"
@ -176,7 +176,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
+MODULE_ALIAS("platform:leds-reset");
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
@@ -93,6 +93,7 @@ obj-$(CONFIG_LEDS_TURRIS_OMNIA) += leds
@@ -98,6 +98,7 @@ obj-$(CONFIG_LEDS_UPBOARD) += leds-upbo
obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o
obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o
obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o

View File

@ -16,16 +16,16 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
--- a/drivers/mfd/syscon.c
+++ b/drivers/mfd/syscon.c
@@ -53,7 +53,7 @@ static struct syscon *of_syscon_register
@@ -46,7 +46,7 @@ static struct syscon *of_syscon_register
int ret;
struct regmap_config syscon_config = syscon_regmap_config;
struct resource res;
- struct reset_control *reset;
+ struct reset_control *reset = NULL;
resource_size_t res_size;
WARN_ON(!mutex_is_locked(&syscon_list_lock));
@@ -133,7 +133,8 @@ static struct syscon *of_syscon_register
@@ -135,7 +135,8 @@ static struct syscon *of_syscon_register
goto err_attach_clk;
}

View File

@ -185,7 +185,7 @@ SVN-Revision: 35130
/* index values for the variables in ipv6_devconf */
--- a/include/uapi/linux/tcp.h
+++ b/include/uapi/linux/tcp.h
@@ -55,7 +55,7 @@ struct tcphdr {
@@ -57,7 +57,7 @@ struct tcphdr {
__be16 window;
__sum16 check;
__be16 urg_ptr;
@ -194,7 +194,7 @@ SVN-Revision: 35130
/*
* The union cast uses a gcc extension to avoid aliasing problems
@@ -65,7 +65,7 @@ struct tcphdr {
@@ -67,7 +67,7 @@ struct tcphdr {
union tcp_word_hdr {
struct tcphdr hdr;
__be32 words[5];
@ -259,7 +259,7 @@ SVN-Revision: 35130
#include <linux/uaccess.h>
#include <linux/ipv6.h>
#include <linux/icmpv6.h>
@@ -915,10 +916,10 @@ static void tcp_v6_send_response(const s
@@ -917,10 +918,10 @@ static void tcp_v6_send_response(const s
topt = (__be32 *)(t1 + 1);
if (tsecr) {
@ -312,7 +312,7 @@ SVN-Revision: 35130
case IPV6_2292HOPOPTS:
--- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c
@@ -986,7 +986,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
@@ -984,7 +984,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop;
}
@ -323,9 +323,9 @@ SVN-Revision: 35130
SKB_DROP_REASON_IP_INHDR);
--- a/include/linux/types.h
+++ b/include/linux/types.h
@@ -248,5 +248,11 @@ typedef void (*swap_func_t)(void *a, voi
typedef int (*cmp_r_func_t)(const void *a, const void *b, const void *priv);
typedef int (*cmp_func_t)(const void *a, const void *b);
@@ -265,5 +265,11 @@ struct rcuwait {
struct task_struct __rcu *task;
};
+struct net_hdr_word {
+ u32 words[1];
@ -337,7 +337,7 @@ SVN-Revision: 35130
#endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -1507,7 +1507,7 @@ struct sk_buff *inet_gro_receive(struct
@@ -1492,7 +1492,7 @@ struct sk_buff *inet_gro_receive(struct
goto out;
NAPI_GRO_CB(skb)->proto = proto;
@ -348,7 +348,7 @@ SVN-Revision: 35130
struct iphdr *iph2;
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -668,8 +668,9 @@ static void tcp_options_write(struct tcp
@@ -638,8 +638,9 @@ static void tcp_options_write(struct tcp
u16 options = opts->options; /* mungable copy */
if (tcp_key_is_md5(key)) {
@ -360,7 +360,7 @@ SVN-Revision: 35130
/* overload cookie hash location */
opts->hash_location = (__u8 *)ptr;
ptr += 4;
@@ -677,40 +678,44 @@ static void tcp_options_write(struct tcp
@@ -647,26 +648,28 @@ static void tcp_options_write(struct tcp
ptr = process_tcp_ao_options(tp, tcprsk, opts, key, ptr);
}
if (unlikely(opts->mss)) {
@ -401,45 +401,55 @@ SVN-Revision: 35130
+ net_hdr_word(ptr++) = htonl(opts->tsecr);
}
if (OPTION_ACCECN & options) {
@@ -717,10 +720,11 @@ static void tcp_options_write(struct tcp
}
if (unlikely(OPTION_SACK_ADVERTISE & options)) {
- *ptr++ = htonl((TCPOPT_NOP << 24) |
- (TCPOPT_NOP << 16) |
- *ptr++ = htonl((leftover_highbyte << 24) |
- (leftover_lowbyte << 16) |
- (TCPOPT_SACK_PERM << 8) |
- TCPOLEN_SACK_PERM);
+ net_hdr_word(ptr++) =
+ htonl((TCPOPT_NOP << 24) |
+ (TCPOPT_NOP << 16) |
+ htonl((leftover_highbyte << 24) |
+ (leftover_lowbyte << 16) |
+ (TCPOPT_SACK_PERM << 8) |
+ TCPOLEN_SACK_PERM);
leftover_highbyte = TCPOPT_NOP;
leftover_lowbyte = TCPOPT_NOP;
}
if (unlikely(OPTION_WSCALE & options)) {
- *ptr++ = htonl((TCPOPT_NOP << 24) |
@@ -737,10 +741,11 @@ static void tcp_options_write(struct tcp
highbyte = leftover_highbyte;
leftover_highbyte = TCPOPT_NOP;
}
- *ptr++ = htonl((highbyte << 24) |
- (TCPOPT_WINDOW << 16) |
- (TCPOLEN_WINDOW << 8) |
- opts->ws);
+ net_hdr_word(ptr++) =
+ htonl((TCPOPT_NOP << 24) |
+ htonl((highbyte << 24) |
+ (TCPOPT_WINDOW << 16) |
+ (TCPOLEN_WINDOW << 8) |
+ opts->ws);
}
if (unlikely(opts->num_sack_blocks)) {
@@ -718,16 +723,17 @@ static void tcp_options_write(struct tcp
@@ -748,18 +753,19 @@ static void tcp_options_write(struct tcp
tp->duplicate_sack : tp->selective_acks;
int this_sack;
- *ptr++ = htonl((TCPOPT_NOP << 24) |
- (TCPOPT_NOP << 16) |
- *ptr++ = htonl((leftover_highbyte << 24) |
- (leftover_lowbyte << 16) |
- (TCPOPT_SACK << 8) |
- (TCPOLEN_SACK_BASE + (opts->num_sack_blocks *
+ net_hdr_word(ptr++) =
+ htonl((TCPOPT_NOP << 24) |
+ (TCPOPT_NOP << 16) |
+ htonl((leftover_highbyte << 24) |
+ (leftover_lowbyte << 16) |
+ (TCPOPT_SACK << 8) |
+ (TCPOLEN_SACK_BASE + (opts->num_sack_blocks *
TCPOLEN_SACK_PERBLOCK)));
leftover_highbyte = TCPOPT_NOP;
leftover_lowbyte = TCPOPT_NOP;
for (this_sack = 0; this_sack < opts->num_sack_blocks;
++this_sack) {
@ -450,7 +460,7 @@ SVN-Revision: 35130
}
tp->rx_opt.dsack = 0;
@@ -740,13 +746,14 @@ static void tcp_options_write(struct tcp
@@ -780,13 +786,14 @@ static void tcp_options_write(struct tcp
if (foc->exp) {
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
@ -508,7 +518,7 @@ SVN-Revision: 35130
#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */
--- a/net/core/flow_dissector.c
+++ b/net/core/flow_dissector.c
@@ -132,7 +132,7 @@ __be32 __skb_flow_get_ports(const struct
@@ -132,7 +132,7 @@ __be32 skb_flow_get_ports(const struct s
ports = __skb_header_pointer(skb, thoff + poff,
sizeof(_ports), data, hlen, &_ports);
if (ports)
@ -530,7 +540,7 @@ SVN-Revision: 35130
#define ICMPV6_ROUTER_PREF_LOW 0x3
--- a/include/net/ndisc.h
+++ b/include/net/ndisc.h
@@ -93,7 +93,7 @@ struct ra_msg {
@@ -84,7 +84,7 @@ struct ra_msg {
struct icmp6hdr icmph;
__be32 reachable_time;
__be32 retrans_timer;
@ -539,7 +549,7 @@ SVN-Revision: 35130
struct rd_msg {
struct icmp6hdr icmph;
@@ -357,10 +357,10 @@ static inline u32 ndisc_hashfn(const voi
@@ -348,10 +348,10 @@ static inline u32 ndisc_hashfn(const voi
{
const u32 *p32 = pkey;
@ -600,7 +610,7 @@ SVN-Revision: 35130
static_assert(sizeof(struct prefix_info) == 32);
--- a/include/net/inet_ecn.h
+++ b/include/net/inet_ecn.h
@@ -138,9 +138,9 @@ static inline int IP6_ECN_set_ce(struct
@@ -152,9 +152,9 @@ static inline int IP6_ECN_set_ce(struct
if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
return 0;
@ -623,7 +633,7 @@ SVN-Revision: 35130
/*
* Jumbo payload option, as described in RFC 2675 2.
@@ -642,8 +642,8 @@ static inline void __ipv6_addr_set_half(
@@ -650,8 +650,8 @@ static inline void __ipv6_addr_set_half(
}
#endif
#endif
@ -634,7 +644,7 @@ SVN-Revision: 35130
}
static inline void ipv6_addr_set(struct in6_addr *addr,
@@ -702,6 +702,8 @@ static inline bool ipv6_prefix_equal(con
@@ -710,6 +710,8 @@ static inline bool ipv6_prefix_equal(con
const __be32 *a1 = addr1->s6_addr32;
const __be32 *a2 = addr2->s6_addr32;
unsigned int pdw, pbi;
@ -643,7 +653,7 @@ SVN-Revision: 35130
/* check complete u32 in prefix */
pdw = prefixlen >> 5;
@@ -710,7 +712,9 @@ static inline bool ipv6_prefix_equal(con
@@ -718,7 +720,9 @@ static inline bool ipv6_prefix_equal(con
/* check incomplete u32 in prefix */
pbi = prefixlen & 0x1f;
@ -654,7 +664,7 @@ SVN-Revision: 35130
return false;
return true;
@@ -827,13 +831,13 @@ static inline void ipv6_addr_set_v4mappe
@@ -835,13 +839,13 @@ static inline void ipv6_addr_set_v4mappe
*/
static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
{
@ -670,7 +680,7 @@ SVN-Revision: 35130
if (xb)
return i * 32 + 31 - __fls(ntohl(xb));
}
@@ -1028,17 +1032,18 @@ static inline u32 ip6_multipath_hash_fie
@@ -1036,17 +1040,18 @@ static inline u32 ip6_multipath_hash_fie
static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
__be32 flowlabel)
{
@ -701,10 +711,10 @@ SVN-Revision: 35130
+#include <linux/in6.h>
struct net;
extern struct net init_net;
--- a/include/uapi/linux/in.h
+++ b/include/uapi/linux/in.h
@@ -93,7 +93,7 @@ enum {
@@ -95,7 +95,7 @@ enum {
/* Internet address. */
struct in_addr {
__be32 s_addr;
@ -750,7 +760,7 @@ SVN-Revision: 35130
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4337,14 +4337,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -4413,14 +4413,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
@ -784,7 +794,7 @@ SVN-Revision: 35130
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -287,8 +287,10 @@ static inline bool neigh_key_eq128(const
@@ -294,8 +294,10 @@ static inline bool neigh_key_eq128(const
const u32 *n32 = (const u32 *)n->primary_key;
const u32 *p32 = pkey;
@ -866,7 +876,7 @@ SVN-Revision: 35130
iph->daddr == iph2->daddr && iph->saddr == iph2->saddr)
return segs;
@@ -268,7 +268,7 @@ struct sk_buff *tcp_gro_lookup(struct li
@@ -272,7 +272,7 @@ struct sk_buff *tcp_gro_lookup(struct li
continue;
th2 = tcp_hdr(p);
@ -875,8 +885,8 @@ SVN-Revision: 35130
NAPI_GRO_CB(p)->same_flow = 0;
continue;
}
@@ -332,8 +332,8 @@ struct sk_buff *tcp_gro_receive(struct l
~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH));
@@ -336,8 +336,8 @@ struct sk_buff *tcp_gro_receive(struct l
~(TCP_FLAG_FIN | TCP_FLAG_PSH));
flush |= (__force int)(th->ack_seq ^ th2->ack_seq);
for (i = sizeof(*th); i < thlen; i += 4)
- flush |= *(u32 *)((u8 *)th + i) ^

View File

@ -45,7 +45,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
--- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig
@@ -2354,6 +2354,14 @@ config RAVE_SP_CORE
@@ -2436,6 +2436,14 @@ config RAVE_SP_CORE
Select this to get support for the Supervisory Processor
device found on several devices in RAVE line of hardware.
@ -62,7 +62,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
depends on PCI && MIPS && 64BIT
--- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile
@@ -276,6 +276,7 @@ obj-$(CONFIG_MFD_KHADAS_MCU) += khadas-
@@ -282,6 +282,7 @@ obj-$(CONFIG_MFD_KHADAS_MCU) += khadas-
obj-$(CONFIG_MFD_ACER_A500_EC) += acer-ec-a500.o
obj-$(CONFIG_MFD_QCOM_PM8008) += qcom-pm8008.o
@ -72,7 +72,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
obj-$(CONFIG_MFD_SMPRO) += smpro-core.o
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -1772,6 +1772,12 @@ config GPIO_SODAVILLE
@@ -1872,6 +1872,12 @@ config GPIO_SODAVILLE
help
Say Y here to support Intel Sodaville GPIO.
@ -87,8 +87,8 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
menu "SPI GPIO expanders"
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -137,6 +137,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061.
obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o
@@ -148,6 +148,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio
obj-$(CONFIG_GPIO_POLARFIRE_SOC) += gpio-mpfs.o
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o
+obj-$(CONFIG_GPIO_RB4XX) += gpio-rb4xx.o
@ -97,7 +97,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
obj-$(CONFIG_GPIO_RDA) += gpio-rda.o
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -556,4 +556,11 @@ config MTD_NAND_AR934X
@@ -545,4 +545,11 @@ config MTD_NAND_AR934X
Enables support for NAND controller on Qualcomm Atheros SoCs.
This controller is found on AR934x and QCA955x SoCs.
@ -111,9 +111,9 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
endif # MTD_RAW_NAND
--- a/drivers/mtd/nand/raw/Makefile
+++ b/drivers/mtd/nand/raw/Makefile
@@ -59,6 +59,7 @@ obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rock
obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.o
obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o
@@ -60,6 +60,7 @@ obj-$(CONFIG_MTD_NAND_RENESAS) += renes
obj-$(CONFIG_MTD_NAND_NUVOTON_MA35) += nuvoton-ma35d1-nand-controller.o
obj-$(CONFIG_MTD_NAND_LOONGSON) += loongson-nand-controller.o
obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o
+obj-$(CONFIG_MTD_NAND_RB4XX) += nand_rb4xx.o

View File

@ -29,7 +29,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
@@ -398,6 +398,12 @@ config GPIO_IXP4XX
@@ -418,6 +418,12 @@ config GPIO_IXP4XX
If unsure, say N.
@ -42,7 +42,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
config GPIO_LOGICVC
tristate "Xylon LogiCVC GPIO support"
depends on MFD_SYSCON && OF
@@ -555,6 +561,10 @@ config GPIO_PXA
@@ -583,6 +589,10 @@ config GPIO_PXA
help
Say yes here to support the PXA GPIO device.
@ -55,7 +55,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
depends on ARCH_RENESAS || COMPILE_TEST
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -84,6 +84,7 @@ obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4x
@@ -89,6 +89,7 @@ obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4x
obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
obj-$(CONFIG_GPIO_LATCH) += gpio-latch.o
@ -63,7 +63,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
obj-$(CONFIG_GPIO_LINE_MUX) += gpio-line-mux.o
obj-$(CONFIG_GPIO_LJCA) += gpio-ljca.o
obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o
@@ -138,6 +139,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio
@@ -149,6 +150,7 @@ obj-$(CONFIG_GPIO_POLARFIRE_SOC) += gpio
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o
obj-$(CONFIG_GPIO_RB4XX) += gpio-rb4xx.o
@ -73,7 +73,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
obj-$(CONFIG_GPIO_RDA) += gpio-rda.o
--- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig
@@ -563,4 +563,10 @@ config MTD_NAND_RB4XX
@@ -552,4 +552,10 @@ config MTD_NAND_RB4XX
Enables support for the NAND flash chip on Mikrotik Routerboard
RB4xx series.
@ -86,8 +86,8 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
endif # MTD_RAW_NAND
--- a/drivers/mtd/nand/raw/Makefile
+++ b/drivers/mtd/nand/raw/Makefile
@@ -60,6 +60,7 @@ obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-n
obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o
@@ -61,6 +61,7 @@ obj-$(CONFIG_MTD_NAND_NUVOTON_MA35) += n
obj-$(CONFIG_MTD_NAND_LOONGSON) += loongson-nand-controller.o
obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o
obj-$(CONFIG_MTD_NAND_RB4XX) += nand_rb4xx.o
+obj-$(CONFIG_MTD_NAND_RB91X) += rb91x_nand.o