Re: [PATCH] reset: microchip-sparx5: allow building as a module

From: Michael Walle
Date: Tue Jul 12 2022 - 08:58:59 EST


> On Fr, 2022-06-17 at 12:37 +0200, Clément Léger wrote:
> > Set RESET_MCHP_SPARX5 as a tristate and add MODULE_DEVICE_TABLE() to
> > allow building this driver as a module.
> >
> > Signed-off-by: Clément Léger <clement.leger@xxxxxxxxxxx>
> Thank you, applied to reset/next.

Unfortunately, this is breaking ethernet on my board
(lan966x-kontron-kswitch-d10-mmt-6g-2gs, see dts in arch/arm/).

I suspect this is because the postcore_initcall() was called earlier
in the kernel startup. Now, somehow the MDIO controller isn't working

For a bit of a background, on the LAN9668 (I guess this is also true
on most other microchip switch platforms), there is a global switch
reset which is shared among most subsystems, i.e GPIO, SGPIO and
switch core. The switch driver will use this reset as there is no other
reset available (e.g. one which only reset the switching core). But when
it asserts the reset it will also reset other devices on the SoC. This
was for example the case for the GPIO, see commit 453200af8a85 ("pinctrl:
ocelot: add optional shared reset"). It seems like the MIIM is also
affected by this global reset, thus it needs the same fix.

I tried the obvious by adding the reset to the MIIM, but that didn't
help for all broken interfaces. I have to dig deeper into that.

In the meantime I'd appreciate it if this commit can be reverted until
the other fixes (at least the missing MIIM reset) will be merged.