diff mbox

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

Message ID 20100407041033.20274.72493.stgit@angua
State New
Headers show

Commit Message

Grant Likely April 7, 2010, 4:10 a.m. UTC
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---

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

Patch

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[]) {