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
This commit is contained in:
Florian Fainelli 2013-04-09 15:47:01 +00:00
parent 88c418bc75
commit 518d6a9273
4 changed files with 28 additions and 10 deletions

View file

@ -1,7 +1,7 @@
reverted: reverted:
--- a/drivers/net/phy/swconfig.c --- a/drivers/net/phy/swconfig.c
+++ b/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]; int id = cb->args[0];
void *hdr; void *hdr;
@ -10,7 +10,7 @@ reverted:
NLM_F_MULTI, SWITCH_CMD_NEW_ATTR); NLM_F_MULTI, SWITCH_CMD_NEW_ATTR);
if (IS_ERR(hdr)) if (IS_ERR(hdr))
return -1; 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) if (!msg)
goto error; goto error;
@ -19,7 +19,7 @@ reverted:
0, cmd); 0, cmd);
if (IS_ERR(hdr)) if (IS_ERR(hdr))
goto nla_put_failure; 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) { list_for_each_entry(dev, &swdevs, dev_list) {
if (++idx <= start) if (++idx <= start)
continue; continue;

View file

@ -1,6 +1,6 @@
--- a/include/linux/switch.h --- a/include/linux/switch.h
+++ b/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 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
*/ */
@ -35,6 +35,7 @@
+ SWITCH_ATTR_NAME, + SWITCH_ATTR_NAME,
+ SWITCH_ATTR_VLANS, + SWITCH_ATTR_VLANS,
+ SWITCH_ATTR_PORTS, + SWITCH_ATTR_PORTS,
+ SWITCH_ATTR_PORTMAP,
+ SWITCH_ATTR_CPU_PORT, + SWITCH_ATTR_CPU_PORT,
+ /* attributes */ + /* attributes */
+ SWITCH_ATTR_OP_ID, + SWITCH_ATTR_OP_ID,
@ -51,6 +52,14 @@
+ SWITCH_ATTR_MAX + SWITCH_ATTR_MAX
+}; +};
+ +
+enum {
+ /* port map */
+ SWITCH_PORTMAP_PORTS,
+ SWITCH_PORTMAP_SEGMENT,
+ SWITCH_PORTMAP_VIRT,
+ SWITCH_PORTMAP_MAX
+};
+
+/* commands */ +/* commands */
+enum { +enum {
+ SWITCH_CMD_UNSPEC, + SWITCH_CMD_UNSPEC,
@ -90,7 +99,7 @@
struct switch_dev; struct switch_dev;
struct switch_op; struct switch_op;
@@ -157,4 +232,6 @@ struct switch_attr { @@ -164,4 +248,6 @@ struct switch_attr {
int max; int max;
}; };

View file

@ -1,7 +1,7 @@
reverted: reverted:
--- a/drivers/net/phy/swconfig.c --- a/drivers/net/phy/swconfig.c
+++ b/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]; int id = cb->args[0];
void *hdr; void *hdr;
@ -10,7 +10,7 @@ reverted:
NLM_F_MULTI, SWITCH_CMD_NEW_ATTR); NLM_F_MULTI, SWITCH_CMD_NEW_ATTR);
if (IS_ERR(hdr)) if (IS_ERR(hdr))
return -1; 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) if (!msg)
goto error; goto error;
@ -19,7 +19,7 @@ reverted:
0, cmd); 0, cmd);
if (IS_ERR(hdr)) if (IS_ERR(hdr))
goto nla_put_failure; 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) { list_for_each_entry(dev, &swdevs, dev_list) {
if (++idx <= start) if (++idx <= start)
continue; continue;

View file

@ -1,6 +1,6 @@
--- a/include/linux/switch.h --- a/include/linux/switch.h
+++ b/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 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
*/ */
@ -35,6 +35,7 @@
+ SWITCH_ATTR_NAME, + SWITCH_ATTR_NAME,
+ SWITCH_ATTR_VLANS, + SWITCH_ATTR_VLANS,
+ SWITCH_ATTR_PORTS, + SWITCH_ATTR_PORTS,
+ SWITCH_ATTR_PORTMAP,
+ SWITCH_ATTR_CPU_PORT, + SWITCH_ATTR_CPU_PORT,
+ /* attributes */ + /* attributes */
+ SWITCH_ATTR_OP_ID, + SWITCH_ATTR_OP_ID,
@ -51,6 +52,14 @@
+ SWITCH_ATTR_MAX + SWITCH_ATTR_MAX
+}; +};
+ +
+enum {
+ /* port map */
+ SWITCH_PORTMAP_PORTS,
+ SWITCH_PORTMAP_SEGMENT,
+ SWITCH_PORTMAP_VIRT,
+ SWITCH_PORTMAP_MAX
+};
+
+/* commands */ +/* commands */
+enum { +enum {
+ SWITCH_CMD_UNSPEC, + SWITCH_CMD_UNSPEC,
@ -90,7 +99,7 @@
struct switch_dev; struct switch_dev;
struct switch_op; struct switch_op;
@@ -157,4 +232,6 @@ struct switch_attr { @@ -164,4 +248,6 @@ struct switch_attr {
int max; int max;
}; };