> +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); > +}; > +
I think this API would be better if it used ps, not bus and sw_addr. The only problem is the very first read to get the switch ID. I would add one more layer in between, so that you can call the lowest level functions without having a ps structure. Andrew