On Sun, Oct 25, 2020 at 09:17:58AM +0100, Michael Walle wrote: > Am 2020-10-24 14:14, schrieb Ioana Ciornei: > > - Every PHY driver gains a .handle_interrupt() implementation that, for > > the most part, would look like below: > > > > irq_status = phy_read(phydev, INTR_STATUS); > > if (irq_status < 0) { > > phy_error(phydev); > > return IRQ_NONE; > > } > > > > if (irq_status == 0) > > return IRQ_NONE; > > > > phy_trigger_machine(phydev); > > > > return IRQ_HANDLED; > > Would it make sense to provide this (default) version inside the core? > Simple PHY drivers then just could set the callback to this function. > (There must be some property for the INTR_STATUS, which is likely to > be different between different PHYs, though).
Yes, the interrupt status register's address differs even between PHYs from the same vendor so making this somehow into a default handler would mean to add even another callback that actually reads the register. For simple PHY drivers, the .handle_interrupt() implementation would mean 15-20 lines of code for a much more straightforward implementation. I think that's fair. Ioana