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;
 };