ath79: refresh 6.12 kernel patches

Remove upstreamed:
001-v6.11-gpio-ath79-convert-to-dynamic-GPIO-base-allocation.patch [1]

Manually rebased:
341-wifi-ath9k-obtain-system-gpios.patch
900-unaligned_access_hacks.patch

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=9a473c2a093e0d1c466bf86073230e2c8b658977
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
This commit is contained in:
Shiji Yang 2025-05-01 00:38:19 +08:00 committed by David Bauer
parent c0c8c7cbe8
commit fe42a75b03
11 changed files with 70 additions and 103 deletions

View file

@ -1,32 +0,0 @@
From 9a473c2a093e0d1c466bf86073230e2c8b658977 Mon Sep 17 00:00:00 2001
From: Shiji Yang <yangshiji66@outlook.com>
Date: Wed, 26 Jun 2024 08:33:18 +0800
Subject: gpio: ath79: convert to dynamic GPIO base allocation
ath79 target has already been converted to device tree based platform.
Use dynamic GPIO numberspace base to suppress the warning:
gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
Tested on Atheros AR7241 and AR9344.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Suggested-by: Jonas Gorski <jonas.gorski@gmail.com>
Link: https://lore.kernel.org/r/TYCP286MB089598EA71E964BD8AB9EFD3BCD62@TYCP286MB0895.JPNP286.PROD.OUTLOOK.COM
[Bartosz: tweaked the commit message]
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/gpio/gpio-ath79.c | 2 --
1 file changed, 2 deletions(-)
--- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c
@@ -273,8 +273,6 @@ static int ath79_gpio_probe(struct platf
dev_err(dev, "bgpio_init failed\n");
return err;
}
- /* Use base 0 to stay compatible with legacy platforms */
- ctrl->gc.base = 0;
/* Optional interrupt setup */
if (!np || of_property_read_bool(np, "interrupt-controller")) {

View file

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

View file

@ -172,14 +172,14 @@ Best regards,
--- a/drivers/gpio/gpio-ath79.c --- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c +++ b/drivers/gpio/gpio-ath79.c
@@ -9,6 +9,7 @@ @@ -10,6 +10,7 @@
*/
#include <linux/device.h>
#include <linux/gpio/driver.h> #include <linux/gpio/driver.h>
+#include <linux/gpio/machine.h> /* For WLAN GPIOs */ +#include <linux/gpio/machine.h> /* For WLAN GPIOs */
#include <linux/platform_device.h> #include <linux/interrupt.h>
#include <linux/platform_data/gpio-ath79.h> #include <linux/irq.h>
#include <linux/of.h> #include <linux/mod_devicetable.h>
@@ -222,6 +223,37 @@ static const struct of_device_id ath79_g @@ -222,6 +223,37 @@ static const struct of_device_id ath79_g
}; };
MODULE_DEVICE_TABLE(of, ath79_gpio_of_match); MODULE_DEVICE_TABLE(of, ath79_gpio_of_match);
@ -217,8 +217,8 @@ Best regards,
+ +
static int ath79_gpio_probe(struct platform_device *pdev) static int ath79_gpio_probe(struct platform_device *pdev)
{ {
struct ath79_gpio_platform_data *pdata = dev_get_platdata(&pdev->dev); struct device *dev = &pdev->dev;
@@ -289,7 +321,11 @@ static int ath79_gpio_probe(struct platf @@ -280,7 +312,11 @@ static int ath79_gpio_probe(struct platf
girq->handler = handle_simple_irq; girq->handler = handle_simple_irq;
} }

View file

@ -15,7 +15,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/arch/mips/Kconfig --- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig +++ b/arch/mips/Kconfig
@@ -255,6 +255,8 @@ config ATH79 @@ -242,6 +242,8 @@ config ATH79
select SYS_SUPPORTS_BIG_ENDIAN select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_MIPS16 select SYS_SUPPORTS_MIPS16
select SYS_SUPPORTS_ZBOOT_UART_PROM 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 --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c
@@ -3420,12 +3420,19 @@ static void spi_nor_set_mtd_info(struct @@ -3385,12 +3385,19 @@ static int spi_nor_set_mtd_info(struct s
{ {
struct mtd_info *mtd = &nor->mtd; struct mtd_info *mtd = &nor->mtd;
struct device *dev = nor->dev; struct device *dev = nor->dev;
@ -33,7 +33,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
mtd->flags = MTD_CAP_NORFLASH; mtd->flags = MTD_CAP_NORFLASH;
--- a/drivers/mtd/mtdcore.c --- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c
@@ -870,6 +870,17 @@ out_error: @@ -872,6 +872,17 @@ out_error:
*/ */
static void mtd_set_dev_defaults(struct mtd_info *mtd) static void mtd_set_dev_defaults(struct mtd_info *mtd)
{ {

View file

@ -18,7 +18,7 @@ Submitted-by: Christian Lamparter <chunkeey@gmail.com>
--- a/drivers/mtd/parsers/Makefile --- a/drivers/mtd/parsers/Makefile
+++ b/drivers/mtd/parsers/Makefile +++ b/drivers/mtd/parsers/Makefile
@@ -9,6 +9,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o @@ -8,6 +8,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
ofpart-y += ofpart_core.o ofpart-y += ofpart_core.o
ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908) += ofpart_bcm4908.o ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908) += ofpart_bcm4908.o
ofpart-$(CONFIG_MTD_OF_PARTS_LINKSYS_NS)+= ofpart_linksys_ns.o ofpart-$(CONFIG_MTD_OF_PARTS_LINKSYS_NS)+= ofpart_linksys_ns.o
@ -28,7 +28,7 @@ Submitted-by: Christian Lamparter <chunkeey@gmail.com>
obj-$(CONFIG_MTD_PARSER_TPLINK_SAFELOADER) += tplink_safeloader.o obj-$(CONFIG_MTD_PARSER_TPLINK_SAFELOADER) += tplink_safeloader.o
--- a/drivers/mtd/parsers/Kconfig --- a/drivers/mtd/parsers/Kconfig
+++ b/drivers/mtd/parsers/Kconfig +++ b/drivers/mtd/parsers/Kconfig
@@ -112,6 +112,14 @@ config MTD_OF_PARTS_LINKSYS_NS @@ -107,6 +107,14 @@ config MTD_OF_PARTS_LINKSYS_NS
two "firmware" partitions. Currently used firmware has to be detected two "firmware" partitions. Currently used firmware has to be detected
using CFE environment variable. using CFE environment variable.

View file

@ -9,7 +9,7 @@ SVN-Revision: 33385
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -542,4 +542,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE @@ -548,4 +548,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
load time (assuming you build diskonchip as a module) with the module load time (assuming you build diskonchip as a module) with the module
parameter "inftl_bbt_write=1". parameter "inftl_bbt_write=1".
@ -24,7 +24,7 @@ SVN-Revision: 33385
endif # MTD_RAW_NAND endif # MTD_RAW_NAND
--- a/drivers/mtd/nand/raw/Makefile --- a/drivers/mtd/nand/raw/Makefile
+++ b/drivers/mtd/nand/raw/Makefile +++ b/drivers/mtd/nand/raw/Makefile
@@ -57,6 +57,7 @@ obj-$(CONFIG_MTD_NAND_INTEL_LGM) += inte @@ -58,6 +58,7 @@ obj-$(CONFIG_MTD_NAND_INTEL_LGM) += inte
obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rockchip-nand-controller.o obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rockchip-nand-controller.o
obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.o obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.o
obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o

View file

@ -13,7 +13,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
--- a/drivers/leds/Kconfig --- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig
@@ -911,6 +911,17 @@ source "drivers/leds/flash/Kconfig" @@ -977,6 +977,17 @@ source "drivers/leds/flash/Kconfig"
comment "RGB LED drivers" comment "RGB LED drivers"
source "drivers/leds/rgb/Kconfig" source "drivers/leds/rgb/Kconfig"
@ -176,11 +176,11 @@ Signed-off-by: John Crispin <john@phrozen.org>
+MODULE_ALIAS("platform:leds-reset"); +MODULE_ALIAS("platform:leds-reset");
--- a/drivers/leds/Makefile --- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile +++ b/drivers/leds/Makefile
@@ -89,6 +89,7 @@ obj-$(CONFIG_LEDS_TURRIS_OMNIA) += leds @@ -93,6 +93,7 @@ obj-$(CONFIG_LEDS_TURRIS_OMNIA) += leds
obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o
obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o
obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
+obj-$(CONFIG_LEDS_RESET) += leds-reset.o +obj-$(CONFIG_LEDS_RESET) += leds-reset.o
# LED SPI Drivers # Kinetic ExpressWire Protocol
obj-$(CONFIG_LEDS_CR0014114) += leds-cr0014114.o obj-$(CONFIG_LEDS_EXPRESSWIRE) += leds-expresswire.o

View file

@ -255,11 +255,11 @@ SVN-Revision: 35130
#include <linux/ipsec.h> #include <linux/ipsec.h>
#include <linux/times.h> #include <linux/times.h>
#include <linux/slab.h> #include <linux/slab.h>
+#include <asm/unaligned.h> +#include <linux/unaligned.h>
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/ipv6.h> #include <linux/ipv6.h>
#include <linux/icmpv6.h> #include <linux/icmpv6.h>
@@ -891,10 +892,10 @@ static void tcp_v6_send_response(const s @@ -914,10 +915,10 @@ static void tcp_v6_send_response(const s
topt = (__be32 *)(t1 + 1); topt = (__be32 *)(t1 + 1);
if (tsecr) { if (tsecr) {
@ -276,7 +276,7 @@ SVN-Revision: 35130
if (mrst) if (mrst)
--- a/include/linux/ipv6.h --- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h +++ b/include/linux/ipv6.h
@@ -6,6 +6,7 @@ @@ -7,6 +7,7 @@
#define ipv6_optlen(p) (((p)->hdrlen+1) << 3) #define ipv6_optlen(p) (((p)->hdrlen+1) << 3)
#define ipv6_authlen(p) (((p)->hdrlen+2) << 2) #define ipv6_authlen(p) (((p)->hdrlen+2) << 2)
@ -286,7 +286,7 @@ SVN-Revision: 35130
*/ */
--- a/net/ipv6/datagram.c --- a/net/ipv6/datagram.c
+++ b/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c
@@ -499,7 +499,7 @@ int ipv6_recv_error(struct sock *sk, str @@ -498,7 +498,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 {
@ -295,7 +295,7 @@ SVN-Revision: 35130
&sin->sin6_addr); &sin->sin6_addr);
sin->sin6_scope_id = 0; sin->sin6_scope_id = 0;
} }
@@ -853,12 +853,12 @@ int ip6_datagram_send_ctl(struct net *ne @@ -852,12 +852,12 @@ int ip6_datagram_send_ctl(struct net *ne
} }
if (fl6->flowlabel&IPV6_FLOWINFO_MASK) { if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@ -312,7 +312,7 @@ SVN-Revision: 35130
case IPV6_2292HOPOPTS: case IPV6_2292HOPOPTS:
--- a/net/ipv6/exthdrs.c --- a/net/ipv6/exthdrs.c
+++ b/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c
@@ -982,7 +982,7 @@ static bool ipv6_hop_jumbo(struct sk_buf @@ -980,7 +980,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
goto drop; goto drop;
} }
@ -323,7 +323,7 @@ SVN-Revision: 35130
SKB_DROP_REASON_IP_INHDR); SKB_DROP_REASON_IP_INHDR);
--- a/include/linux/types.h --- a/include/linux/types.h
+++ b/include/linux/types.h +++ b/include/linux/types.h
@@ -244,5 +244,11 @@ typedef void (*swap_func_t)(void *a, voi @@ -247,5 +247,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_r_func_t)(const void *a, const void *b, const void *priv);
typedef int (*cmp_func_t)(const void *a, const void *b); typedef int (*cmp_func_t)(const void *a, const void *b);
@ -337,23 +337,21 @@ SVN-Revision: 35130
#endif /* _LINUX_TYPES_H */ #endif /* _LINUX_TYPES_H */
--- a/net/ipv4/af_inet.c --- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c
@@ -1506,8 +1506,8 @@ struct sk_buff *inet_gro_receive(struct @@ -1507,7 +1507,7 @@ struct sk_buff *inet_gro_receive(struct
goto out; goto out;
NAPI_GRO_CB(skb)->proto = proto; NAPI_GRO_CB(skb)->proto = proto;
- id = ntohl(*(__be32 *)&iph->id); - flush = (u16)((ntohl(*(__be32 *)iph) ^ skb_gro_len(skb)) | (ntohl(*(__be32 *)&iph->id) & ~IP_DF));
- flush = (u16)((ntohl(*(__be32 *)iph) ^ skb_gro_len(skb)) | (id & ~IP_DF)); + flush = (u16)((ntohl(net_hdr_word(iph)) ^ skb_gro_len(skb)) | (ntohl(net_hdr_word(&iph->id)) & ~IP_DF));
+ id = ntohl(net_hdr_word(&iph->id));
+ flush = (u16)((ntohl(net_hdr_word(iph)) ^ skb_gro_len(skb)) | (id & ~IP_DF));
id >>= 16;
list_for_each_entry(p, head, list) { list_for_each_entry(p, head, list) {
struct iphdr *iph2;
--- a/net/ipv4/tcp_output.c --- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c
@@ -625,48 +625,53 @@ static void tcp_options_write(struct tcp @@ -668,8 +668,9 @@ static void tcp_options_write(struct tcp
u16 options = opts->options; /* mungable copy */ u16 options = opts->options; /* mungable copy */
if (unlikely(OPTION_MD5 & options)) { if (tcp_key_is_md5(key)) {
- *ptr++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) | - *ptr++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) |
- (TCPOPT_MD5SIG << 8) | TCPOLEN_MD5SIG); - (TCPOPT_MD5SIG << 8) | TCPOLEN_MD5SIG);
+ net_hdr_word(ptr++) = + net_hdr_word(ptr++) =
@ -362,8 +360,9 @@ SVN-Revision: 35130
/* overload cookie hash location */ /* overload cookie hash location */
opts->hash_location = (__u8 *)ptr; opts->hash_location = (__u8 *)ptr;
ptr += 4; ptr += 4;
@@ -677,40 +678,44 @@ static void tcp_options_write(struct tcp
ptr = process_tcp_ao_options(tp, tcprsk, opts, key, ptr);
} }
if (unlikely(opts->mss)) { if (unlikely(opts->mss)) {
- *ptr++ = htonl((TCPOPT_MSS << 24) | - *ptr++ = htonl((TCPOPT_MSS << 24) |
- (TCPOLEN_MSS << 16) | - (TCPOLEN_MSS << 16) |
@ -427,7 +426,7 @@ SVN-Revision: 35130
} }
if (unlikely(opts->num_sack_blocks)) { if (unlikely(opts->num_sack_blocks)) {
@@ -674,16 +679,17 @@ static void tcp_options_write(struct tcp @@ -718,16 +723,17 @@ static void tcp_options_write(struct tcp
tp->duplicate_sack : tp->selective_acks; tp->duplicate_sack : tp->selective_acks;
int this_sack; int this_sack;
@ -451,7 +450,7 @@ SVN-Revision: 35130
} }
tp->rx_opt.dsack = 0; tp->rx_opt.dsack = 0;
@@ -696,13 +702,14 @@ static void tcp_options_write(struct tcp @@ -740,13 +746,14 @@ static void tcp_options_write(struct tcp
if (foc->exp) { if (foc->exp) {
len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len; len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
@ -540,7 +539,7 @@ SVN-Revision: 35130
struct rd_msg { struct rd_msg {
struct icmp6hdr icmph; struct icmp6hdr icmph;
@@ -372,10 +372,10 @@ static inline u32 ndisc_hashfn(const voi @@ -357,10 +357,10 @@ static inline u32 ndisc_hashfn(const voi
{ {
const u32 *p32 = pkey; const u32 *p32 = pkey;
@ -579,7 +578,7 @@ SVN-Revision: 35130
goto next_ht; goto next_ht;
--- a/net/ipv6/ip6_offload.c --- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c
@@ -273,7 +273,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff * @@ -269,7 +269,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *
continue; continue;
iph2 = (struct ipv6hdr *)(p->data + off); iph2 = (struct ipv6hdr *)(p->data + off);
@ -590,7 +589,7 @@ SVN-Revision: 35130
* XXX skbs on the gro_list have all been parsed and pulled * XXX skbs on the gro_list have all been parsed and pulled
--- a/include/net/addrconf.h --- a/include/net/addrconf.h
+++ b/include/net/addrconf.h +++ b/include/net/addrconf.h
@@ -52,7 +52,7 @@ struct prefix_info { @@ -57,7 +57,7 @@ struct prefix_info {
__be32 reserved2; __be32 reserved2;
struct in6_addr prefix; struct in6_addr prefix;
@ -624,7 +623,7 @@ SVN-Revision: 35130
/* /*
* Jumbo payload option, as described in RFC 2675 2. * Jumbo payload option, as described in RFC 2675 2.
@@ -649,8 +649,8 @@ static inline void __ipv6_addr_set_half( @@ -651,8 +651,8 @@ static inline void __ipv6_addr_set_half(
} }
#endif #endif
#endif #endif
@ -635,7 +634,7 @@ SVN-Revision: 35130
} }
static inline void ipv6_addr_set(struct in6_addr *addr, static inline void ipv6_addr_set(struct in6_addr *addr,
@@ -709,6 +709,8 @@ static inline bool ipv6_prefix_equal(con @@ -711,6 +711,8 @@ static inline bool ipv6_prefix_equal(con
const __be32 *a1 = addr1->s6_addr32; const __be32 *a1 = addr1->s6_addr32;
const __be32 *a2 = addr2->s6_addr32; const __be32 *a2 = addr2->s6_addr32;
unsigned int pdw, pbi; unsigned int pdw, pbi;
@ -644,7 +643,7 @@ SVN-Revision: 35130
/* check complete u32 in prefix */ /* check complete u32 in prefix */
pdw = prefixlen >> 5; pdw = prefixlen >> 5;
@@ -717,7 +719,9 @@ static inline bool ipv6_prefix_equal(con @@ -719,7 +721,9 @@ static inline bool ipv6_prefix_equal(con
/* check incomplete u32 in prefix */ /* check incomplete u32 in prefix */
pbi = prefixlen & 0x1f; pbi = prefixlen & 0x1f;
@ -655,7 +654,7 @@ SVN-Revision: 35130
return false; return false;
return true; return true;
@@ -839,13 +843,13 @@ static inline void ipv6_addr_set_v4mappe @@ -836,13 +840,13 @@ static inline void ipv6_addr_set_v4mappe
*/ */
static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen) static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
{ {
@ -671,7 +670,7 @@ SVN-Revision: 35130
if (xb) if (xb)
return i * 32 + 31 - __fls(ntohl(xb)); return i * 32 + 31 - __fls(ntohl(xb));
} }
@@ -1040,17 +1044,18 @@ static inline u32 ip6_multipath_hash_fie @@ -1037,17 +1041,18 @@ static inline u32 ip6_multipath_hash_fie
static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass, static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
__be32 flowlabel) __be32 flowlabel)
{ {
@ -705,7 +704,7 @@ SVN-Revision: 35130
--- a/include/uapi/linux/in.h --- a/include/uapi/linux/in.h
+++ b/include/uapi/linux/in.h +++ b/include/uapi/linux/in.h
@@ -91,7 +91,7 @@ enum { @@ -93,7 +93,7 @@ enum {
/* Internet address. */ /* Internet address. */
struct in_addr { struct in_addr {
__be32 s_addr; __be32 s_addr;
@ -738,7 +737,7 @@ SVN-Revision: 35130
| TCPOLEN_TIMESTAMP)) | TCPOLEN_TIMESTAMP))
--- a/net/xfrm/xfrm_input.c --- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c +++ b/net/xfrm/xfrm_input.c
@@ -168,8 +168,8 @@ int xfrm_parse_spi(struct sk_buff *skb, @@ -169,8 +169,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;
@ -751,7 +750,7 @@ SVN-Revision: 35130
EXPORT_SYMBOL(xfrm_parse_spi); EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -4268,14 +4268,16 @@ static bool tcp_parse_aligned_timestamp( @@ -4321,14 +4321,16 @@ static bool tcp_parse_aligned_timestamp(
{ {
const __be32 *ptr = (const __be32 *)(th + 1); const __be32 *ptr = (const __be32 *)(th + 1);
@ -830,7 +829,7 @@ SVN-Revision: 35130
*sum = csum_fold(csum_partial(diff, sizeof(diff), *sum = csum_fold(csum_partial(diff, sizeof(diff),
--- a/include/linux/etherdevice.h --- a/include/linux/etherdevice.h
+++ b/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h
@@ -555,7 +555,7 @@ static inline bool is_etherdev_addr(cons @@ -559,7 +559,7 @@ static inline bool is_etherdev_addr(cons
* @b: Pointer to Ethernet header * @b: Pointer to Ethernet header
* *
* Compare two Ethernet headers, returns 0 if equal. * Compare two Ethernet headers, returns 0 if equal.
@ -839,7 +838,7 @@ SVN-Revision: 35130
* aligned OR the platform can handle unaligned access. This is the * aligned OR the platform can handle unaligned access. This is the
* case for all packets coming into netif_receive_skb or similar * case for all packets coming into netif_receive_skb or similar
* entry points. * entry points.
@@ -578,11 +578,12 @@ static inline unsigned long compare_ethe @@ -582,11 +582,12 @@ static inline unsigned long compare_ethe
fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6); fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
return fold; return fold;
#else #else
@ -876,7 +875,7 @@ SVN-Revision: 35130
NAPI_GRO_CB(p)->same_flow = 0; NAPI_GRO_CB(p)->same_flow = 0;
continue; continue;
} }
@@ -333,8 +333,8 @@ struct sk_buff *tcp_gro_receive(struct l @@ -331,8 +331,8 @@ struct sk_buff *tcp_gro_receive(struct l
~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH)); ~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH));
flush |= (__force int)(th->ack_seq ^ th2->ack_seq); flush |= (__force int)(th->ack_seq ^ th2->ack_seq);
for (i = sizeof(*th); i < thlen; i += 4) for (i = sizeof(*th); i < thlen; i += 4)
@ -885,8 +884,8 @@ SVN-Revision: 35130
+ flush |= net_hdr_word((u8 *)th + i) ^ + flush |= net_hdr_word((u8 *)th + i) ^
+ net_hdr_word((u8 *)th2 + i); + net_hdr_word((u8 *)th2 + i);
/* When we receive our second frame we can made a decision on if we flush |= gro_receive_network_flush(th, th2, p);
* continue this flow as an atomic flow with a fixed ID or if we use
--- a/net/ipv6/netfilter/ip6table_mangle.c --- a/net/ipv6/netfilter/ip6table_mangle.c
+++ b/net/ipv6/netfilter/ip6table_mangle.c +++ b/net/ipv6/netfilter/ip6table_mangle.c
@@ -44,7 +44,7 @@ ip6t_mangle_out(void *priv, struct sk_bu @@ -44,7 +44,7 @@ ip6t_mangle_out(void *priv, struct sk_bu
@ -897,8 +896,8 @@ SVN-Revision: 35130
+ flowlabel = net_hdr_word(ipv6_hdr(skb)); + flowlabel = net_hdr_word(ipv6_hdr(skb));
ret = ip6t_do_table(priv, skb, state); ret = ip6t_do_table(priv, skb, state);
verdict = ret & NF_VERDICT_MASK;
@@ -53,7 +53,7 @@ ip6t_mangle_out(void *priv, struct sk_bu @@ -54,7 +54,7 @@ ip6t_mangle_out(void *priv, struct sk_bu
!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

@ -45,7 +45,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
--- a/drivers/mfd/Kconfig --- a/drivers/mfd/Kconfig
+++ b/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig
@@ -2261,6 +2261,14 @@ config RAVE_SP_CORE @@ -2330,6 +2330,14 @@ config RAVE_SP_CORE
Select this to get support for the Supervisory Processor Select this to get support for the Supervisory Processor
device found on several devices in RAVE line of hardware. 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 depends on PCI && MIPS && 64BIT
--- a/drivers/mfd/Makefile --- a/drivers/mfd/Makefile
+++ b/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile
@@ -269,6 +269,7 @@ obj-$(CONFIG_MFD_KHADAS_MCU) += khadas- @@ -276,6 +276,7 @@ obj-$(CONFIG_MFD_KHADAS_MCU) += khadas-
obj-$(CONFIG_MFD_ACER_A500_EC) += acer-ec-a500.o obj-$(CONFIG_MFD_ACER_A500_EC) += acer-ec-a500.o
obj-$(CONFIG_MFD_QCOM_PM8008) += qcom-pm8008.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 obj-$(CONFIG_MFD_SMPRO) += smpro-core.o
--- a/drivers/gpio/Kconfig --- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig
@@ -1696,6 +1696,12 @@ config GPIO_SODAVILLE @@ -1772,6 +1772,12 @@ config GPIO_SODAVILLE
help help
Say Y here to support Intel Sodaville GPIO. Say Y here to support Intel Sodaville GPIO.
@ -87,7 +87,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
menu "SPI GPIO expanders" menu "SPI GPIO expanders"
--- a/drivers/gpio/Makefile --- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile
@@ -131,6 +131,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061. @@ -136,6 +136,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061.
obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o
@ -97,7 +97,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
obj-$(CONFIG_GPIO_RDA) += gpio-rda.o obj-$(CONFIG_GPIO_RDA) += gpio-rda.o
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -550,4 +550,11 @@ config MTD_NAND_AR934X @@ -556,4 +556,11 @@ config MTD_NAND_AR934X
Enables support for NAND controller on Qualcomm Atheros SoCs. Enables support for NAND controller on Qualcomm Atheros SoCs.
This controller is found on AR934x and QCA955x SoCs. This controller is found on AR934x and QCA955x SoCs.
@ -111,7 +111,7 @@ Submitted-by: Christopher Hill <ch6574@gmail.com>
endif # MTD_RAW_NAND endif # MTD_RAW_NAND
--- a/drivers/mtd/nand/raw/Makefile --- a/drivers/mtd/nand/raw/Makefile
+++ b/drivers/mtd/nand/raw/Makefile +++ b/drivers/mtd/nand/raw/Makefile
@@ -58,6 +58,7 @@ obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rock @@ -59,6 +59,7 @@ obj-$(CONFIG_MTD_NAND_ROCKCHIP) += rock
obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.o obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-nand-controller.o
obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o
obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o

View file

@ -29,7 +29,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
--- a/drivers/gpio/Kconfig --- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig
@@ -371,6 +371,12 @@ config GPIO_IXP4XX @@ -398,6 +398,12 @@ config GPIO_IXP4XX
If unsure, say N. If unsure, say N.
@ -42,20 +42,20 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
config GPIO_LOGICVC config GPIO_LOGICVC
tristate "Xylon LogiCVC GPIO support" tristate "Xylon LogiCVC GPIO support"
depends on MFD_SYSCON && OF depends on MFD_SYSCON && OF
@@ -553,6 +559,10 @@ config GPIO_ROCKCHIP @@ -555,6 +561,10 @@ config GPIO_PXA
help help
Say yes here to support GPIO on Rockchip SoCs. Say yes here to support the PXA GPIO device.
+config GPIO_RB91X_KEY +config GPIO_RB91X_KEY
+ tristate "MikroTik RB91x board series reset key support" + tristate "MikroTik RB91x board series reset key support"
+ depends on ATH79 + depends on ATH79
+ +
config GPIO_SAMA5D2_PIOBU config GPIO_RCAR
tristate "SAMA5D2 PIOBU GPIO support" tristate "Renesas R-Car and RZ/G GPIO support"
depends on MFD_SYSCON depends on ARCH_RENESAS || COMPILE_TEST
--- a/drivers/gpio/Makefile --- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile
@@ -81,6 +81,7 @@ obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4x @@ -84,6 +84,7 @@ obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4x
obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o
obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o
obj-$(CONFIG_GPIO_LATCH) += gpio-latch.o obj-$(CONFIG_GPIO_LATCH) += gpio-latch.o
@ -63,7 +63,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
obj-$(CONFIG_GPIO_LJCA) += gpio-ljca.o obj-$(CONFIG_GPIO_LJCA) += gpio-ljca.o
obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o
obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o
@@ -132,6 +133,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio @@ -137,6 +138,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio
obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o
obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o
obj-$(CONFIG_GPIO_RB4XX) += gpio-rb4xx.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 obj-$(CONFIG_GPIO_RDA) += gpio-rda.o
--- a/drivers/mtd/nand/raw/Kconfig --- a/drivers/mtd/nand/raw/Kconfig
+++ b/drivers/mtd/nand/raw/Kconfig +++ b/drivers/mtd/nand/raw/Kconfig
@@ -557,4 +557,10 @@ config MTD_NAND_RB4XX @@ -563,4 +563,10 @@ config MTD_NAND_RB4XX
Enables support for the NAND flash chip on Mikrotik Routerboard Enables support for the NAND flash chip on Mikrotik Routerboard
RB4xx series. RB4xx series.
@ -86,7 +86,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
endif # MTD_RAW_NAND endif # MTD_RAW_NAND
--- a/drivers/mtd/nand/raw/Makefile --- a/drivers/mtd/nand/raw/Makefile
+++ b/drivers/mtd/nand/raw/Makefile +++ b/drivers/mtd/nand/raw/Makefile
@@ -59,6 +59,7 @@ obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-n @@ -60,6 +60,7 @@ obj-$(CONFIG_MTD_NAND_PL35X) += pl35x-n
obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o obj-$(CONFIG_MTD_NAND_RENESAS) += renesas-nand-controller.o
obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o obj-$(CONFIG_MTD_NAND_AR934X) += ar934x_nand.o
obj-$(CONFIG_MTD_NAND_RB4XX) += nand_rb4xx.o obj-$(CONFIG_MTD_NAND_RB4XX) += nand_rb4xx.o