mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-02-18 21:01:13 +01:00
kernel: bump 6.12 to 6.12.70
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.70 Removed upstreamed: backport-6.12/605-01-v6.17-net-phy-add-phy_interface_weight.patch[1] All patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.70&id=4dc7b69bca8ef6b932a7c6bea63450796b1146ce Build system: x86/64 Build-tested: flogic/glinet_gl-mt6000 Run-tested: flogic/glinet_gl-mt6000 Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/21985 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
20644af030
commit
2c4a719d26
21 changed files with 35 additions and 62 deletions
|
|
@ -556,8 +556,8 @@ SVN-Revision: 35130
|
|||
static inline struct neighbour *__ipv6_neigh_lookup_noref(struct net_device *dev, const void *pkey)
|
||||
--- a/net/sched/cls_u32.c
|
||||
+++ b/net/sched/cls_u32.c
|
||||
@@ -167,7 +167,7 @@ next_knode:
|
||||
data = skb_header_pointer(skb, toff, 4, &hdata);
|
||||
@@ -165,7 +165,7 @@ next_knode:
|
||||
&hdata);
|
||||
if (!data)
|
||||
goto out;
|
||||
- if ((*data ^ key->val) & key->mask) {
|
||||
|
|
@ -565,8 +565,8 @@ SVN-Revision: 35130
|
|||
n = rcu_dereference_bh(n->next);
|
||||
goto next_knode;
|
||||
}
|
||||
@@ -218,8 +218,8 @@ check_terminal:
|
||||
&hdata);
|
||||
@@ -217,8 +217,8 @@ check_terminal:
|
||||
4, &hdata);
|
||||
if (!data)
|
||||
goto out;
|
||||
- sel = ht->divisor & u32_hash_fold(*data, &n->sel,
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|||
|
||||
--- a/arch/arm/include/asm/string.h
|
||||
+++ b/arch/arm/include/asm/string.h
|
||||
@@ -65,4 +65,9 @@ static inline void *memset64(uint64_t *p
|
||||
@@ -68,4 +68,9 @@ static inline void *memset64(uint64_t *p
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||
#define USB_VENDOR_ID_BELKIN 0x050d
|
||||
#define USB_DEVICE_ID_FLIP_KVM 0x3201
|
||||
|
||||
@@ -1471,6 +1474,9 @@
|
||||
@@ -1475,6 +1478,9 @@
|
||||
#define USB_VENDOR_ID_XIAOMI 0x2717
|
||||
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
|
||||
@@ -215,6 +216,7 @@ static const struct hid_device_id hid_qu
|
||||
@@ -216,6 +217,7 @@ static const struct hid_device_id hid_qu
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
|
||||
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET },
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
*
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -816,6 +816,24 @@ struct phy_tdr_config {
|
||||
@@ -826,6 +826,24 @@ struct phy_tdr_config {
|
||||
#define PHY_PAIR_ALL -1
|
||||
|
||||
/**
|
||||
|
|
@ -92,7 +92,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
* struct phy_plca_cfg - Configuration of the PLCA (Physical Layer Collision
|
||||
* Avoidance) Reconciliation Sublayer.
|
||||
*
|
||||
@@ -954,6 +972,14 @@ struct phy_driver {
|
||||
@@ -964,6 +982,14 @@ struct phy_driver {
|
||||
int (*get_features)(struct phy_device *phydev);
|
||||
|
||||
/**
|
||||
|
|
@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
* @get_rate_matching: Get the supported type of rate matching for a
|
||||
* particular phy interface. This is used by phy consumers to determine
|
||||
* whether to advertise lower-speed modes for that interface. It is
|
||||
@@ -1832,6 +1858,8 @@ int phy_config_aneg(struct phy_device *p
|
||||
@@ -1842,6 +1868,8 @@ int phy_config_aneg(struct phy_device *p
|
||||
int _phy_start_aneg(struct phy_device *phydev);
|
||||
int phy_start_aneg(struct phy_device *phydev);
|
||||
int phy_aneg_done(struct phy_device *phydev);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
*
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -980,6 +980,11 @@ struct phy_driver {
|
||||
@@ -990,6 +990,11 @@ struct phy_driver {
|
||||
phy_interface_t interface);
|
||||
|
||||
/**
|
||||
|
|
@ -69,7 +69,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
* @get_rate_matching: Get the supported type of rate matching for a
|
||||
* particular phy interface. This is used by phy consumers to determine
|
||||
* whether to advertise lower-speed modes for that interface. It is
|
||||
@@ -1860,6 +1865,7 @@ int phy_start_aneg(struct phy_device *ph
|
||||
@@ -1870,6 +1875,7 @@ int phy_start_aneg(struct phy_device *ph
|
||||
int phy_aneg_done(struct phy_device *phydev);
|
||||
unsigned int phy_inband_caps(struct phy_device *phydev,
|
||||
phy_interface_t interface);
|
||||
|
|
|
|||
|
|
@ -1,27 +0,0 @@
|
|||
From 4beb44a2d62dddfe450f310aa1a950901731cb3a Mon Sep 17 00:00:00 2001
|
||||
From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
|
||||
Date: Sun, 31 Aug 2025 18:34:33 +0100
|
||||
Subject: net: phy: add phy_interface_weight()
|
||||
|
||||
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
||||
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
|
||||
Link: https://patch.msgid.link/E1uslwn-00000001SOx-0a7H@rmk-PC.armlinux.org.uk
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
---
|
||||
include/linux/phy.h | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -187,6 +187,11 @@ static inline bool phy_interface_empty(c
|
||||
return bitmap_empty(intf, PHY_INTERFACE_MODE_MAX);
|
||||
}
|
||||
|
||||
+static inline unsigned int phy_interface_weight(const unsigned long *intf)
|
||||
+{
|
||||
+ return bitmap_weight(intf, PHY_INTERFACE_MODE_MAX);
|
||||
+}
|
||||
+
|
||||
static inline void phy_interface_and(unsigned long *dst, const unsigned long *a,
|
||||
const unsigned long *b)
|
||||
{
|
||||
|
|
@ -39,7 +39,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||
if (!phydev->drv->led_polarity_set)
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -897,8 +897,9 @@ struct phy_plca_status {
|
||||
@@ -907,8 +907,9 @@ struct phy_plca_status {
|
||||
|
||||
/* Modes for PHY LED configuration */
|
||||
enum phy_led_modes {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ phylink-internal.h exist in Linux 6.12.
|
|||
* __phy_read_mmd - Convenience function for reading a register
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -2027,6 +2027,11 @@ extern struct phy_driver genphy_c45_driv
|
||||
@@ -2037,6 +2037,11 @@ extern struct phy_driver genphy_c45_driv
|
||||
/* The gen10g_* functions are the old Clause 45 stub */
|
||||
int gen10g_config_aneg(struct phy_device *phydev);
|
||||
|
||||
|
|
|
|||
|
|
@ -281,7 +281,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
}
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -1040,7 +1040,8 @@ struct phy_driver {
|
||||
@@ -1050,7 +1050,8 @@ struct phy_driver {
|
||||
* driver for the given phydev. If NULL, matching is based on
|
||||
* phy_id and phy_id_mask.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
static ssize_t
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -1945,6 +1945,9 @@ char *phy_attached_info_irq(struct phy_d
|
||||
@@ -1955,6 +1955,9 @@ char *phy_attached_info_irq(struct phy_d
|
||||
__malloc;
|
||||
void phy_attached_info(struct phy_device *phydev);
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -1261,9 +1261,13 @@ struct phy_driver {
|
||||
@@ -1271,9 +1271,13 @@ struct phy_driver {
|
||||
#define PHY_ANY_ID "MATCH ANY PHY"
|
||||
#define PHY_ANY_UID 0xffffffff
|
||||
|
||||
|
|
@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||
|
||||
/**
|
||||
* phy_id_compare - compare @id1 with @id2 taking account of @mask
|
||||
@@ -1280,6 +1284,19 @@ static inline bool phy_id_compare(u32 id
|
||||
@@ -1290,6 +1294,19 @@ static inline bool phy_id_compare(u32 id
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
LINUX_VERSION-6.12 = .69
|
||||
LINUX_KERNEL_HASH-6.12.69 = 4b493657f218703239c4f22415f027b3644949bf2761abd18b849f0aad5f7665
|
||||
LINUX_VERSION-6.12 = .70
|
||||
LINUX_KERNEL_HASH-6.12.70 = 9b4ccec7d8ceff4824f149e476ec06e83c86546ae8af82582871647809a62ef0
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||
sysfs_remove_link(&dev->dev.kobj, "phydev");
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -1032,6 +1032,12 @@ struct phy_driver {
|
||||
@@ -1042,6 +1042,12 @@ struct phy_driver {
|
||||
/** @handle_interrupt: Override default interrupt handling */
|
||||
irqreturn_t (*handle_interrupt)(struct phy_device *phydev);
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
|
|||
+#endif
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -4806,6 +4806,9 @@ enum skb_ext_id {
|
||||
@@ -4818,6 +4818,9 @@ enum skb_ext_id {
|
||||
#if IS_ENABLED(CONFIG_MCTP_FLOWS)
|
||||
SKB_EXT_MCTP,
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
|||
static int qcom_pcie_init_2_4_0(struct qcom_pcie *pcie)
|
||||
{
|
||||
struct qcom_pcie_resources_2_4_0 *res = &pcie->res.v2_4_0;
|
||||
@@ -1336,6 +1413,16 @@ static const struct qcom_pcie_ops ops_2_
|
||||
@@ -1337,6 +1414,16 @@ static const struct qcom_pcie_ops ops_2_
|
||||
.ltssm_enable = qcom_pcie_2_3_2_ltssm_enable,
|
||||
};
|
||||
|
||||
|
|
@ -145,7 +145,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
|||
/* Qcom IP rev.: 2.3.3 Synopsys IP rev.: 4.30a */
|
||||
static const struct qcom_pcie_ops ops_2_3_3 = {
|
||||
.get_resources = qcom_pcie_get_resources_2_3_3,
|
||||
@@ -1403,6 +1490,10 @@ static const struct qcom_pcie_cfg cfg_2_
|
||||
@@ -1405,6 +1492,10 @@ static const struct qcom_pcie_cfg cfg_2_
|
||||
.ops = &ops_2_4_0,
|
||||
};
|
||||
|
||||
|
|
@ -156,7 +156,7 @@ Signed-off-by: Florian Maurer <f.maurer@outlook.com>
|
|||
static const struct qcom_pcie_cfg cfg_2_7_0 = {
|
||||
.ops = &ops_2_7_0,
|
||||
};
|
||||
@@ -1827,6 +1918,7 @@ static const struct of_device_id qcom_pc
|
||||
@@ -1829,6 +1920,7 @@ static const struct of_device_id qcom_pc
|
||||
{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
|
||||
{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
|
||||
{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ Signed-off-by: Bhaskar Upadhaya <Bhaskar.Upadhaya@nxp.com>
|
|||
PHY_INTERFACE_MODE_MAX,
|
||||
} phy_interface_t;
|
||||
|
||||
@@ -240,6 +241,8 @@ static inline const char *phy_modes(phy_
|
||||
@@ -250,6 +251,8 @@ static inline const char *phy_modes(phy_
|
||||
return "gmii";
|
||||
case PHY_INTERFACE_MODE_SGMII:
|
||||
return "sgmii";
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Link: https://patch.msgid.link/20250326-ipq5018-pcie-v7-4-e1828fef06c9@outlook.c
|
|||
|
||||
--- a/drivers/pci/controller/dwc/pcie-qcom.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
|
||||
@@ -1827,6 +1827,7 @@ static const struct of_device_id qcom_pc
|
||||
@@ -1829,6 +1829,7 @@ static const struct of_device_id qcom_pc
|
||||
{ .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
|
||||
{ .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
|
||||
{ .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
|
|||
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -371,6 +371,7 @@ struct phy_package_shared {
|
||||
@@ -381,6 +381,7 @@ struct phy_package_shared {
|
||||
/* used as bit number in atomic bitops */
|
||||
#define PHY_SHARED_F_INIT_DONE 0
|
||||
#define PHY_SHARED_F_PROBE_DONE 1
|
||||
|
|
@ -22,7 +22,7 @@ Signed-off-by: Luo Jie <quic_luoj@quicinc.com>
|
|||
|
||||
/**
|
||||
* struct mii_bus - Represents an MDIO bus
|
||||
@@ -2272,6 +2273,11 @@ static inline bool phy_package_probe_onc
|
||||
@@ -2282,6 +2283,11 @@ static inline bool phy_package_probe_onc
|
||||
return __phy_package_set_once(phydev, PHY_SHARED_F_PROBE_DONE);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
|||
if (phydev->mii_ts && phydev->mii_ts->link_state)
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -680,6 +680,7 @@ struct phy_device {
|
||||
@@ -690,6 +690,7 @@ struct phy_device {
|
||||
unsigned downshifted_rate:1;
|
||||
unsigned is_on_sfp_module:1;
|
||||
unsigned mac_managed_pm:1;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
|
|||
&phy->mdio.reset_assert_delay);
|
||||
--- a/include/linux/phy.h
|
||||
+++ b/include/linux/phy.h
|
||||
@@ -306,7 +306,7 @@ static inline const char *phy_modes(phy_
|
||||
@@ -316,7 +316,7 @@ static inline const char *phy_modes(phy_
|
||||
#define PHY_INIT_TIMEOUT 100000
|
||||
#define PHY_FORCE_TIMEOUT 10
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
|
|||
|
||||
/* Used when trying to connect to a specific phy (mii bus id:phy device id) */
|
||||
#define PHY_ID_FMT "%s:%02x"
|
||||
@@ -426,10 +426,10 @@ struct mii_bus {
|
||||
@@ -436,10 +436,10 @@ struct mii_bus {
|
||||
struct mdio_device *mdio_map[PHY_MAX_ADDR];
|
||||
|
||||
/** @phy_mask: PHY addresses to be ignored when probing */
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
|||
|
||||
--- a/drivers/net/phy/sfp.c
|
||||
+++ b/drivers/net/phy/sfp.c
|
||||
@@ -717,10 +717,64 @@ static int sfp_i2c_write(struct sfp *sfp
|
||||
@@ -718,10 +718,64 @@ static int sfp_i2c_write(struct sfp *sfp
|
||||
return ret == ARRAY_SIZE(msgs) ? len : 0;
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +77,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
|||
|
||||
sfp->i2c = i2c;
|
||||
sfp->read = sfp_i2c_read;
|
||||
@@ -752,6 +806,29 @@ static int sfp_i2c_mdiobus_create(struct
|
||||
@@ -753,6 +807,29 @@ static int sfp_i2c_mdiobus_create(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -107,7 +107,7 @@ Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
|||
static void sfp_i2c_mdiobus_destroy(struct sfp *sfp)
|
||||
{
|
||||
mdiobus_unregister(sfp->i2c_mii);
|
||||
@@ -1926,9 +2003,15 @@ static void sfp_sm_fault(struct sfp *sfp
|
||||
@@ -1927,9 +2004,15 @@ static void sfp_sm_fault(struct sfp *sfp
|
||||
|
||||
static int sfp_sm_add_mdio_bus(struct sfp *sfp)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue