The branch main has been updated by wma:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=5572fda3a2f305fc4fb4c853d8d578c13d59c1a5

commit 5572fda3a2f305fc4fb4c853d8d578c13d59c1a5
Author:     Wojciech Macek <w...@freebsd.org>
AuthorDate: 2021-09-14 07:11:15 +0000
Commit:     Wojciech Macek <w...@freebsd.org>
CommitDate: 2021-09-21 07:38:38 +0000

    mvneta: split to FDT and generic part
    
    Split some missing routines.
    
    Obtained from:  Semihalf
---
 sys/dev/neta/if_mvneta.c     | 45 +++++---------------------------------------
 sys/dev/neta/if_mvneta_fdt.c | 44 +++++++++++++++++++++++++++++++++++++++++++
 sys/dev/neta/if_mvnetavar.h  |  1 +
 3 files changed, 50 insertions(+), 40 deletions(-)

diff --git a/sys/dev/neta/if_mvneta.c b/sys/dev/neta/if_mvneta.c
index 71552bf2c515..fe86f4a5effe 100644
--- a/sys/dev/neta/if_mvneta.c
+++ b/sys/dev/neta/if_mvneta.c
@@ -68,10 +68,6 @@ __FBSDID("$FreeBSD$");
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
 
-#include <dev/ofw/openfirm.h>
-#include <dev/ofw/ofw_bus.h>
-#include <dev/ofw/ofw_bus_subr.h>
-
 #include <dev/mdio/mdio.h>
 
 #include <arm/mv/mvvar.h>
@@ -222,11 +218,6 @@ static device_method_t mvneta_methods[] = {
        DEVMETHOD_END
 };
 
-static struct ofw_compat_data compat_data[] = {
-       { "marvell,armada-3700-neta",           true },
-       { NULL,                                 false }
-};
-
 DEFINE_CLASS_0(mvneta, mvneta_driver, mvneta_methods, sizeof(struct 
mvneta_softc));
 
 DRIVER_MODULE(miibus, mvneta, miibus_driver, miibus_devclass, 0, 0);
@@ -234,7 +225,7 @@ DRIVER_MODULE(mdio, mvneta, mdio_driver, mdio_devclass, 0, 
0);
 MODULE_DEPEND(mvneta, mdio, 1, 1, 1);
 MODULE_DEPEND(mvneta, ether, 1, 1, 1);
 MODULE_DEPEND(mvneta, miibus, 1, 1, 1);
-SIMPLEBUS_PNP_INFO(compat_data);
+MODULE_DEPEND(mvneta, mvxpbm, 1, 1, 1);
 
 /*
  * List of MIB register and names
@@ -418,40 +409,14 @@ mvneta_get_mac_address(struct mvneta_softc *sc, uint8_t 
*addr)
        return (0);
 }
 
-STATIC boolean_t
-mvneta_find_ethernet_prop_switch(phandle_t ethernet, phandle_t node)
-{
-       boolean_t ret;
-       phandle_t child, switch_eth_handle, switch_eth;
-
-       for (child = OF_child(node); child != 0; child = OF_peer(child)) {
-               if (OF_getencprop(child, "ethernet", (void*)&switch_eth_handle,
-                   sizeof(switch_eth_handle)) > 0) {
-                       if (switch_eth_handle > 0) {
-                               switch_eth = OF_node_from_xref(
-                                   switch_eth_handle);
-
-                               if (switch_eth == ethernet)
-                                       return (true);
-                       }
-               }
-
-               ret = mvneta_find_ethernet_prop_switch(ethernet, child);
-               if (ret != 0)
-                       return (ret);
-       }
-
-       return (false);
-}
-
 STATIC boolean_t
 mvneta_has_switch(device_t self)
 {
-       phandle_t node;
-
-       node = ofw_bus_get_node(self);
+#ifdef FDT
+       return (mvneta_has_switch_fdt(self));
+#endif
 
-       return mvneta_find_ethernet_prop_switch(node, OF_finddevice("/"));
+       return (false);
 }
 
 STATIC int
diff --git a/sys/dev/neta/if_mvneta_fdt.c b/sys/dev/neta/if_mvneta_fdt.c
index df7840845fcd..bedf4b253a45 100644
--- a/sys/dev/neta/if_mvneta_fdt.c
+++ b/sys/dev/neta/if_mvneta_fdt.c
@@ -58,6 +58,12 @@ __FBSDID("$FreeBSD$");
 #include "if_mvnetareg.h"
 #include "if_mvnetavar.h"
 
+#ifdef MVNETA_DEBUG
+#define        STATIC /* nothing */
+#else
+#define        STATIC static
+#endif
+
 #define        PHY_MODE_MAXLEN 10
 #define        INBAND_STATUS_MAXLEN 16
 
@@ -89,6 +95,8 @@ static struct ofw_compat_data compat_data[] = {
        {NULL,                          false}
 };
 
+SIMPLEBUS_PNP_INFO(compat_data);
+
 static int
 mvneta_fdt_probe(device_t dev)
 {
@@ -250,3 +258,39 @@ mvneta_fdt_mac_address(struct mvneta_softc *sc, uint8_t 
*addr)
 
        return (0);
 }
+
+STATIC boolean_t
+mvneta_find_ethernet_prop_switch(phandle_t ethernet, phandle_t node)
+{
+       boolean_t ret;
+       phandle_t child, switch_eth_handle, switch_eth;
+
+       for (child = OF_child(node); child != 0; child = OF_peer(child)) {
+               if (OF_getencprop(child, "ethernet", (void*)&switch_eth_handle,
+                   sizeof(switch_eth_handle)) > 0) {
+                       if (switch_eth_handle > 0) {
+                               switch_eth = OF_node_from_xref(
+                                   switch_eth_handle);
+
+                               if (switch_eth == ethernet)
+                                       return (true);
+                       }
+               }
+
+               ret = mvneta_find_ethernet_prop_switch(ethernet, child);
+               if (ret != 0)
+                       return (ret);
+       }
+
+       return (false);
+}
+
+boolean_t
+mvneta_has_switch_fdt(device_t self)
+{
+       phandle_t node;
+
+       node = ofw_bus_get_node(self);
+
+       return mvneta_find_ethernet_prop_switch(node, OF_finddevice("/"));
+}
diff --git a/sys/dev/neta/if_mvnetavar.h b/sys/dev/neta/if_mvnetavar.h
index 00bfd1f0848c..0e6cf7829197 100644
--- a/sys/dev/neta/if_mvnetavar.h
+++ b/sys/dev/neta/if_mvnetavar.h
@@ -321,6 +321,7 @@ struct mvneta_softc {
 int mvneta_attach(device_t);
 
 #ifdef FDT
+boolean_t mvneta_has_switch_fdt(device_t);
 int mvneta_fdt_mac_address(struct mvneta_softc *, uint8_t *);
 #endif
 
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"

Reply via email to