kernel: backport switch user API changes after r36283
authorFlorian Fainelli <florian@openwrt.org>
Tue, 9 Apr 2013 15:47:01 +0000 (15:47 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Tue, 9 Apr 2013 15:47:01 +0000 (15:47 +0000)
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

target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch
target/linux/generic/patches-3.3/a03-swconfig-revert-UAPI-disintegration.patch
target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch
target/linux/generic/patches-3.6/a03-swconfig-revert-UAPI-disintegration.patch

index e465f90e7ea5f6ac1fe8f10c6b378c805962ad2e..5fca538bea89bae7d69410b719243ed30fe8110d 100644 (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;
index 569fd0c7b9d3dfd991dd81182b755bb8a198a37b..a214c150029df3082889c15d63a71d6ebfd5d1d8 100644 (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,
 +      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;
  };
  
index e465f90e7ea5f6ac1fe8f10c6b378c805962ad2e..5fca538bea89bae7d69410b719243ed30fe8110d 100644 (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;
index 569fd0c7b9d3dfd991dd81182b755bb8a198a37b..a214c150029df3082889c15d63a71d6ebfd5d1d8 100644 (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,
 +      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;
  };