From 10d30f2d2dda1298e07ad0fe04f214ed2ad0a4ee Mon Sep 17 00:00:00 2001
From: Gabor Juhos <juhosg@openwrt.org>
Date: Wed, 21 Nov 2012 17:38:11 +0000
Subject: [PATCH] swconfig: make it compatible with 3.7

swconfig does not compile with 3.7 because

struct netlink_notify->pid    has been renamed to
struct netlink_notify->portid

and

struct genl_info->snd_pid     has been renamed to
struct genl_info->snd_portid

Use the new names and add compatibility patches
to 3.3 and 3.6.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 34288
---
 .../generic/files/drivers/net/phy/swconfig.c  |  6 ++--
 ...onfig-revert-portid-snd_portid-usage.patch | 30 +++++++++++++++++++
 ...onfig-revert-portid-snd_portid-usage.patch | 30 +++++++++++++++++++
 3 files changed, 63 insertions(+), 3 deletions(-)
 create mode 100644 target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch
 create mode 100644 target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch

diff --git a/target/linux/generic/files/drivers/net/phy/swconfig.c b/target/linux/generic/files/drivers/net/phy/swconfig.c
index a87e25366b..34f43bfd9b 100644
--- a/target/linux/generic/files/drivers/net/phy/swconfig.c
+++ b/target/linux/generic/files/drivers/net/phy/swconfig.c
@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callback *cb, void *arg)
 	int id = cb->args[0];
 	void *hdr;
 
-	hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam,
+	hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam,
 			NLM_F_MULTI, SWITCH_CMD_NEW_ATTR);
 	if (IS_ERR(hdr))
 		return -1;
@@ -798,7 +798,7 @@ swconfig_get_attr(struct sk_buff *skb, struct genl_info *info)
 	if (!msg)
 		goto error;
 
-	hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam,
+	hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam,
 			0, cmd);
 	if (IS_ERR(hdr))
 		goto nla_put_failure;
@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct sk_buff *skb,
 	list_for_each_entry(dev, &swdevs, dev_list) {
 		if (++idx <= start)
 			continue;
-		if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).pid,
+		if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).portid,
 				cb->nlh->nlmsg_seq, NLM_F_MULTI,
 				dev) < 0)
 			break;
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
new file mode 100644
index 0000000000..e465f90e7e
--- /dev/null
+++ b/target/linux/generic/patches-3.3/a02-swconfig-revert-portid-snd_portid-usage.patch
@@ -0,0 +1,30 @@
+reverted:
+--- a/drivers/net/phy/swconfig.c
++++ b/drivers/net/phy/swconfig.c
+@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb
+ 	int id = cb->args[0];
+ 	void *hdr;
+ 
+-	hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam,
++	hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam,
+ 			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
+ 	if (!msg)
+ 		goto error;
+ 
+-	hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam,
++	hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam,
+ 			0, cmd);
+ 	if (IS_ERR(hdr))
+ 		goto nla_put_failure;
+@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct
+ 	list_for_each_entry(dev, &swdevs, dev_list) {
+ 		if (++idx <= start)
+ 			continue;
+-		if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).portid,
++		if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).pid,
+ 				cb->nlh->nlmsg_seq, NLM_F_MULTI,
+ 				dev) < 0)
+ 			break;
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
new file mode 100644
index 0000000000..e465f90e7e
--- /dev/null
+++ b/target/linux/generic/patches-3.6/a02-swconfig-revert-portid-snd_portid-usage.patch
@@ -0,0 +1,30 @@
+reverted:
+--- a/drivers/net/phy/swconfig.c
++++ b/drivers/net/phy/swconfig.c
+@@ -376,7 +376,7 @@ swconfig_dump_attr(struct swconfig_callb
+ 	int id = cb->args[0];
+ 	void *hdr;
+ 
+-	hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam,
++	hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam,
+ 			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
+ 	if (!msg)
+ 		goto error;
+ 
+-	hdr = genlmsg_put(msg, info->snd_portid, info->snd_seq, &switch_fam,
++	hdr = genlmsg_put(msg, info->snd_pid, info->snd_seq, &switch_fam,
+ 			0, cmd);
+ 	if (IS_ERR(hdr))
+ 		goto nla_put_failure;
+@@ -883,7 +883,7 @@ static int swconfig_dump_switches(struct
+ 	list_for_each_entry(dev, &swdevs, dev_list) {
+ 		if (++idx <= start)
+ 			continue;
+-		if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).portid,
++		if (swconfig_send_switch(skb, NETLINK_CB(cb->skb).pid,
+ 				cb->nlh->nlmsg_seq, NLM_F_MULTI,
+ 				dev) < 0)
+ 			break;
-- 
GitLab