net: miiphybb: Split off struct bb_miiphy_bus_ops
Move miiphybb operations into separate struct bb_miiphy_bus_ops
structure, add pointer to struct bb_miiphy_bus_ops into the base
struct bb_miiphy_bus and access the ops through this pointer in
miiphybb generic code. The variable reshuffling in miiphybb.c
cannot be easily avoided.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Paul Barker <paul.barker.ct@bp.renesas.com>
diff --git a/include/miiphy.h b/include/miiphy.h
index f2ff750..5fd86be 100644
--- a/include/miiphy.h
+++ b/include/miiphy.h
@@ -62,14 +62,20 @@
#define BB_MII_DEVNAME "bb_miiphy"
-struct bb_miiphy_bus {
+struct bb_miiphy_bus;
+
+struct bb_miiphy_bus_ops {
int (*mdio_active)(struct bb_miiphy_bus *bus);
int (*mdio_tristate)(struct bb_miiphy_bus *bus);
int (*set_mdio)(struct bb_miiphy_bus *bus, int v);
int (*get_mdio)(struct bb_miiphy_bus *bus, int *v);
int (*set_mdc)(struct bb_miiphy_bus *bus, int v);
int (*delay)(struct bb_miiphy_bus *bus);
+};
+
+struct bb_miiphy_bus {
void *priv;
+ const struct bb_miiphy_bus_ops *ops;
struct mii_dev mii;
};