Hi Andrew,
Andrew Lunn [off-list ref] writes:
quoted
+struct mv88e6xxx_smi_ops {
+ int (*read)(struct mii_bus *bus, int sw_addr,
+ int addr, int reg, u16 *val);
+ int (*write)(struct mii_bus *bus, int sw_addr,
+ int addr, int reg, u16 val);
+};
Hi Vivien
I still think this API should be based on ps.
With the way you have restructured probe, this now also works, there
is no longer a read without PS in order to get the device ID.
Also, think about the case of reading/writing registers via Ethernet
frames. Such functions would need ps, bus and sw_addr is not useful.
Yes, I do RMU in mind, that was one motivation behind isolating
SMI-specific pieces of code.
I considered mv88e6xxx_smi_ops private to the SMI (MDIO) access, needing
an additional abstraction for regs access operations.
But I can indeed rename mv88e6xxx_smi_ops to mv88e6xxx_ops and make them
use a ps before one day, implementing an optional ps->rmu_ops.
Thanks,
Vivien