summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2013-04-09 15:47:01 +0000
committerFlorian Fainelli <florian@openwrt.org>2013-04-09 15:47:01 +0000
commit518d6a92731da987ee5879a02fcef72f3096496a (patch)
tree5011581caf9000fd063c8138dae184c2f205f35f
parent88c418bc755cf0fcaacfe7699adf93f6a837632e (diff)
downloadmtk-20170518-518d6a92731da987ee5879a02fcef72f3096496a.zip
mtk-20170518-518d6a92731da987ee5879a02fcef72f3096496a.tar.gz
mtk-20170518-518d6a92731da987ee5879a02fcef72f3096496a.tar.bz2
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 <florian@openwrt.org> SVN-Revision: 36295
-rw-r--r--target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch6
-rw-r--r--target/linux/generic/patches-3.3/a03-swconfig-revert-UAPI-disintegration.patch13
-rw-r--r--target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch6
-rw-r--r--target/linux/generic/patches-3.6/a03-swconfig-revert-UAPI-disintegration.patch13
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 e465f90..5fca538 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 569fd0c..a214c15 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 e465f90..5fca538 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 569fd0c..a214c15 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;
};