From 462a088c474832b19ff2730de1e6bea66d399c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Sat, 15 Oct 2022 23:01:29 +0200 Subject: Add Turris kernel (includes patches from OpenWrt) --- ...lace-phylink_get_interfaces-with-phylink_.patch | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 pkgs/patches-linux-5.15/781-v5.17-3-net-dsa-replace-phylink_get_interfaces-with-phylink_.patch (limited to 'pkgs/patches-linux-5.15/781-v5.17-3-net-dsa-replace-phylink_get_interfaces-with-phylink_.patch') diff --git a/pkgs/patches-linux-5.15/781-v5.17-3-net-dsa-replace-phylink_get_interfaces-with-phylink_.patch b/pkgs/patches-linux-5.15/781-v5.17-3-net-dsa-replace-phylink_get_interfaces-with-phylink_.patch new file mode 100644 index 0000000..d2f1bd8 --- /dev/null +++ b/pkgs/patches-linux-5.15/781-v5.17-3-net-dsa-replace-phylink_get_interfaces-with-phylink_.patch @@ -0,0 +1,58 @@ +From 31509e304cd5cbdeaecf12cb2de78b6ffe2ac022 Mon Sep 17 00:00:00 2001 +From: "Russell King (Oracle)" +Date: Tue, 30 Nov 2021 13:10:01 +0000 +Subject: [PATCH 3/6] net: dsa: replace phylink_get_interfaces() with + phylink_get_caps() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Phylink needs slightly more information than phylink_get_interfaces() +allows us to get from the DSA drivers - we need the MAC capabilities. +Replace the phylink_get_interfaces() method with phylink_get_caps() to +allow DSA drivers to fill in the phylink_config MAC capabilities field +as well. + +Signed-off-by: Russell King (Oracle) +Reviewed-by: Marek BehĂșn +Reviewed-by: Andrew Lunn +Signed-off-by: Jakub Kicinski +--- + include/net/dsa.h | 4 ++-- + net/dsa/port.c | 5 ++--- + 2 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/include/net/dsa.h b/include/net/dsa.h +index 77d0d9a8e2ab..1b130566ae3a 100644 +--- a/include/net/dsa.h ++++ b/include/net/dsa.h +@@ -636,8 +636,8 @@ struct dsa_switch_ops { + /* + * PHYLINK integration + */ +- void (*phylink_get_interfaces)(struct dsa_switch *ds, int port, +- unsigned long *supported_interfaces); ++ void (*phylink_get_caps)(struct dsa_switch *ds, int port, ++ struct phylink_config *config); + void (*phylink_validate)(struct dsa_switch *ds, int port, + unsigned long *supported, + struct phylink_link_state *state); +diff --git a/net/dsa/port.c b/net/dsa/port.c +index 4d227c503837..eed1b5397dc7 100644 +--- a/net/dsa/port.c ++++ b/net/dsa/port.c +@@ -1095,9 +1095,8 @@ int dsa_port_phylink_create(struct dsa_port *dp) + if (err) + mode = PHY_INTERFACE_MODE_NA; + +- if (ds->ops->phylink_get_interfaces) +- ds->ops->phylink_get_interfaces(ds, dp->index, +- dp->pl_config.supported_interfaces); ++ if (ds->ops->phylink_get_caps) ++ ds->ops->phylink_get_caps(ds, dp->index, &dp->pl_config); + + dp->pl = phylink_create(&dp->pl_config, of_fwnode_handle(dp->dn), + mode, &dsa_port_phylink_mac_ops); +-- +2.35.1 + -- cgit v1.2.3