kernel: bump 5.10 to 5.10.173

Manually rebased:
        ramips/patches-5.10/810-uvc-add-iPassion-iP2970-support.patch

All other patches automatically rebased.

Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
John Audia 2023-03-12 10:03:16 -04:00 committed by Hauke Mehrtens
parent bd2103e9bc
commit d4aad642ff
36 changed files with 81 additions and 90 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .172 LINUX_VERSION-5.10 = .173
LINUX_KERNEL_HASH-5.10.172 = f20dbae344df1c33cad617f7670c5e061557f592f422c842d3b30155df2927b1 LINUX_KERNEL_HASH-5.10.173 = 3480b474c727ed882416202084acce6861659e74f1d84b724a342c514b083c25

View File

@ -18,7 +18,7 @@ Signed-off-by: Stephen Boyd <sboyd@kernel.org>
--- a/drivers/clk/clk.c --- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c +++ b/drivers/clk/clk.c
@@ -3105,7 +3105,10 @@ static int clk_rate_get(void *data, u64 @@ -3116,7 +3116,10 @@ static int clk_rate_get(void *data, u64
{ {
struct clk_core *core = data; struct clk_core *core = data;

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
@@ -3143,6 +3143,7 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3152,6 +3152,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev; struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd; struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor); struct device_node *np = spi_nor_get_flash_node(nor);
@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
int ret; int ret;
int i; int i;
@@ -3197,7 +3198,12 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3206,7 +3207,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret) if (ret)
return ret; return ret;

View File

@ -37,7 +37,7 @@ Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -416,7 +416,8 @@ HOSTCXX = g++ @@ -423,7 +423,8 @@ HOSTCXX = g++
endif endif
export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \ export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \

View File

@ -49,7 +49,7 @@ Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -500,7 +500,7 @@ KBUILD_CFLAGS := -Wall -Wundef -Werror @@ -507,7 +507,7 @@ KBUILD_CFLAGS := -Wall -Wundef -Werror
-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \
-Werror=implicit-function-declaration -Werror=implicit-int \ -Werror=implicit-function-declaration -Werror=implicit-int \
-Werror=return-type -Wno-format-security \ -Werror=return-type -Wno-format-security \

View File

@ -32,7 +32,7 @@ Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -416,7 +416,7 @@ HOSTCXX = g++ @@ -423,7 +423,7 @@ HOSTCXX = g++
endif endif
export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \ export KBUILD_USERCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \

View File

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/Makefile --- a/Makefile
+++ b/Makefile +++ b/Makefile
@@ -510,7 +510,7 @@ KBUILD_LDFLAGS_MODULE := @@ -517,7 +517,7 @@ KBUILD_LDFLAGS_MODULE :=
KBUILD_LDFLAGS := KBUILD_LDFLAGS :=
CLANG_FLAGS := CLANG_FLAGS :=

View File

@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -6810,15 +6810,10 @@ void __netif_napi_del(struct napi_struct @@ -6812,15 +6812,10 @@ void __netif_napi_del(struct napi_struct
} }
EXPORT_SYMBOL(__netif_napi_del); EXPORT_SYMBOL(__netif_napi_del);
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
weight = n->weight; weight = n->weight;
/* This NAPI_STATE_SCHED test is for avoiding a race /* This NAPI_STATE_SCHED test is for avoiding a race
@@ -6838,7 +6833,7 @@ static int napi_poll(struct napi_struct @@ -6840,7 +6835,7 @@ static int napi_poll(struct napi_struct
n->poll, work, weight); n->poll, work, weight);
if (likely(work < weight)) if (likely(work < weight))
@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Drivers must not modify the NAPI state if they /* Drivers must not modify the NAPI state if they
* consume the entire weight. In such cases this code * consume the entire weight. In such cases this code
@@ -6847,7 +6842,7 @@ static int napi_poll(struct napi_struct @@ -6849,7 +6844,7 @@ static int napi_poll(struct napi_struct
*/ */
if (unlikely(napi_disable_pending(n))) { if (unlikely(napi_disable_pending(n))) {
napi_complete(n); napi_complete(n);
@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
if (n->gro_bitmask) { if (n->gro_bitmask) {
@@ -6865,12 +6860,29 @@ static int napi_poll(struct napi_struct @@ -6867,12 +6862,29 @@ static int napi_poll(struct napi_struct
if (unlikely(!list_empty(&n->poll_list))) { if (unlikely(!list_empty(&n->poll_list))) {
pr_warn_once("%s: Budget exhausted after napi rescheduled\n", pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
n->dev ? n->dev->name : "backlog"); n->dev ? n->dev->name : "backlog");

View File

@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack) static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
{ {
const struct net_device_ops *ops = dev->netdev_ops; const struct net_device_ops *ops = dev->netdev_ops;
@@ -4272,6 +4294,21 @@ int gro_normal_batch __read_mostly = 8; @@ -4274,6 +4296,21 @@ int gro_normal_batch __read_mostly = 8;
static inline void ____napi_schedule(struct softnet_data *sd, static inline void ____napi_schedule(struct softnet_data *sd,
struct napi_struct *napi) struct napi_struct *napi)
{ {
@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
list_add_tail(&napi->poll_list, &sd->poll_list); list_add_tail(&napi->poll_list, &sd->poll_list);
__raise_softirq_irqoff(NET_RX_SOFTIRQ); __raise_softirq_irqoff(NET_RX_SOFTIRQ);
} }
@@ -6763,6 +6800,12 @@ void netif_napi_add(struct net_device *d @@ -6765,6 +6802,12 @@ void netif_napi_add(struct net_device *d
set_bit(NAPI_STATE_NPSVC, &napi->state); set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list); list_add_rcu(&napi->dev_list, &dev->napi_list);
napi_hash_add(napi); napi_hash_add(napi);
@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
EXPORT_SYMBOL(netif_napi_add); EXPORT_SYMBOL(netif_napi_add);
@@ -6779,9 +6822,28 @@ void napi_disable(struct napi_struct *n) @@ -6781,9 +6824,28 @@ void napi_disable(struct napi_struct *n)
hrtimer_cancel(&n->timer); hrtimer_cancel(&n->timer);
clear_bit(NAPI_STATE_DISABLE, &n->state); clear_bit(NAPI_STATE_DISABLE, &n->state);
@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void flush_gro_hash(struct napi_struct *napi) static void flush_gro_hash(struct napi_struct *napi)
{ {
int i; int i;
@@ -6807,6 +6869,11 @@ void __netif_napi_del(struct napi_struct @@ -6809,6 +6871,11 @@ void __netif_napi_del(struct napi_struct
flush_gro_hash(napi); flush_gro_hash(napi);
napi->gro_bitmask = 0; napi->gro_bitmask = 0;
@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
} }
EXPORT_SYMBOL(__netif_napi_del); EXPORT_SYMBOL(__netif_napi_del);
@@ -6888,6 +6955,51 @@ static int napi_poll(struct napi_struct @@ -6890,6 +6957,51 @@ static int napi_poll(struct napi_struct
return work; return work;
} }

View File

@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
* @n: NAPI context * @n: NAPI context
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -4298,8 +4298,9 @@ static inline void ____napi_schedule(str @@ -4300,8 +4300,9 @@ static inline void ____napi_schedule(str
if (test_bit(NAPI_STATE_THREADED, &napi->state)) { if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
/* Paired with smp_mb__before_atomic() in /* Paired with smp_mb__before_atomic() in
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
* wake_up_process() when it's not NULL. * wake_up_process() when it's not NULL.
*/ */
thread = READ_ONCE(napi->thread); thread = READ_ONCE(napi->thread);
@@ -6773,6 +6774,49 @@ static void init_gro_hash(struct napi_st @@ -6775,6 +6776,49 @@ static void init_gro_hash(struct napi_st
napi->gro_bitmask = 0; napi->gro_bitmask = 0;
} }

View File

@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
enum gro_result { enum gro_result {
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -4305,6 +4305,8 @@ static inline void ____napi_schedule(str @@ -4307,6 +4307,8 @@ static inline void ____napi_schedule(str
*/ */
thread = READ_ONCE(napi->thread); thread = READ_ONCE(napi->thread);
if (thread) { if (thread) {
@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
wake_up_process(thread); wake_up_process(thread);
return; return;
} }
@@ -6565,7 +6567,8 @@ bool napi_complete_done(struct napi_stru @@ -6567,7 +6569,8 @@ bool napi_complete_done(struct napi_stru
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED)); WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
/* If STATE_MISSED was set, leave STATE_SCHED set, /* If STATE_MISSED was set, leave STATE_SCHED set,
* because we will call napi->poll() one more time. * because we will call napi->poll() one more time.
@@ -7001,16 +7004,25 @@ static int napi_poll(struct napi_struct @@ -7003,16 +7006,25 @@ static int napi_poll(struct napi_struct
static int napi_thread_wait(struct napi_struct *napi) static int napi_thread_wait(struct napi_struct *napi)
{ {

View File

@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -7008,7 +7008,7 @@ static int napi_thread_wait(struct napi_ @@ -7010,7 +7010,7 @@ static int napi_thread_wait(struct napi_
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_INTERRUPTIBLE);
@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Testing SCHED_THREADED bit here to make sure the current /* Testing SCHED_THREADED bit here to make sure the current
* kthread owns this napi and could poll on this napi. * kthread owns this napi and could poll on this napi.
* Testing SCHED bit is not enough because SCHED bit might be * Testing SCHED bit is not enough because SCHED bit might be
@@ -7026,6 +7026,7 @@ static int napi_thread_wait(struct napi_ @@ -7028,6 +7028,7 @@ static int napi_thread_wait(struct napi_
set_current_state(TASK_INTERRUPTIBLE); set_current_state(TASK_INTERRUPTIBLE);
} }
__set_current_state(TASK_RUNNING); __set_current_state(TASK_RUNNING);

View File

@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -6819,6 +6819,7 @@ int dev_set_threaded(struct net_device * @@ -6821,6 +6821,7 @@ int dev_set_threaded(struct net_device *
return err; return err;
} }

View File

@ -1420,7 +1420,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c --- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
+++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c +++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
@@ -1742,7 +1742,6 @@ static int am65_cpsw_nuss_init_slave_por @@ -1713,7 +1713,6 @@ static int am65_cpsw_nuss_init_slave_por
for_each_child_of_node(node, port_np) { for_each_child_of_node(node, port_np) {
struct am65_cpsw_port *port; struct am65_cpsw_port *port;
@ -1428,8 +1428,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 port_id; u32 port_id;
/* it is not a slave port node, continue */ /* it is not a slave port node, continue */
@@ -1821,15 +1820,15 @@ static int am65_cpsw_nuss_init_slave_por @@ -1796,15 +1795,15 @@ static int am65_cpsw_nuss_init_slave_por
return ret; goto of_node_put;
} }
- mac_addr = of_get_mac_address(port_np); - mac_addr = of_get_mac_address(port_np);

View File

@ -34,7 +34,7 @@ Acked-by: Bjorn Helgaas <bhelgaas@google.com>
set_dev_node(bus->bridge, pcibus_to_node(bus)); set_dev_node(bus->bridge, pcibus_to_node(bus));
--- a/include/linux/pci.h --- a/include/linux/pci.h
+++ b/include/linux/pci.h +++ b/include/linux/pci.h
@@ -547,6 +547,7 @@ struct pci_host_bridge { @@ -548,6 +548,7 @@ struct pci_host_bridge {
unsigned int native_dpc:1; /* OS may use PCIe DPC */ unsigned int native_dpc:1; /* OS may use PCIe DPC */
unsigned int preserve_config:1; /* Preserve FW resource setup */ unsigned int preserve_config:1; /* Preserve FW resource setup */
unsigned int size_windows:1; /* Enable root bus sizing */ unsigned int size_windows:1; /* Enable root bus sizing */

View File

@ -41,7 +41,7 @@ Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
--- a/drivers/bluetooth/btusb.c --- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c
@@ -451,6 +451,10 @@ static const struct usb_device_id blackl @@ -455,6 +455,10 @@ static const struct usb_device_id blackl
{ USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK },
{ USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK },

View File

@ -44,7 +44,7 @@ Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
--- a/drivers/bluetooth/btusb.c --- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c
@@ -451,6 +451,10 @@ static const struct usb_device_id blackl @@ -455,6 +455,10 @@ static const struct usb_device_id blackl
{ USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK },
{ USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK },

View File

@ -44,7 +44,7 @@ Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
--- a/drivers/bluetooth/btusb.c --- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c
@@ -458,6 +458,8 @@ static const struct usb_device_id blackl @@ -462,6 +462,8 @@ static const struct usb_device_id blackl
/* Additional Realtek 8761BU Bluetooth devices */ /* Additional Realtek 8761BU Bluetooth devices */
{ USB_DEVICE(0x0b05, 0x190e), .driver_info = BTUSB_REALTEK | { USB_DEVICE(0x0b05, 0x190e), .driver_info = BTUSB_REALTEK |
BTUSB_WIDEBAND_SPEECH }, BTUSB_WIDEBAND_SPEECH },

View File

@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help help
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -3654,6 +3654,11 @@ static int xmit_one(struct sk_buff *skb, @@ -3656,6 +3656,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev)) if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev); dev_queue_xmit_nit(skb, dev);

View File

@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/sock.c --- a/net/core/sock.c
+++ b/net/core/sock.c +++ b/net/core/sock.c
@@ -3701,6 +3701,8 @@ static __net_initdata struct pernet_oper @@ -3710,6 +3710,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void) static int __init proto_init(void)
{ {

View File

@ -202,7 +202,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
return !!nor->params->erase_map.uniform_erase_type; return !!nor->params->erase_map.uniform_erase_type;
} }
@@ -2571,6 +2573,7 @@ static int spi_nor_select_erase(struct s @@ -2580,6 +2582,7 @@ static int spi_nor_select_erase(struct s
{ {
struct spi_nor_erase_map *map = &nor->params->erase_map; struct spi_nor_erase_map *map = &nor->params->erase_map;
const struct spi_nor_erase_type *erase = NULL; const struct spi_nor_erase_type *erase = NULL;
@ -210,7 +210,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
struct mtd_info *mtd = &nor->mtd; struct mtd_info *mtd = &nor->mtd;
u32 wanted_size = nor->info->sector_size; u32 wanted_size = nor->info->sector_size;
int i; int i;
@@ -2603,8 +2606,9 @@ static int spi_nor_select_erase(struct s @@ -2612,8 +2615,9 @@ static int spi_nor_select_erase(struct s
*/ */
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) { for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
if (map->erase_type[i].size) { if (map->erase_type[i].size) {
@ -222,7 +222,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
} }
} }
@@ -2612,6 +2616,9 @@ static int spi_nor_select_erase(struct s @@ -2621,6 +2625,9 @@ static int spi_nor_select_erase(struct s
return -EINVAL; return -EINVAL;
mtd->erasesize = erase->size; mtd->erasesize = erase->size;

View File

@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mtd/ubi/build.c --- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c
@@ -1185,6 +1185,73 @@ static struct mtd_info * __init open_mtd @@ -1192,6 +1192,73 @@ static struct mtd_info * __init open_mtd
return mtd; return mtd;
} }
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
static int __init ubi_init(void) static int __init ubi_init(void)
{ {
int err, i, k; int err, i, k;
@@ -1268,6 +1335,12 @@ static int __init ubi_init(void) @@ -1275,6 +1342,12 @@ static int __init ubi_init(void)
} }
} }

View File

@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
for (i = sizeof(struct ipt_entry); for (i = sizeof(struct ipt_entry);
i < e->target_offset; i < e->target_offset;
i += m->u.match_size) { i += m->u.match_size) {
@@ -1223,12 +1260,15 @@ compat_copy_entry_to_user(struct ipt_ent @@ -1222,12 +1259,15 @@ compat_copy_entry_to_user(struct ipt_ent
compat_uint_t origsize; compat_uint_t origsize;
const struct xt_entry_match *ematch; const struct xt_entry_match *ematch;
int ret = 0; int ret = 0;

View File

@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
cfg->fc_flags |= RTF_REJECT; cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL) if (rtm->rtm_type == RTN_LOCAL)
@@ -6135,6 +6166,8 @@ static int ip6_route_dev_notify(struct n @@ -6136,6 +6167,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif #endif
@@ -6146,6 +6179,7 @@ static int ip6_route_dev_notify(struct n @@ -6147,6 +6180,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif #endif
} }
@@ -6337,6 +6371,8 @@ static int __net_init ip6_route_net_init @@ -6338,6 +6372,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false; net->ipv6.fib6_has_custom_rules = false;
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry), sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL); GFP_KERNEL);
@@ -6347,11 +6383,21 @@ static int __net_init ip6_route_net_init @@ -6348,11 +6384,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true); ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true); ip6_template_metrics, true);
@@ -6378,6 +6424,8 @@ out: @@ -6379,6 +6425,8 @@ out:
return ret; return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
out_ip6_prohibit_entry: out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry: out_ip6_null_entry:
@@ -6397,6 +6445,7 @@ static void __net_exit ip6_route_net_exi @@ -6398,6 +6446,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry); kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES #ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_prohibit_entry);
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
kfree(net->ipv6.ip6_blk_hole_entry); kfree(net->ipv6.ip6_blk_hole_entry);
#endif #endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops); dst_entries_destroy(&net->ipv6.ip6_dst_ops);
@@ -6480,6 +6529,9 @@ void __init ip6_route_init_special_entri @@ -6481,6 +6530,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);

View File

@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__u16 tc_index; /* traffic control index */ __u16 tc_index; /* traffic control index */
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -6067,6 +6067,9 @@ static enum gro_result dev_gro_receive(s @@ -6069,6 +6069,9 @@ static enum gro_result dev_gro_receive(s
int same_flow; int same_flow;
int grow; int grow;
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (netif_elide_gro(skb->dev)) if (netif_elide_gro(skb->dev))
goto normal; goto normal;
@@ -8045,6 +8048,48 @@ static void __netdev_adjacent_dev_unlink @@ -8047,6 +8050,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower); &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, static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master, struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info, void *upper_priv, void *upper_info,
@@ -8096,6 +8141,7 @@ static int __netdev_upper_dev_link(struc @@ -8098,6 +8143,7 @@ static int __netdev_upper_dev_link(struc
if (ret) if (ret)
return ret; return ret;
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info); &changeupper_info.info);
ret = notifier_to_errno(ret); ret = notifier_to_errno(ret);
@@ -8192,6 +8238,7 @@ static void __netdev_upper_dev_unlink(st @@ -8194,6 +8240,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); __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, call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info); &changeupper_info.info);
@@ -8978,6 +9025,7 @@ int dev_set_mac_address(struct net_devic @@ -8980,6 +9027,7 @@ int dev_set_mac_address(struct net_devic
if (err) if (err)
return err; return err;
dev->addr_assign_type = NET_ADDR_SET; dev->addr_assign_type = NET_ADDR_SET;

View File

@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
interface-type = "ace"; interface-type = "ace";
reg = <0x5000 0x1000>; reg = <0x5000 0x1000>;
}; };
@@ -936,6 +936,8 @@ @@ -937,6 +937,8 @@
power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>;
mediatek,ethsys = <&ethsys>; mediatek,ethsys = <&ethsys>;
mediatek,sgmiisys = <&sgmiisys>; mediatek,sgmiisys = <&sgmiisys>;

View File

@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi --- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
@@ -892,6 +892,11 @@ @@ -893,6 +893,11 @@
}; };
}; };
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ethsys: syscon@1b000000 { ethsys: syscon@1b000000 {
compatible = "mediatek,mt7622-ethsys", compatible = "mediatek,mt7622-ethsys",
"syscon"; "syscon";
@@ -910,6 +915,26 @@ @@ -911,6 +916,26 @@
#dma-cells = <1>; #dma-cells = <1>;
}; };
@ -50,7 +50,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
eth: ethernet@1b100000 { eth: ethernet@1b100000 {
compatible = "mediatek,mt7622-eth", compatible = "mediatek,mt7622-eth",
"mediatek,mt2701-eth", "mediatek,mt2701-eth",
@@ -937,6 +962,9 @@ @@ -938,6 +963,9 @@
mediatek,ethsys = <&ethsys>; mediatek,ethsys = <&ethsys>;
mediatek,sgmiisys = <&sgmiisys>; mediatek,sgmiisys = <&sgmiisys>;
mediatek,cci-control = <&cci_control2>; mediatek,cci-control = <&cci_control2>;

View File

@ -219,7 +219,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
tsens_debug_init(op); tsens_debug_init(op);
err_put_device: err_put_device:
@@ -945,10 +1015,19 @@ static int tsens_register_irq(struct tse @@ -951,10 +1021,19 @@ static int tsens_register_irq(struct tse
if (irq == -ENXIO) if (irq == -ENXIO)
ret = 0; ret = 0;
} else { } else {
@ -243,7 +243,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
if (ret) if (ret)
dev_err(&pdev->dev, "%s: failed to get irq\n", dev_err(&pdev->dev, "%s: failed to get irq\n",
__func__); __func__);
@@ -977,6 +1056,19 @@ static int tsens_register(struct tsens_p @@ -983,6 +1062,19 @@ static int tsens_register(struct tsens_p
priv->ops->enable(priv, i); priv->ops->enable(priv, i);
} }

View File

@ -25,7 +25,7 @@ Acked-by: Thara Gopinath <thara.gopinath@linaro.org>
err_put_device: err_put_device:
put_device(&op->dev); put_device(&op->dev);
return ret; return ret;
@@ -1155,7 +1153,12 @@ static int tsens_probe(struct platform_d @@ -1161,7 +1159,12 @@ static int tsens_probe(struct platform_d
} }
} }

View File

@ -5481,7 +5481,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
(transaction layer end-to-end CRC checking). (transaction layer end-to-end CRC checking).
--- a/include/linux/pci.h --- a/include/linux/pci.h
+++ b/include/linux/pci.h +++ b/include/linux/pci.h
@@ -1420,6 +1420,8 @@ void pci_walk_bus(struct pci_bus *top, i @@ -1421,6 +1421,8 @@ void pci_walk_bus(struct pci_bus *top, i
void *userdata); void *userdata);
int pci_cfg_space_size(struct pci_dev *dev); int pci_cfg_space_size(struct pci_dev *dev);
unsigned char pci_bus_max_busnr(struct pci_bus *bus); unsigned char pci_bus_max_busnr(struct pci_bus *bus);

View File

@ -15,7 +15,7 @@
default "y" default "y"
--- a/arch/mips/include/asm/vpe.h --- a/arch/mips/include/asm/vpe.h
+++ b/arch/mips/include/asm/vpe.h +++ b/arch/mips/include/asm/vpe.h
@@ -127,4 +127,13 @@ void cleanup_tc(struct tc *tc); @@ -126,4 +126,13 @@ void cleanup_tc(struct tc *tc);
int __init vpe_module_init(void); int __init vpe_module_init(void);
void __exit vpe_module_exit(void); void __exit vpe_module_exit(void);
@ -31,15 +31,7 @@
#endif /* _ASM_VPE_H */ #endif /* _ASM_VPE_H */
--- a/arch/mips/kernel/vpe-mt.c --- a/arch/mips/kernel/vpe-mt.c
+++ b/arch/mips/kernel/vpe-mt.c +++ b/arch/mips/kernel/vpe-mt.c
@@ -29,6 +29,7 @@ int vpe_run(struct vpe *v) @@ -415,6 +415,8 @@ int __init vpe_module_init(void)
struct vpe_notifications *notifier;
unsigned int vpeflags;
struct tc *t;
+ unsigned long physical_memsize = 0L;
/* check we are the Master VPE */
local_irq_save(flags);
@@ -416,6 +417,8 @@ int __init vpe_module_init(void)
} }
v->ntcs = hw_tcs - aprp_cpu_index(); v->ntcs = hw_tcs - aprp_cpu_index();
@ -48,7 +40,7 @@
/* add the tc to the list of this vpe's tc's. */ /* add the tc to the list of this vpe's tc's. */
list_add(&t->tc, &v->tc); list_add(&t->tc, &v->tc);
@@ -519,3 +522,47 @@ void __exit vpe_module_exit(void) @@ -518,3 +520,47 @@ void __exit vpe_module_exit(void)
release_vpe(v); release_vpe(v);
} }
} }
@ -142,7 +134,7 @@
{ {
--- a/arch/mips/lantiq/prom.c --- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c
@@ -34,10 +34,14 @@ unsigned long physical_memsize = 0L; @@ -28,10 +28,14 @@ EXPORT_SYMBOL_GPL(ebu_lock);
*/ */
static struct ltq_soc_info soc_info; static struct ltq_soc_info soc_info;

View File

@ -1,6 +1,6 @@
--- a/arch/mips/kernel/vpe-mt.c --- a/arch/mips/kernel/vpe-mt.c
+++ b/arch/mips/kernel/vpe-mt.c +++ b/arch/mips/kernel/vpe-mt.c
@@ -132,7 +132,10 @@ int vpe_run(struct vpe *v) @@ -130,7 +130,10 @@ int vpe_run(struct vpe *v)
* kernels need to turn it on, even if that wasn't the pre-dvpe() state. * kernels need to turn it on, even if that wasn't the pre-dvpe() state.
*/ */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP

View File

@ -39,7 +39,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
--- a/arch/mips/lantiq/prom.c --- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c +++ b/arch/mips/lantiq/prom.c
@@ -37,6 +37,14 @@ static struct ltq_soc_info soc_info; @@ -31,6 +31,14 @@ static struct ltq_soc_info soc_info;
/* for Multithreading (APRP), vpe.c will use it */ /* for Multithreading (APRP), vpe.c will use it */
unsigned long cp0_memsize; unsigned long cp0_memsize;
@ -54,7 +54,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
const char *get_system_type(void) const char *get_system_type(void)
{ {
return soc_info.sys_type; return soc_info.sys_type;
@@ -100,6 +108,17 @@ void __init device_tree_init(void) @@ -94,6 +102,17 @@ void __init device_tree_init(void)
unflatten_and_copy_device_tree(); unflatten_and_copy_device_tree();
} }
@ -72,7 +72,7 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
void __init prom_init(void) void __init prom_init(void)
{ {
/* call the soc specific detetcion code and get it to fill soc_info */ /* call the soc specific detetcion code and get it to fill soc_info */
@@ -111,7 +130,10 @@ void __init prom_init(void) @@ -105,7 +124,10 @@ void __init prom_init(void)
prom_init_cmdline(); prom_init_cmdline();
#if defined(CONFIG_MIPS_MT_SMP) #if defined(CONFIG_MIPS_MT_SMP)

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
@@ -3143,6 +3143,7 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3152,6 +3152,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev; struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd; struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor); struct device_node *np = spi_nor_get_flash_node(nor);
@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
int ret; int ret;
int i; int i;
@@ -3197,7 +3198,12 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3206,7 +3207,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret) if (ret)
return ret; return ret;

View File

@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/media/usb/uvc/uvc_driver.c --- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -3004,6 +3004,18 @@ static const struct usb_device_id uvc_id @@ -3012,6 +3012,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1, .bInterfaceSubClass = 1,
.bInterfaceProtocol = 0, .bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
@ -34,7 +34,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) }, { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },
--- a/drivers/media/usb/uvc/uvc_status.c --- a/drivers/media/usb/uvc/uvc_status.c
+++ b/drivers/media/usb/uvc/uvc_status.c +++ b/drivers/media/usb/uvc/uvc_status.c
@@ -223,6 +223,7 @@ static void uvc_status_complete(struct u @@ -225,6 +225,7 @@ static void uvc_status_complete(struct u
if (uvc_event_control(urb, status, len)) if (uvc_event_control(urb, status, len))
/* The URB will be resubmitted in work context. */ /* The URB will be resubmitted in work context. */
return; return;
@ -42,7 +42,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
break; break;
} }
@@ -271,6 +272,7 @@ int uvc_status_init(struct uvc_device *d @@ -273,6 +274,7 @@ int uvc_status_init(struct uvc_device *d
} }
pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress); pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress);
@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* Mark the buffer as done if the EOF marker is set. */ /* Mark the buffer as done if the EOF marker is set. */
if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n"); uvc_trace(UVC_TRACE_FRAME, "Frame complete (EOF found).\n");
@@ -1747,6 +1892,8 @@ static int uvc_init_video_isoc(struct uv @@ -1749,6 +1894,8 @@ static int uvc_init_video_isoc(struct uv
if (npackets == 0) if (npackets == 0)
return -ENOMEM; return -ENOMEM;
@ -225,18 +225,17 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
for_each_uvc_urb(uvc_urb, stream) { for_each_uvc_urb(uvc_urb, stream) {
--- a/drivers/media/usb/uvc/uvcvideo.h --- a/drivers/media/usb/uvc/uvcvideo.h
+++ b/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h
@@ -203,7 +203,9 @@ @@ -204,7 +204,8 @@
#define UVC_QUIRK_RESTORE_CTRLS_ON_INIT 0x00000400
#define UVC_QUIRK_FORCE_Y8 0x00000800 #define UVC_QUIRK_FORCE_Y8 0x00000800
#define UVC_QUIRK_FORCE_BPP 0x00001000 #define UVC_QUIRK_FORCE_BPP 0x00001000
#define UVC_QUIRK_WAKE_AUTOSUSPEND 0x00002000
- -
+#define UVC_QUIRK_MOTION 0x00001000 +#define UVC_QUIRK_MOTION 0x00004000
+#define UVC_QUIRK_SINGLE_ISO 0x00002000 +#define UVC_QUIRK_SINGLE_ISO 0x00008000
+
/* Format flags */ /* Format flags */
#define UVC_FMT_FLAG_COMPRESSED 0x00000001 #define UVC_FMT_FLAG_COMPRESSED 0x00000001
#define UVC_FMT_FLAG_STREAM 0x00000002 #define UVC_FMT_FLAG_STREAM 0x00000002
@@ -672,6 +674,7 @@ struct uvc_device { @@ -674,6 +675,7 @@ struct uvc_device {
u8 *status; u8 *status;
struct input_dev *input; struct input_dev *input;
char input_phys[64]; char input_phys[64];

View File

@ -16,7 +16,7 @@ Acked-by: John Crispin <blogic@openwrt.org>
--- a/drivers/spi/Kconfig --- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig
@@ -689,6 +689,12 @@ config SPI_QCOM_GENI @@ -688,6 +688,12 @@ config SPI_QCOM_GENI
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called spi-geni-qcom. will be called spi-geni-qcom.