linux/drivers/net
Russell King 1b8f8694bb net: fix auto-loading of Marvell DSA driver
Auto-loading of the Marvell DSA driver has stopped working with recent
kernels.  This seems to be due to the change of binding for DSA devices,
moving them from the platform bus to the MDIO bus.

In order for module auto-loading to work, we need to provide a MODALIAS
string in the uevent file for the device.  However, the device core does
not automatically provide this, and needs each bus_type to implement a
uevent method to generate these strings.  The MDIO bus does not provide
such a method, so no MODALIAS string is provided:

.# cat /sys/bus/mdio_bus/devices/f1072004.mdio-mii\:04/uevent
DRIVER=mv88e6085
OF_NAME=switch
OF_FULLNAME=/soc/internal-regs/mdio@72004/switch@4
OF_COMPATIBLE_0=marvell,mv88e6085
OF_COMPATIBLE_N=1

In the case of OF-based devices, the solution is easy -
of_device_uevent_modalias() does the work for us.  After this is done,
the uevent file looks like this:

.# cat /sys/bus/mdio_bus/devices/f1072004.mdio-mii\:04/uevent
DRIVER=mv88e6085
OF_NAME=switch
OF_FULLNAME=/soc/internal-regs/mdio@72004/switch@4
OF_COMPATIBLE_0=marvell,mv88e6085
OF_COMPATIBLE_N=1
MODALIAS=of:NswitchT<NULL>Cmarvell,mv88e6085

which results in auto-loading of the Marvell DSA driver on Clearfog
platforms.

Fixes: c0405563a6 ("ARM: dts: armada-388-clearfog: Utilize new DSA binding")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-31 14:18:15 -04:00
..
appletalk Annotate hardware config module parameters in drivers/net/appletalk/ 2017-04-20 12:02:32 +01:00
arcnet Annotate hardware config module parameters in drivers/net/arcnet/ 2017-04-20 12:02:32 +01:00
bonding bonding: Don't update slave->link until ready to commit 2017-05-25 14:47:35 -04:00
caif virtio: wrap find_vqs 2017-05-02 23:41:42 +03:00
can Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
cris
dsa net: dsa: mv88e6xxx: Add missing static to stub functions 2017-05-30 14:07:53 -04:00
ethernet net/mlx5: avoid build warning for uniprocessor 2017-05-30 14:09:28 -04:00
fddi format-security: move static strings to const 2017-05-08 17:15:14 -07:00
fjes
hamradio hdlcdrv: Fix divide by zero in hdlcdrv_ioctl 2017-05-27 18:44:17 -04:00
hippi Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-05-09 15:42:31 -07:00
hyperv netvsc: make sure napi enabled before vmbus_open 2017-05-04 11:08:36 -04:00
ieee802154 ieee802154: don't select COMMON_CLK 2017-04-22 10:28:40 +02:00
ipvlan ipvlan: use pernet operations and restrict l3s hooks to master netns 2017-04-25 10:43:22 -04:00
irda Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-05-15 15:50:49 -07:00
phy net: fix auto-loading of Marvell DSA driver 2017-05-31 14:18:15 -04:00
plip
ppp
slip
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
usb cdc-ether: divorce initialisation with a filter reset and a generic method 2017-05-23 11:01:28 -04:00
vmxnet3 vmxnet3: ensure that adapter is in proper state during force_close 2017-05-12 12:23:52 -04:00
wan Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
wimax drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison 2017-05-09 09:40:33 -04:00
wireless Annotation of module parameters that specify device settings 2017-05-10 19:13:03 -07:00
xen-netback
dummy.c
eql.c
geneve.c geneve: fix fill_info when using collect_metadata 2017-05-25 12:51:16 -04:00
gtp.c net: fix potential null pointer dereference 2017-05-25 12:54:02 -04:00
ifb.c
Kconfig VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
LICENSE.SRC
loopback.c
macsec.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
macvlan.c macvlan: Fix performance issues with vlan tagged packets 2017-05-15 14:18:11 -04:00
macvtap.c
Makefile VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
tun.c
veth.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
virtio_net.c virtio-net: enable TSO/checksum offloads for Q-in-Q vlans 2017-05-24 16:27:14 -04:00
vrf.c driver: vrf: Fix one possible use-after-free issue 2017-05-11 12:13:11 -04:00
vsockmon.c VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
vxlan.c vxlan: do not output confusing error message 2017-04-30 22:30:13 -04:00
xen-netfront.c xen-netfront: avoid crashing on resume after a failure in talk_to_netback() 2017-05-11 21:38:50 -04:00