linux/net/dsa
Vivien Didelot 24df8986f3 net: dsa: set slave MII bus PHY mask
When registering a mdio bus, Linux assumes than every port has a PHY and tries
to scan it. If a switch port has no PHY registered, DSA will fail to register
the slave MII bus. To fix this, set the slave MII bus PHY mask to the switch
PHYs mask.

As an example, if we use a Marvell MV88E6352 (which is a 7-port switch with no
registered PHYs for port 5 and port 6), with the following declared names:

	static struct dsa_chip_data switch_cdata = {
		[...]
		.port_names[0] = "sw0",
		.port_names[1] = "sw1",
		.port_names[2] = "sw2",
		.port_names[3] = "sw3",
		.port_names[4] = "sw4",
		.port_names[5] = "cpu",
	};

DSA will fail to create the switch instance. With the PHY mask set for the
slave MII bus, only the PHY for ports 0-4 will be scanned and the instance will
be successfully created.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-01-25 16:00:54 -08:00
..
dsa.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
dsa_priv.h net: dsa: allow switch drivers to implement suspend/resume hooks 2014-09-22 14:41:23 -04:00
Kconfig net: dsa: Add support for reporting switch chip temperatures 2014-10-30 14:54:11 -04:00
Makefile net: dsa: add Broadcom tag RX/TX handler 2014-08-27 22:59:40 -07:00
slave.c net: dsa: set slave MII bus PHY mask 2015-01-25 16:00:54 -08:00
tag_brcm.c dsa: Split ops up, and avoid assigning tag_protocol and receive separately 2014-09-15 17:24:20 -04:00
tag_dsa.c net: dsa: Don't set skb->protocol on outgoing tagged packets 2014-10-30 14:54:10 -04:00
tag_edsa.c net: dsa: Don't set skb->protocol on outgoing tagged packets 2014-10-30 14:54:10 -04:00
tag_trailer.c net: dsa: Don't set skb->protocol on outgoing tagged packets 2014-10-30 14:54:10 -04:00