[PATCH 3/2][NEWEMAC] Use status property for unused/unwired EMACs

Josh Boyer jwboyer at linux.vnet.ibm.com
Sun Mar 2 01:41:40 EST 2008


Convert ibm_newemac to use the of_device_is_available function when checking
for unused/unwired EMACs.  We leave the current check for an "unused" property
to maintain backwards compatibility for older device trees.  Newer device
trees should simply use the standard "status" property in the EMAC node.

The taishan DTS file is updated to reflect this.

Signed-off-by: Josh Boyer <jwboyer at linux.vnet.ibm.com>

---
 arch/powerpc/boot/dts/taishan.dts |    4 ++--
 drivers/net/ibm_newemac/core.c    |    7 +++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

--- linux-2.6.orig/arch/powerpc/boot/dts/taishan.dts
+++ linux-2.6/arch/powerpc/boot/dts/taishan.dts
@@ -234,7 +234,6 @@
 
 
 			EMAC0: ethernet at 40000800 {
-				unused = <1>;
 				linux,network-index = <2>;
 				device_type = "network";
 				compatible = "ibm,emac-440gx", "ibm,emac4";
@@ -253,9 +252,9 @@
 				phy-map = <00000001>;
 				zmii-device = <&ZMII0>;
 				zmii-channel = <0>;
+				status = "disabled";
 			};
 		 	EMAC1: ethernet at 40000900 {
-				unused = <1>;
 				linux,network-index = <3>;
 				device_type = "network";
 				compatible = "ibm,emac-440gx", "ibm,emac4";
@@ -274,6 +273,7 @@
 				phy-map = <00000001>;
  				zmii-device = <&ZMII0>;
 				zmii-channel = <1>;
+				status = "disabled";
 			};
 
 		 	EMAC2: ethernet at 40000c00 {
--- linux-2.6.orig/drivers/net/ibm_newemac/core.c
+++ linux-2.6/drivers/net/ibm_newemac/core.c
@@ -2552,8 +2552,11 @@ static int __devinit emac_probe(struct o
 	struct device_node **blist = NULL;
 	int err, i;
 
-	/* Skip unused/unwired EMACS */
-	if (of_get_property(np, "unused", NULL))
+	/* Skip unused/unwired EMACS.  We leave the check for an unused
+	 * property here for now, but new flat device trees should set a
+	 * status property to "disabled" instead.
+	 */
+	if (of_get_property(np, "unused", NULL) || !of_device_is_available(np))
 		return -ENODEV;
 
 	/* Find ourselves in the bootlist if we are there */



More information about the Linuxppc-dev mailing list