From: Russell King <rmk+ker...@armlinux.org.uk>
Date: Tue, 30 May 2017 21:38:18 +0100

> 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: c0405563a613 ("ARM: dts: armada-388-clearfog: Utilize new DSA binding")
> Signed-off-by: Russell King <rmk+ker...@armlinux.org.uk>

Applied, thanks.

Reply via email to