Following Marek's work on the abstraction of the SERDES lanes mapping, this series trades the .serdes_irq_setup and .serdes_irq_free callbacks for new .serdes_irq_mapping, .serdes_irq_enable and .serdes_irq_status operations.
This has the benefit to limit the various SERDES implementations to simple register accesses only; centralize the IRQ handling and mutex locking logic; as well as reducing boilerplate in the driver. Vivien Didelot (10): net: dsa: mv88e6xxx: check errors in mv88e6352_serdes_irq_link net: dsa: mv88e6xxx: fix SERDES IRQ mapping net: dsa: mv88e6xxx: introduce .serdes_irq_mapping net: dsa: mv88e6xxx: simplify .serdes_get_lane net: dsa: mv88e6xxx: implement mv88e6352_serdes_get_lane net: dsa: mv88e6xxx: merge mv88e6352_serdes_power_set net: dsa: mv88e6xxx: pass lane to .serdes_power net: dsa: mv88e6xxx: introduce .serdes_irq_enable net: dsa: mv88e6xxx: introduce .serdes_irq_status net: dsa: mv88e6xxx: centralize SERDES IRQ handling drivers/net/dsa/mv88e6xxx/chip.c | 141 ++++++++--- drivers/net/dsa/mv88e6xxx/chip.h | 15 +- drivers/net/dsa/mv88e6xxx/port.c | 21 +- drivers/net/dsa/mv88e6xxx/serdes.c | 382 ++++++++--------------------- drivers/net/dsa/mv88e6xxx/serdes.h | 107 ++++++-- 5 files changed, 315 insertions(+), 351 deletions(-) -- 2.23.0