aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-5.10
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/backport-5.10')
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-31-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch4
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch10
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-33-net-ethernet-mtk_eth_soc-add-flow-offloading-support.patch4
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-38-net-ethernet-mtk_eth_soc-unmap-RX-data-before-callin.patch4
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-39-net-ethernet-mtk_eth_soc-fix-build_skb-cleanup.patch4
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-40-net-ethernet-mtk_eth_soc-use-napi_consume_skb.patch12
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-42-net-ethernet-mtk_eth_soc-remove-unnecessary-TX-queue.patch6
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-43-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-Q.patch2
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-45-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch24
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-46-net-ethernet-mtk_eth_soc-cache-HW-pointer-of-last-fr.patch8
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-47-net-ethernet-mtk_eth_soc-only-read-the-full-RX-descr.patch4
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-48-net-ethernet-mtk_eth_soc-reduce-unnecessary-interrup.patch4
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-49-net-ethernet-mtk_eth_soc-rework-NAPI-callbacks.patch6
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-50-net-ethernet-mtk_eth_soc-set-PPE-flow-hash-as-skb-ha.patch4
-rw-r--r--target/linux/generic/backport-5.10/610-v5.13-51-net-ethernet-mtk_eth_soc-use-iopoll.h-macro-for-DMA-.patch2
-rw-r--r--target/linux/generic/backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch6
-rw-r--r--target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch2
-rw-r--r--target/linux/generic/backport-5.10/840-v5.15-leds-pca955x-clean-up-code-formatting.patch20
-rw-r--r--target/linux/generic/backport-5.10/841-v5.15-leds-pca955x-add-brightness-get-function.patch6
-rw-r--r--target/linux/generic/backport-5.10/842-v5.15-leds-pca955x-implement-the-default-state-property.patch12
-rw-r--r--target/linux/generic/backport-5.10/843-v5.15-leds-pca955x-let-the-core-process-the-fwnode.patch14
-rw-r--r--target/linux/generic/backport-5.10/844-v5.15-leds-pca955x-switch-to-i2c-probe-new.patch9
22 files changed, 79 insertions, 88 deletions
diff --git a/target/linux/generic/backport-5.10/610-v5.13-31-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch b/target/linux/generic/backport-5.10/610-v5.13-31-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch
index 4f20909e35..4fa61bec35 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-31-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-31-net-ethernet-mtk_eth_soc-fix-parsing-packets-in-GDM.patch
@@ -19,7 +19,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
#include "mtk_eth_soc.h"
-@@ -1285,13 +1286,12 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1296,13 +1297,12 @@ static int mtk_poll_rx(struct napi_struc
break;
/* find out which mac the packet come from. values start at 1 */
@@ -38,7 +38,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
!eth->netdev[mac]))
-@@ -2257,6 +2257,9 @@ static void mtk_gdm_config(struct mtk_et
+@@ -2274,6 +2274,9 @@ static void mtk_gdm_config(struct mtk_et
val |= config;
diff --git a/target/linux/generic/backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch b/target/linux/generic/backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch
index 9abe293dee..f8ee000eeb 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch
@@ -27,7 +27,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2282,12 +2282,17 @@ static int mtk_open(struct net_device *d
+@@ -2299,12 +2299,17 @@ static int mtk_open(struct net_device *d
/* we run 2 netdevs on the same dma ring so we only bring it up once */
if (!refcount_read(&eth->dma_refcnt)) {
@@ -47,7 +47,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
napi_enable(&eth->tx_napi);
napi_enable(&eth->rx_napi);
-@@ -2354,6 +2359,9 @@ static int mtk_stop(struct net_device *d
+@@ -2371,6 +2376,9 @@ static int mtk_stop(struct net_device *d
mtk_dma_free(eth);
@@ -57,7 +57,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
return 0;
}
-@@ -3082,6 +3090,13 @@ static int mtk_probe(struct platform_dev
+@@ -3099,6 +3107,13 @@ static int mtk_probe(struct platform_dev
goto err_free_dev;
}
@@ -71,7 +71,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
for (i = 0; i < MTK_MAX_DEVS; i++) {
if (!eth->netdev[i])
continue;
-@@ -3156,6 +3171,7 @@ static const struct mtk_soc_data mt7621_
+@@ -3173,6 +3188,7 @@ static const struct mtk_soc_data mt7621_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7621_CLKS_BITMAP,
.required_pctl = false,
@@ -79,7 +79,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
};
static const struct mtk_soc_data mt7622_data = {
-@@ -3164,6 +3180,7 @@ static const struct mtk_soc_data mt7622_
+@@ -3181,6 +3197,7 @@ static const struct mtk_soc_data mt7622_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7622_CLKS_BITMAP,
.required_pctl = false,
diff --git a/target/linux/generic/backport-5.10/610-v5.13-33-net-ethernet-mtk_eth_soc-add-flow-offloading-support.patch b/target/linux/generic/backport-5.10/610-v5.13-33-net-ethernet-mtk_eth_soc-add-flow-offloading-support.patch
index c3542d7de3..b58eeacd77 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-33-net-ethernet-mtk_eth_soc-add-flow-offloading-support.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-33-net-ethernet-mtk_eth_soc-add-flow-offloading-support.patch
@@ -21,7 +21,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
obj-$(CONFIG_NET_MEDIATEK_STAR_EMAC) += mtk_star_emac.o
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2837,6 +2837,7 @@ static const struct net_device_ops mtk_n
+@@ -2854,6 +2854,7 @@ static const struct net_device_ops mtk_n
#ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = mtk_poll_controller,
#endif
@@ -29,7 +29,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
};
static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
-@@ -3095,6 +3096,10 @@ static int mtk_probe(struct platform_dev
+@@ -3112,6 +3113,10 @@ static int mtk_probe(struct platform_dev
eth->base + MTK_ETH_PPE_BASE, 2);
if (err)
goto err_free_dev;
diff --git a/target/linux/generic/backport-5.10/610-v5.13-38-net-ethernet-mtk_eth_soc-unmap-RX-data-before-callin.patch b/target/linux/generic/backport-5.10/610-v5.13-38-net-ethernet-mtk_eth_soc-unmap-RX-data-before-callin.patch
index e99302ecda..78197c98a8 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-38-net-ethernet-mtk_eth_soc-unmap-RX-data-before-callin.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-38-net-ethernet-mtk_eth_soc-unmap-RX-data-before-callin.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1319,6 +1319,9 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1333,6 +1333,9 @@ static int mtk_poll_rx(struct napi_struc
goto release_desc;
}
@@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* receive data */
skb = build_skb(data, ring->frag_size);
if (unlikely(!skb)) {
-@@ -1328,8 +1331,6 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1342,8 +1345,6 @@ static int mtk_poll_rx(struct napi_struc
}
skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN);
diff --git a/target/linux/generic/backport-5.10/610-v5.13-39-net-ethernet-mtk_eth_soc-fix-build_skb-cleanup.patch b/target/linux/generic/backport-5.10/610-v5.13-39-net-ethernet-mtk_eth_soc-fix-build_skb-cleanup.patch
index a82518882a..12e531cab3 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-39-net-ethernet-mtk_eth_soc-fix-build_skb-cleanup.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-39-net-ethernet-mtk_eth_soc-fix-build_skb-cleanup.patch
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1325,9 +1325,9 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1339,9 +1339,9 @@ static int mtk_poll_rx(struct napi_struc
/* receive data */
skb = build_skb(data, ring->frag_size);
if (unlikely(!skb)) {
@@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN);
-@@ -1347,6 +1347,7 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1361,6 +1361,7 @@ static int mtk_poll_rx(struct napi_struc
skb_record_rx_queue(skb, 0);
napi_gro_receive(napi, skb);
diff --git a/target/linux/generic/backport-5.10/610-v5.13-40-net-ethernet-mtk_eth_soc-use-napi_consume_skb.patch b/target/linux/generic/backport-5.10/610-v5.13-40-net-ethernet-mtk_eth_soc-use-napi_consume_skb.patch
index 5972b9afa7..8913f1255c 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-40-net-ethernet-mtk_eth_soc-use-napi_consume_skb.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-40-net-ethernet-mtk_eth_soc-use-napi_consume_skb.patch
@@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -879,7 +879,8 @@ static int txd_to_idx(struct mtk_tx_ring
+@@ -890,7 +890,8 @@ static int txd_to_idx(struct mtk_tx_ring
return ((void *)dma - (void *)ring->dma) / sizeof(*dma);
}
@@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
{
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
if (tx_buf->flags & MTK_TX_FLAGS_SINGLE0) {
-@@ -911,8 +912,12 @@ static void mtk_tx_unmap(struct mtk_eth
+@@ -922,8 +923,12 @@ static void mtk_tx_unmap(struct mtk_eth
tx_buf->flags = 0;
if (tx_buf->skb &&
@@ -39,7 +39,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
tx_buf->skb = NULL;
}
-@@ -1090,7 +1095,7 @@ err_dma:
+@@ -1101,7 +1106,7 @@ err_dma:
tx_buf = mtk_desc_to_tx_buf(ring, itxd);
/* unmap dma */
@@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
itxd->txd3 = TX_DMA_LS0 | TX_DMA_OWNER_CPU;
if (!MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
-@@ -1409,7 +1414,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
+@@ -1423,7 +1428,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
done[mac]++;
budget--;
}
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ring->last_free = desc;
atomic_inc(&ring->free_count);
-@@ -1446,7 +1451,7 @@ static int mtk_poll_tx_pdma(struct mtk_e
+@@ -1460,7 +1465,7 @@ static int mtk_poll_tx_pdma(struct mtk_e
budget--;
}
@@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
desc = &ring->dma[cpu];
ring->last_free = desc;
-@@ -1648,7 +1653,7 @@ static void mtk_tx_clean(struct mtk_eth
+@@ -1662,7 +1667,7 @@ static void mtk_tx_clean(struct mtk_eth
if (ring->buf) {
for (i = 0; i < MTK_DMA_SIZE; i++)
diff --git a/target/linux/generic/backport-5.10/610-v5.13-42-net-ethernet-mtk_eth_soc-remove-unnecessary-TX-queue.patch b/target/linux/generic/backport-5.10/610-v5.13-42-net-ethernet-mtk_eth_soc-remove-unnecessary-TX-queue.patch
index 56d4a82824..ad839297d5 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-42-net-ethernet-mtk_eth_soc-remove-unnecessary-TX-queue.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-42-net-ethernet-mtk_eth_soc-remove-unnecessary-TX-queue.patch
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1152,17 +1152,6 @@ static void mtk_wake_queue(struct mtk_et
+@@ -1163,17 +1163,6 @@ static void mtk_wake_queue(struct mtk_et
}
}
@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static netdev_tx_t mtk_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct mtk_mac *mac = netdev_priv(dev);
-@@ -1183,7 +1172,7 @@ static netdev_tx_t mtk_start_xmit(struct
+@@ -1194,7 +1183,7 @@ static netdev_tx_t mtk_start_xmit(struct
tx_num = mtk_cal_txd_req(skb);
if (unlikely(atomic_read(&ring->free_count) <= tx_num)) {
@@ -43,7 +43,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
netif_err(eth, tx_queued, dev,
"Tx Ring full when queue awake!\n");
spin_unlock(&eth->page_lock);
-@@ -1209,7 +1198,7 @@ static netdev_tx_t mtk_start_xmit(struct
+@@ -1220,7 +1209,7 @@ static netdev_tx_t mtk_start_xmit(struct
goto drop;
if (unlikely(atomic_read(&ring->free_count) <= ring->thresh))
diff --git a/target/linux/generic/backport-5.10/610-v5.13-43-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-Q.patch b/target/linux/generic/backport-5.10/610-v5.13-43-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-Q.patch
index 5c80324142..1c59f99911 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-43-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-Q.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-43-net-ethernet-mtk_eth_soc-use-larger-burst-size-for-Q.patch
@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2217,7 +2217,7 @@ static int mtk_start_dma(struct mtk_eth
+@@ -2234,7 +2234,7 @@ static int mtk_start_dma(struct mtk_eth
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
mtk_w32(eth,
MTK_TX_WB_DDONE | MTK_TX_DMA_EN |
diff --git a/target/linux/generic/backport-5.10/610-v5.13-45-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch b/target/linux/generic/backport-5.10/610-v5.13-45-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch
index 2234d2f795..ba9e160dd2 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-45-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-45-net-ethernet-mtk_eth_soc-implement-dynamic-interrupt.patch
@@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
MediaTek SoC family.
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1254,12 +1254,13 @@ static void mtk_update_rx_cpu_idx(struct
+@@ -1265,12 +1265,13 @@ static void mtk_update_rx_cpu_idx(struct
static int mtk_poll_rx(struct napi_struct *napi, int budget,
struct mtk_eth *eth)
{
@@ -43,7 +43,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
while (done < budget) {
struct net_device *netdev;
-@@ -1333,6 +1334,7 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1347,6 +1348,7 @@ static int mtk_poll_rx(struct napi_struc
else
skb_checksum_none_assert(skb);
skb->protocol = eth_type_trans(skb, netdev);
@@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
(trxd.rxd2 & RX_DMA_VTAG))
-@@ -1365,6 +1367,12 @@ rx_done:
+@@ -1379,6 +1381,12 @@ rx_done:
mtk_update_rx_cpu_idx(eth);
}
@@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return done;
}
-@@ -1457,6 +1465,7 @@ static int mtk_poll_tx_pdma(struct mtk_e
+@@ -1471,6 +1479,7 @@ static int mtk_poll_tx_pdma(struct mtk_e
static int mtk_poll_tx(struct mtk_eth *eth, int budget)
{
struct mtk_tx_ring *ring = &eth->tx_ring;
@@ -72,7 +72,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
unsigned int done[MTK_MAX_DEVS];
unsigned int bytes[MTK_MAX_DEVS];
int total = 0, i;
-@@ -1474,8 +1483,14 @@ static int mtk_poll_tx(struct mtk_eth *e
+@@ -1488,8 +1497,14 @@ static int mtk_poll_tx(struct mtk_eth *e
continue;
netdev_completed_queue(eth->netdev[i], done[i], bytes[i]);
total += done[i];
@@ -87,7 +87,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (mtk_queue_stopped(eth) &&
(atomic_read(&ring->free_count) > ring->thresh))
mtk_wake_queue(eth);
-@@ -2153,6 +2168,7 @@ static irqreturn_t mtk_handle_irq_rx(int
+@@ -2170,6 +2185,7 @@ static irqreturn_t mtk_handle_irq_rx(int
{
struct mtk_eth *eth = _eth;
@@ -95,7 +95,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (likely(napi_schedule_prep(&eth->rx_napi))) {
__napi_schedule(&eth->rx_napi);
mtk_rx_irq_disable(eth, MTK_RX_DONE_INT);
-@@ -2165,6 +2181,7 @@ static irqreturn_t mtk_handle_irq_tx(int
+@@ -2182,6 +2198,7 @@ static irqreturn_t mtk_handle_irq_tx(int
{
struct mtk_eth *eth = _eth;
@@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (likely(napi_schedule_prep(&eth->tx_napi))) {
__napi_schedule(&eth->tx_napi);
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
-@@ -2349,6 +2366,9 @@ static int mtk_stop(struct net_device *d
+@@ -2366,6 +2383,9 @@ static int mtk_stop(struct net_device *d
napi_disable(&eth->tx_napi);
napi_disable(&eth->rx_napi);
@@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
mtk_stop_dma(eth, MTK_QDMA_GLO_CFG);
mtk_stop_dma(eth, MTK_PDMA_GLO_CFG);
-@@ -2401,6 +2421,64 @@ err_disable_clks:
+@@ -2418,6 +2438,64 @@ err_disable_clks:
return ret;
}
@@ -178,7 +178,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int mtk_hw_init(struct mtk_eth *eth)
{
int i, val, ret;
-@@ -2422,9 +2500,6 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2439,9 +2517,6 @@ static int mtk_hw_init(struct mtk_eth *e
goto err_disable_pm;
}
@@ -188,7 +188,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* disable delay and normal interrupt */
mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0);
-@@ -2463,11 +2538,11 @@ static int mtk_hw_init(struct mtk_eth *e
+@@ -2480,11 +2555,11 @@ static int mtk_hw_init(struct mtk_eth *e
/* Enable RX VLan Offloading */
mtk_w32(eth, 1, MTK_CDMP_EG_CTRL);
@@ -203,7 +203,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mtk_tx_irq_disable(eth, ~0);
mtk_rx_irq_disable(eth, ~0);
-@@ -2972,6 +3047,13 @@ static int mtk_probe(struct platform_dev
+@@ -2989,6 +3064,13 @@ static int mtk_probe(struct platform_dev
spin_lock_init(&eth->page_lock);
spin_lock_init(&eth->tx_irq_lock);
spin_lock_init(&eth->rx_irq_lock);
diff --git a/target/linux/generic/backport-5.10/610-v5.13-46-net-ethernet-mtk_eth_soc-cache-HW-pointer-of-last-fr.patch b/target/linux/generic/backport-5.10/610-v5.13-46-net-ethernet-mtk_eth_soc-cache-HW-pointer-of-last-fr.patch
index c2252ed728..c84bfbfd08 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-46-net-ethernet-mtk_eth_soc-cache-HW-pointer-of-last-fr.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-46-net-ethernet-mtk_eth_soc-cache-HW-pointer-of-last-fr.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1385,7 +1385,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
+@@ -1399,7 +1399,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
struct mtk_tx_buf *tx_buf;
u32 cpu, dma;
@@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dma = mtk_r32(eth, MTK_QTX_DRX_PTR);
desc = mtk_qdma_phys_to_virt(ring, cpu);
-@@ -1419,6 +1419,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
+@@ -1433,6 +1433,7 @@ static int mtk_poll_tx_qdma(struct mtk_e
cpu = next_cpu;
}
@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mtk_w32(eth, cpu, MTK_QTX_CRX_PTR);
return budget;
-@@ -1619,6 +1620,7 @@ static int mtk_tx_alloc(struct mtk_eth *
+@@ -1633,6 +1634,7 @@ static int mtk_tx_alloc(struct mtk_eth *
atomic_set(&ring->free_count, MTK_DMA_SIZE - 2);
ring->next_free = &ring->dma[0];
ring->last_free = &ring->dma[MTK_DMA_SIZE - 1];
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ring->thresh = MAX_SKB_FRAGS;
/* make sure that all changes to the dma ring are flushed before we
-@@ -1632,9 +1634,7 @@ static int mtk_tx_alloc(struct mtk_eth *
+@@ -1646,9 +1648,7 @@ static int mtk_tx_alloc(struct mtk_eth *
mtk_w32(eth,
ring->phys + ((MTK_DMA_SIZE - 1) * sz),
MTK_QTX_CRX_PTR);
diff --git a/target/linux/generic/backport-5.10/610-v5.13-47-net-ethernet-mtk_eth_soc-only-read-the-full-RX-descr.patch b/target/linux/generic/backport-5.10/610-v5.13-47-net-ethernet-mtk_eth_soc-only-read-the-full-RX-descr.patch
index 09b8b3afb9..8d27d448aa 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-47-net-ethernet-mtk_eth_soc-only-read-the-full-RX-descr.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-47-net-ethernet-mtk_eth_soc-only-read-the-full-RX-descr.patch
@@ -36,8 +36,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+ return true;
}
- /* the qdma core needs scratch memory to be setup */
-@@ -1276,8 +1281,7 @@ static int mtk_poll_rx(struct napi_struc
+ static void *mtk_max_lro_buf_alloc(gfp_t gfp_mask)
+@@ -1287,8 +1292,7 @@ static int mtk_poll_rx(struct napi_struc
rxd = &ring->dma[idx];
data = ring->data[idx];
diff --git a/target/linux/generic/backport-5.10/610-v5.13-48-net-ethernet-mtk_eth_soc-reduce-unnecessary-interrup.patch b/target/linux/generic/backport-5.10/610-v5.13-48-net-ethernet-mtk_eth_soc-reduce-unnecessary-interrup.patch
index 411374c2e7..6df02c9a56 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-48-net-ethernet-mtk_eth_soc-reduce-unnecessary-interrup.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-48-net-ethernet-mtk_eth_soc-reduce-unnecessary-interrup.patch
@@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1540,8 +1540,8 @@ static int mtk_napi_tx(struct napi_struc
+@@ -1554,8 +1554,8 @@ static int mtk_napi_tx(struct napi_struc
if (status & MTK_TX_DONE_INT)
return budget;
@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return tx_done;
}
-@@ -1574,8 +1574,9 @@ poll_again:
+@@ -1588,8 +1588,9 @@ poll_again:
remain_budget -= rx_done;
goto poll_again;
}
diff --git a/target/linux/generic/backport-5.10/610-v5.13-49-net-ethernet-mtk_eth_soc-rework-NAPI-callbacks.patch b/target/linux/generic/backport-5.10/610-v5.13-49-net-ethernet-mtk_eth_soc-rework-NAPI-callbacks.patch
index d0926325d9..a423df0d9a 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-49-net-ethernet-mtk_eth_soc-rework-NAPI-callbacks.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-49-net-ethernet-mtk_eth_soc-rework-NAPI-callbacks.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -1517,7 +1517,6 @@ static void mtk_handle_status_irq(struct
+@@ -1531,7 +1531,6 @@ static void mtk_handle_status_irq(struct
static int mtk_napi_tx(struct napi_struct *napi, int budget)
{
struct mtk_eth *eth = container_of(napi, struct mtk_eth, tx_napi);
@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int tx_done = 0;
if (MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA))
-@@ -1526,21 +1525,19 @@ static int mtk_napi_tx(struct napi_struc
+@@ -1540,21 +1539,19 @@ static int mtk_napi_tx(struct napi_struc
tx_done = mtk_poll_tx(eth, budget);
if (unlikely(netif_msg_intr(eth))) {
@@ -52,7 +52,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
return tx_done;
-@@ -1549,36 +1546,33 @@ static int mtk_napi_tx(struct napi_struc
+@@ -1563,36 +1560,33 @@ static int mtk_napi_tx(struct napi_struc
static int mtk_napi_rx(struct napi_struct *napi, int budget)
{
struct mtk_eth *eth = container_of(napi, struct mtk_eth, rx_napi);
diff --git a/target/linux/generic/backport-5.10/610-v5.13-50-net-ethernet-mtk_eth_soc-set-PPE-flow-hash-as-skb-ha.patch b/target/linux/generic/backport-5.10/610-v5.13-50-net-ethernet-mtk_eth_soc-set-PPE-flow-hash-as-skb-ha.patch
index ab298ec42b..ed433a5770 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-50-net-ethernet-mtk_eth_soc-set-PPE-flow-hash-as-skb-ha.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-50-net-ethernet-mtk_eth_soc-set-PPE-flow-hash-as-skb-ha.patch
@@ -24,7 +24,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#include <net/dsa.h>
#include "mtk_eth_soc.h"
-@@ -1271,6 +1272,7 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1282,6 +1283,7 @@ static int mtk_poll_rx(struct napi_struc
struct net_device *netdev;
unsigned int pktlen;
dma_addr_t dma_addr;
@@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int mac;
ring = mtk_get_rx_ring(eth);
-@@ -1340,6 +1342,12 @@ static int mtk_poll_rx(struct napi_struc
+@@ -1354,6 +1356,12 @@ static int mtk_poll_rx(struct napi_struc
skb->protocol = eth_type_trans(skb, netdev);
bytes += pktlen;
diff --git a/target/linux/generic/backport-5.10/610-v5.13-51-net-ethernet-mtk_eth_soc-use-iopoll.h-macro-for-DMA-.patch b/target/linux/generic/backport-5.10/610-v5.13-51-net-ethernet-mtk_eth_soc-use-iopoll.h-macro-for-DMA-.patch
index 7a203d4ef3..e7918fb52c 100644
--- a/target/linux/generic/backport-5.10/610-v5.13-51-net-ethernet-mtk_eth_soc-use-iopoll.h-macro-for-DMA-.patch
+++ b/target/linux/generic/backport-5.10/610-v5.13-51-net-ethernet-mtk_eth_soc-use-iopoll.h-macro-for-DMA-.patch
@@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2057,25 +2057,22 @@ static int mtk_set_features(struct net_d
+@@ -2074,25 +2074,22 @@ static int mtk_set_features(struct net_d
/* wait for DMA to finish whatever it is doing before we start using it again */
static int mtk_dma_busy_wait(struct mtk_eth *eth)
{
diff --git a/target/linux/generic/backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch b/target/linux/generic/backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch
index 3d33ec0aeb..b0908cca9a 100644
--- a/target/linux/generic/backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch
+++ b/target/linux/generic/backport-5.10/611-v5.12-net-ethernet-mediatek-support-setting-MTU.patch
@@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
return buf_size;
}
-@@ -2609,6 +2609,35 @@ static void mtk_uninit(struct net_device
+@@ -2626,6 +2626,35 @@ static void mtk_uninit(struct net_device
mtk_rx_irq_disable(eth, ~0);
}
@@ -84,7 +84,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
static int mtk_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
struct mtk_mac *mac = netdev_priv(dev);
-@@ -2905,6 +2934,7 @@ static const struct net_device_ops mtk_n
+@@ -2922,6 +2951,7 @@ static const struct net_device_ops mtk_n
.ndo_set_mac_address = mtk_set_mac_address,
.ndo_validate_addr = eth_validate_addr,
.ndo_do_ioctl = mtk_do_ioctl,
@@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
.ndo_tx_timeout = mtk_tx_timeout,
.ndo_get_stats64 = mtk_get_stats64,
.ndo_fix_features = mtk_fix_features,
-@@ -3007,7 +3037,10 @@ static int mtk_add_mac(struct mtk_eth *e
+@@ -3024,7 +3054,10 @@ static int mtk_add_mac(struct mtk_eth *e
eth->netdev[id]->irq = eth->irq[0];
eth->netdev[id]->dev.of_node = np;
diff --git a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
index 6ed71faa7d..80f51e7a22 100644
--- a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
+++ b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch
@@ -895,7 +895,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
-@@ -2583,14 +2583,11 @@ static int __init mtk_init(struct net_de
+@@ -2600,14 +2600,11 @@ static int __init mtk_init(struct net_de
{
struct mtk_mac *mac = netdev_priv(dev);
struct mtk_eth *eth = mac->hw;
diff --git a/target/linux/generic/backport-5.10/840-v5.15-leds-pca955x-clean-up-code-formatting.patch b/target/linux/generic/backport-5.10/840-v5.15-leds-pca955x-clean-up-code-formatting.patch
index 41199dd93e..80257c2ea0 100644
--- a/target/linux/generic/backport-5.10/840-v5.15-leds-pca955x-clean-up-code-formatting.patch
+++ b/target/linux/generic/backport-5.10/840-v5.15-leds-pca955x-clean-up-code-formatting.patch
@@ -11,11 +11,9 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 63 ++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 33 deletions(-)
-diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
-index 7087ca4592fc96..f0d841cb59fcc8 100644
--- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c
-@@ -166,11 +166,10 @@ static inline u8 pca955x_ledsel(u8 oldval, int led_num, int state)
+@@ -166,11 +166,10 @@ static inline u8 pca955x_ledsel(u8 oldva
static int pca955x_write_psc(struct i2c_client *client, int n, u8 val)
{
struct pca955x *pca955x = i2c_get_clientdata(client);
@@ -29,7 +27,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (ret < 0)
dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n",
__func__, n, val, ret);
-@@ -187,11 +186,10 @@ static int pca955x_write_psc(struct i2c_client *client, int n, u8 val)
+@@ -187,11 +186,10 @@ static int pca955x_write_psc(struct i2c_
static int pca955x_write_pwm(struct i2c_client *client, int n, u8 val)
{
struct pca955x *pca955x = i2c_get_clientdata(client);
@@ -43,7 +41,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (ret < 0)
dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n",
__func__, n, val, ret);
-@@ -205,11 +203,10 @@ static int pca955x_write_pwm(struct i2c_client *client, int n, u8 val)
+@@ -205,11 +203,10 @@ static int pca955x_write_pwm(struct i2c_
static int pca955x_write_ls(struct i2c_client *client, int n, u8 val)
{
struct pca955x *pca955x = i2c_get_clientdata(client);
@@ -57,7 +55,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (ret < 0)
dev_err(&client->dev, "%s: reg 0x%x, val 0x%x, err %d\n",
__func__, n, val, ret);
-@@ -223,10 +220,10 @@ static int pca955x_write_ls(struct i2c_client *client, int n, u8 val)
+@@ -223,10 +220,10 @@ static int pca955x_write_ls(struct i2c_c
static int pca955x_read_ls(struct i2c_client *client, int n, u8 *val)
{
struct pca955x *pca955x = i2c_get_clientdata(client);
@@ -78,7 +76,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
struct fwnode_handle *child;
int count;
-@@ -401,13 +399,13 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip)
+@@ -401,13 +399,13 @@ pca955x_get_pdata(struct i2c_client *cli
if ((res != 0) && is_of_node(child))
name = to_of_node(child)->name;
@@ -97,7 +95,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
}
pdata->num_leds = chip->bits;
-@@ -426,11 +424,12 @@ static const struct of_device_id of_pca955x_match[] = {
+@@ -426,11 +424,12 @@ static const struct of_device_id of_pca9
MODULE_DEVICE_TABLE(of, of_pca955x_match);
static int pca955x_probe(struct i2c_client *client,
@@ -111,7 +109,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
struct i2c_adapter *adapter;
int i, err;
struct pca955x_platform_data *pdata;
-@@ -449,13 +448,13 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -449,13 +448,13 @@ static int pca955x_probe(struct i2c_clie
if ((client->addr & ~((1 << chip->slv_addr_shift) - 1)) !=
chip->slv_addr) {
dev_err(&client->dev, "invalid slave address %02x\n",
@@ -128,7 +126,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_BYTE_DATA))
return -EIO;
-@@ -471,8 +470,8 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -471,8 +470,8 @@ static int pca955x_probe(struct i2c_clie
if (!pca955x)
return -ENOMEM;
@@ -139,7 +137,7 @@ index 7087ca4592fc96..f0d841cb59fcc8 100644
if (!pca955x->leds)
return -ENOMEM;
-@@ -501,27 +500,25 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -501,27 +500,25 @@ static int pca955x_probe(struct i2c_clie
*/
if (pdata->leds[i].name[0] == '\0')
snprintf(pdata->leds[i].name,
diff --git a/target/linux/generic/backport-5.10/841-v5.15-leds-pca955x-add-brightness-get-function.patch b/target/linux/generic/backport-5.10/841-v5.15-leds-pca955x-add-brightness-get-function.patch
index c3344be4fd..bdb095dc2e 100644
--- a/target/linux/generic/backport-5.10/841-v5.15-leds-pca955x-add-brightness-get-function.patch
+++ b/target/linux/generic/backport-5.10/841-v5.15-leds-pca955x-add-brightness-get-function.patch
@@ -11,11 +11,9 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 52 +++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)
-diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
-index f0d841cb59fcc8..e47ba7c3b7c7d8 100644
--- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c
-@@ -233,6 +233,57 @@ static int pca955x_read_ls(struct i2c_client *client, int n, u8 *val)
+@@ -233,6 +233,57 @@ static int pca955x_read_ls(struct i2c_cl
return 0;
}
@@ -73,7 +71,7 @@ index f0d841cb59fcc8..e47ba7c3b7c7d8 100644
static int pca955x_led_set(struct led_classdev *led_cdev,
enum led_brightness value)
{
-@@ -512,6 +563,7 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -512,6 +563,7 @@ static int pca955x_probe(struct i2c_clie
led->name = pca955x_led->name;
led->brightness_set_blocking = pca955x_led_set;
diff --git a/target/linux/generic/backport-5.10/842-v5.15-leds-pca955x-implement-the-default-state-property.patch b/target/linux/generic/backport-5.10/842-v5.15-leds-pca955x-implement-the-default-state-property.patch
index 055801f096..8c79eb1b67 100644
--- a/target/linux/generic/backport-5.10/842-v5.15-leds-pca955x-implement-the-default-state-property.patch
+++ b/target/linux/generic/backport-5.10/842-v5.15-leds-pca955x-implement-the-default-state-property.patch
@@ -13,8 +13,6 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 54 +++++++++++++++++++++++++++++++------
1 file changed, 46 insertions(+), 8 deletions(-)
-diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
-index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
--- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c
@@ -129,6 +129,7 @@ struct pca955x_led {
@@ -25,7 +23,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
const char *default_trigger;
};
-@@ -439,6 +440,7 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip)
+@@ -439,6 +440,7 @@ pca955x_get_pdata(struct i2c_client *cli
device_for_each_child_node(&client->dev, child) {
const char *name;
@@ -33,7 +31,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
u32 reg;
int res;
-@@ -457,6 +459,18 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip)
+@@ -457,6 +459,18 @@ pca955x_get_pdata(struct i2c_client *cli
fwnode_property_read_u32(child, "type", &led->type);
fwnode_property_read_string(child, "linux,default-trigger",
&led->default_trigger);
@@ -52,7 +50,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
}
pdata->num_leds = chip->bits;
-@@ -485,6 +499,7 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -485,6 +499,7 @@ static int pca955x_probe(struct i2c_clie
int i, err;
struct pca955x_platform_data *pdata;
int ngpios = 0;
@@ -60,7 +58,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
chip = &pca955x_chipdefs[id->driver_data];
adapter = client->adapter;
-@@ -565,14 +580,35 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -565,14 +580,35 @@ static int pca955x_probe(struct i2c_clie
led->brightness_set_blocking = pca955x_led_set;
led->brightness_get = pca955x_led_get;
@@ -100,7 +98,7 @@ index e47ba7c3b7c7d8..fa1d77d86ef67b 100644
}
}
-@@ -581,10 +617,12 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -581,10 +617,12 @@ static int pca955x_probe(struct i2c_clie
if (err)
return err;
diff --git a/target/linux/generic/backport-5.10/843-v5.15-leds-pca955x-let-the-core-process-the-fwnode.patch b/target/linux/generic/backport-5.10/843-v5.15-leds-pca955x-let-the-core-process-the-fwnode.patch
index 7a091d9716..11311b8b2b 100644
--- a/target/linux/generic/backport-5.10/843-v5.15-leds-pca955x-let-the-core-process-the-fwnode.patch
+++ b/target/linux/generic/backport-5.10/843-v5.15-leds-pca955x-let-the-core-process-the-fwnode.patch
@@ -14,8 +14,6 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 58 +++++++++++++++++++------------------
1 file changed, 30 insertions(+), 28 deletions(-)
-diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
-index fa1d77d86ef67b..a6aa4b9abde8c4 100644
--- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c
@@ -127,10 +127,9 @@ struct pca955x_led {
@@ -30,7 +28,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
};
struct pca955x_platform_data {
-@@ -439,7 +438,6 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip)
+@@ -439,7 +438,6 @@ pca955x_get_pdata(struct i2c_client *cli
return ERR_PTR(-ENOMEM);
device_for_each_child_node(&client->dev, child) {
@@ -38,7 +36,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
const char *state;
u32 reg;
int res;
-@@ -448,17 +446,10 @@ pca955x_get_pdata(struct i2c_client *client, struct pca955x_chipdef *chip)
+@@ -448,17 +446,10 @@ pca955x_get_pdata(struct i2c_client *cli
if ((res != 0) || (reg >= chip->bits))
continue;
@@ -57,7 +55,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
if (!fwnode_property_read_string(child, "default-state",
&state)) {
-@@ -495,11 +486,14 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -495,11 +486,14 @@ static int pca955x_probe(struct i2c_clie
struct pca955x_led *pca955x_led;
struct pca955x_chipdef *chip;
struct led_classdev *led;
@@ -72,7 +70,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
chip = &pca955x_chipdefs[id->driver_data];
adapter = client->adapter;
-@@ -547,6 +541,9 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -547,6 +541,9 @@ static int pca955x_probe(struct i2c_clie
pca955x->client = client;
pca955x->chipdef = chip;
@@ -82,7 +80,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
for (i = 0; i < chip->bits; i++) {
pca955x_led = &pca955x->leds[i];
pca955x_led->led_num = i;
-@@ -560,23 +557,7 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -560,23 +557,7 @@ static int pca955x_probe(struct i2c_clie
ngpios++;
break;
case PCA955X_TYPE_LED:
@@ -106,7 +104,7 @@ index fa1d77d86ef67b..a6aa4b9abde8c4 100644
led->brightness_set_blocking = pca955x_led_set;
led->brightness_get = pca955x_led_get;
-@@ -592,7 +573,28 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -592,7 +573,28 @@ static int pca955x_probe(struct i2c_clie
return err;
}
diff --git a/target/linux/generic/backport-5.10/844-v5.15-leds-pca955x-switch-to-i2c-probe-new.patch b/target/linux/generic/backport-5.10/844-v5.15-leds-pca955x-switch-to-i2c-probe-new.patch
index 77ac4e7dc9..8154cd66f1 100644
--- a/target/linux/generic/backport-5.10/844-v5.15-leds-pca955x-switch-to-i2c-probe-new.patch
+++ b/target/linux/generic/backport-5.10/844-v5.15-leds-pca955x-switch-to-i2c-probe-new.patch
@@ -14,11 +14,9 @@ Signed-off-by: Pavel Machek <pavel@ucw.cz>
drivers/leds/leds-pca955x.c | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
-diff --git a/drivers/leds/leds-pca955x.c b/drivers/leds/leds-pca955x.c
-index a6aa4b9abde8c4..a6b5699aeae4fe 100644
--- a/drivers/leds/leds-pca955x.c
+++ b/drivers/leds/leds-pca955x.c
-@@ -479,8 +479,7 @@ static const struct of_device_id of_pca955x_match[] = {
+@@ -479,8 +479,7 @@ static const struct of_device_id of_pca9
};
MODULE_DEVICE_TABLE(of, of_pca955x_match);
@@ -28,7 +26,7 @@ index a6aa4b9abde8c4..a6b5699aeae4fe 100644
{
struct pca955x *pca955x;
struct pca955x_led *pca955x_led;
-@@ -494,8 +493,24 @@ static int pca955x_probe(struct i2c_client *client,
+@@ -494,8 +493,24 @@ static int pca955x_probe(struct i2c_clie
bool set_default_label = false;
bool keep_pwm = false;
char default_label[8];
@@ -54,7 +52,7 @@ index a6aa4b9abde8c4..a6b5699aeae4fe 100644
adapter = client->adapter;
pdata = dev_get_platdata(&client->dev);
if (!pdata) {
-@@ -670,7 +685,7 @@ static struct i2c_driver pca955x_driver = {
+@@ -670,7 +685,7 @@ static struct i2c_driver pca955x_driver
.name = "leds-pca955x",
.of_match_table = of_pca955x_match,
},
@@ -62,3 +60,4 @@ index a6aa4b9abde8c4..a6b5699aeae4fe 100644
+ .probe_new = pca955x_probe,
.id_table = pca955x_id,
};
+