Title: [6730] trunk: Bug [#5236], reenable ksz8893m dsa driver for 2.6.30 kernel
Revision
6730
Author
gyang
Date
2009-06-15 22:14:27 -0500 (Mon, 15 Jun 2009)

Log Message

Bug [#5236], reenable ksz8893m dsa driver for 2.6.30 kernel

Modified Paths

Diff

Modified: trunk/arch/blackfin/mach-bf518/boards/ezbrd.c (6729 => 6730)


--- trunk/arch/blackfin/mach-bf518/boards/ezbrd.c	2009-06-15 16:21:44 UTC (rev 6729)
+++ trunk/arch/blackfin/mach-bf518/boards/ezbrd.c	2009-06-16 03:14:27 UTC (rev 6730)
@@ -129,6 +129,7 @@
 	},
 };
 static struct dsa_platform_data ksz8893m_switch_data = {
+	.nr_chips = 1,
 	.netdev = &bfin_mac_device.dev,
 	.chip = &ksz8893m_switch_chip_data,
 };

Modified: trunk/net/dsa/dsa.c (6729 => 6730)


--- trunk/net/dsa/dsa.c	2009-06-15 16:21:44 UTC (rev 6729)
+++ trunk/net/dsa/dsa.c	2009-06-16 03:14:27 UTC (rev 6730)
@@ -221,9 +221,9 @@
 
 bool dsa_uses_stpid_tags(void *dsa_ptr)
 {
-	struct dsa_switch *ds = dsa_ptr;
+	struct dsa_switch_tree *dst = dsa_ptr;
 
-	return !!(ds->tag_protocol == htons(ETH_P_STPID));
+	return !!(dst->tag_protocol == htons(ETH_P_STPID));
 }
 
 /* link polling *************************************************************/

Modified: trunk/net/dsa/slave.c (6729 => 6730)


--- trunk/net/dsa/slave.c	2009-06-15 16:21:44 UTC (rev 6729)
+++ trunk/net/dsa/slave.c	2009-06-16 03:14:27 UTC (rev 6730)
@@ -334,6 +334,19 @@
 	.ndo_do_ioctl		= dsa_slave_ioctl,
 };
 #endif
+#ifdef CONFIG_NET_DSA_TAG_STPID
+static const struct net_device_ops stpid_netdev_ops = {
+	.ndo_init		= dsa_slave_init,
+	.ndo_open	 	= dsa_slave_open,
+	.ndo_stop		= dsa_slave_close,
+	.ndo_start_xmit		= stpid_xmit,
+	.ndo_change_rx_flags	= dsa_slave_change_rx_flags,
+	.ndo_set_rx_mode	= dsa_slave_set_rx_mode,
+	.ndo_set_multicast_list = dsa_slave_set_rx_mode,
+	.ndo_set_mac_address	= dsa_slave_set_mac_address,
+	.ndo_do_ioctl		= dsa_slave_ioctl,
+};
+#endif
 
 /* slave device setup *******************************************************/
 struct net_device *
@@ -373,7 +386,7 @@
 #endif
 #ifdef CONFIG_NET_DSA_TAG_STPID
 	case htons(ETH_P_STPID):
-		slave_dev->hard_start_xmit = stpid_xmit;
+		slave_dev->netdev_ops = &stpid_netdev_ops;
 		break;
 #endif
 	default:

Modified: trunk/net/dsa/tag_stpid.c (6729 => 6730)


--- trunk/net/dsa/tag_stpid.c	2009-06-15 16:21:44 UTC (rev 6729)
+++ trunk/net/dsa/tag_stpid.c	2009-06-16 03:14:27 UTC (rev 6730)
@@ -43,7 +43,7 @@
 
 	skb->protocol = htons(ETH_P_STPID);
 
-	skb->dev = p->parent->master_netdev;
+	skb->dev = p->parent->dst->master_netdev;
 	dev_queue_xmit(skb);
 
 	return NETDEV_TX_OK;
@@ -56,7 +56,8 @@
 static int stpid_rcv(struct sk_buff *skb, struct net_device *dev,
 		   struct packet_type *pt, struct net_device *orig_dev)
 {
-	struct dsa_switch *ds = dev->dsa_ptr;
+	struct dsa_switch_tree *dst = dev->dsa_ptr;
+	struct dsa_switch *ds = dst->ds[0];
 	u8 *dsa_header;
 	int source_port;
 	int vid;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to