From 249fcbf24ca765a045c1d3e8e473fa7b98119340 Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 9 Apr 2013 15:47:01 +0000 Subject: [PATCH] kernel: backport switch user API changes after r36283 3.3 and 3.6 kernels do not make use of the UAPI headers, still they need to provide an up-to-date switch.h copy for swconfig to build. Signed-off-by: Florian Fainelli git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36295 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../a02-swconfig-revert-portid-snd_portid-usage.patch | 6 +++--- .../a03-swconfig-revert-UAPI-disintegration.patch | 13 +++++++++++-- .../a02-swconfig-revert-portid-snd_portid-usage.patch | 6 +++--- .../a03-swconfig-revert-UAPI-disintegration.patch | 13 +++++++++++-- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch b/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch index e465f90e7e..5fca538bea 100644 --- a/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch +++ b/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch @@ -1,7 +1,7 @@ reverted: --- a/drivers/net/phy/swconfig.c +++ b/drivers/net/phy/swconfig.c -@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb +@@ -377,7 +377,7 @@ swconfig_dump_attr(struct swconfig_callb int id = cb->args[0]; void *hdr; @@ -10,7 +10,7 @@ reverted: NLM_F_MULTI, SWITCH_CMD_NEW_ATTR); if (IS_ERR(hdr)) return -1; -@@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, s +@@ -799,7 +799,7 @@ swconfig_get_attr(struct sk_buff *skb, s if (!msg) goto error; @@ -19,7 +19,7 @@ reverted: 0, cmd); if (IS_ERR(hdr)) goto nla_put_failure; -@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct +@@ -902,7 +902,7 @@ static int swconfig_dump_switches(struct list_for_each_entry(dev, &swdevs, dev_list) { if (++idx <= start) continue; diff --git a/target/linux/generic/patches-3.3/a03-swconfig-revert-UAPI-disintegration.patch b/target/linux/generic/patches-3.3/a03-swconfig-revert-UAPI-disintegration.patch index 569fd0c7b9..a214c15002 100644 --- a/target/linux/generic/patches-3.3/a03-swconfig-revert-UAPI-disintegration.patch +++ b/target/linux/generic/patches-3.3/a03-swconfig-revert-UAPI-disintegration.patch @@ -1,6 +1,6 @@ --- a/include/linux/switch.h +++ b/include/linux/switch.h -@@ -13,11 +13,86 @@ +@@ -13,11 +13,95 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ @@ -35,6 +35,7 @@ + SWITCH_ATTR_NAME, + SWITCH_ATTR_VLANS, + SWITCH_ATTR_PORTS, ++ SWITCH_ATTR_PORTMAP, + SWITCH_ATTR_CPU_PORT, + /* attributes */ + SWITCH_ATTR_OP_ID, @@ -51,6 +52,14 @@ + SWITCH_ATTR_MAX +}; + ++enum { ++ /* port map */ ++ SWITCH_PORTMAP_PORTS, ++ SWITCH_PORTMAP_SEGMENT, ++ SWITCH_PORTMAP_VIRT, ++ SWITCH_PORTMAP_MAX ++}; ++ +/* commands */ +enum { + SWITCH_CMD_UNSPEC, @@ -90,7 +99,7 @@ struct switch_dev; struct switch_op; -@@ -157,4 +232,6 @@ struct switch_attr { +@@ -164,4 +248,6 @@ struct switch_attr { int max; }; diff --git a/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch b/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch index e465f90e7e..5fca538bea 100644 --- a/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch +++ b/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch @@ -1,7 +1,7 @@ reverted: --- a/drivers/net/phy/swconfig.c +++ b/drivers/net/phy/swconfig.c -@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb +@@ -377,7 +377,7 @@ swconfig_dump_attr(struct swconfig_callb int id = cb->args[0]; void *hdr; @@ -10,7 +10,7 @@ reverted: NLM_F_MULTI, SWITCH_CMD_NEW_ATTR); if (IS_ERR(hdr)) return -1; -@@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, s +@@ -799,7 +799,7 @@ swconfig_get_attr(struct sk_buff *skb, s if (!msg) goto error; @@ -19,7 +19,7 @@ reverted: 0, cmd); if (IS_ERR(hdr)) goto nla_put_failure; -@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct +@@ -902,7 +902,7 @@ static int swconfig_dump_switches(struct list_for_each_entry(dev, &swdevs, dev_list) { if (++idx <= start) continue; diff --git a/target/linux/generic/patches-3.6/a03-swconfig-revert-UAPI-disintegration.patch b/target/linux/generic/patches-3.6/a03-swconfig-revert-UAPI-disintegration.patch index 569fd0c7b9..a214c15002 100644 --- a/target/linux/generic/patches-3.6/a03-swconfig-revert-UAPI-disintegration.patch +++ b/target/linux/generic/patches-3.6/a03-swconfig-revert-UAPI-disintegration.patch @@ -1,6 +1,6 @@ --- a/include/linux/switch.h +++ b/include/linux/switch.h -@@ -13,11 +13,86 @@ +@@ -13,11 +13,95 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ @@ -35,6 +35,7 @@ + SWITCH_ATTR_NAME, + SWITCH_ATTR_VLANS, + SWITCH_ATTR_PORTS, ++ SWITCH_ATTR_PORTMAP, + SWITCH_ATTR_CPU_PORT, + /* attributes */ + SWITCH_ATTR_OP_ID, @@ -51,6 +52,14 @@ + SWITCH_ATTR_MAX +}; + ++enum { ++ /* port map */ ++ SWITCH_PORTMAP_PORTS, ++ SWITCH_PORTMAP_SEGMENT, ++ SWITCH_PORTMAP_VIRT, ++ SWITCH_PORTMAP_MAX ++}; ++ +/* commands */ +enum { + SWITCH_CMD_UNSPEC, @@ -90,7 +99,7 @@ struct switch_dev; struct switch_op; -@@ -157,4 +232,6 @@ struct switch_attr { +@@ -164,4 +248,6 @@ struct switch_attr { int max; }; -- 2.11.0