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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36295 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Florian Fainelli 2013-04-09 15:47:01 +00:00
parent 78f6958dea
commit 5a27c63705
4 changed files with 28 additions and 10 deletions

View File

@ -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;

View File

@ -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;
};

View File

@ -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;

View File

@ -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;
};