[RFC PATCH 7/7] devicetree: Add fdt_populate hook to smc91x device

Grant Likely grant.likely at secretlab.ca
Wed Apr 7 14:10:33 EST 2010


Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
---

 hw/smc91c111.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/hw/smc91c111.c b/hw/smc91c111.c
index b7398c9..300d209 100644
--- a/hw/smc91c111.c
+++ b/hw/smc91c111.c
@@ -721,8 +721,28 @@ static int smc91c111_init1(SysBusDevice *dev)
     return 0;
 }
 
+#ifdef CONFIG_FDT
+#include <libfdt.h>
+static int smc91c111_fdt_populate(SysBusDevice *dev, void *fdt, int offset)
+{
+    smc91c111_state *s = FROM_SYSBUS(smc91c111_state, dev);
+    int rc;
+
+    rc = fdt_setprop_string(fdt, offset, "compatible", "smc,91c111");
+    if (rc < 0)
+        return rc;
+
+    rc = fdt_setprop(fdt, offset, "local-mac-address", s->conf.macaddr.a,
+                     sizeof(s->conf.macaddr.a));
+    return 0;
+}
+#endif
+
 static SysBusDeviceInfo smc91c111_info = {
     .init = smc91c111_init1,
+#ifdef CONFIG_FDT
+    .fdt_populate = smc91c111_fdt_populate,
+#endif
     .qdev.name  = "smc91c111",
     .qdev.size  = sizeof(smc91c111_state),
     .qdev.props = (Property[]) {



More information about the devicetree-discuss mailing list