On 22/12/2020 16:01:22+0100, Andrew Lunn wrote: > > The problem is that the switch core reset also affects (reset) the > > SGPIO controller. > > > > We tried to put this in the reset driver, but it was rejected. If the > > reset is done at probe time, the SGPIO driver may already have > > initialized state. > > > > The switch core reset will then reset all SGPIO registers. > > Ah, O.K. Dumb question. Why is the SGPIO driver a separate driver? It > sounds like it should be embedded inside this driver if it is sharing > hardware. > > Another option would be to look at the reset subsystem, and have this > driver export a reset controller, which the SGPIO driver can bind to. > Given that the GPIO driver has been merged, if this will work, it is > probably a better solution. >
That was my suggestion. Then you can ensure from the reset controller driver that this is done exactly once, either from the sgpio driver or from the switchdev driver. IIRC, the sgpio from the other SoCs are not affected by the reset. -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com