[RFC PATCH 5/7] devicetree: Add helper to register devices with an fdt_populate hook
Grant Likely
grant.likely at secretlab.ca
Wed Apr 7 14:10:23 EST 2010
This patch allows simple registration of devices to include a
device tree node populate function.
Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
---
hw/sysbus.c | 15 +++++++++++++++
hw/sysbus.h | 2 ++
2 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/hw/sysbus.c b/hw/sysbus.c
index 861572f..c63deef 100644
--- a/hw/sysbus.c
+++ b/hw/sysbus.c
@@ -138,6 +138,21 @@ void sysbus_register_dev(const char *name, size_t size, sysbus_initfn init)
sysbus_register_withprop(info);
}
+#if defined(CONFIG_FDT)
+void sysbus_register_dev_fdt(const char *name, size_t size, sysbus_initfn init,
+ sysbus_fdt_populatefn fdt_populate)
+{
+ SysBusDeviceInfo *info;
+
+ info = qemu_mallocz(sizeof(*info));
+ info->qdev.name = qemu_strdup(name);
+ info->qdev.size = size;
+ info->init = init;
+ info->fdt_populate = fdt_populate;
+ sysbus_register_withprop(info);
+}
+#endif
+
DeviceState *sysbus_create_varargs(const char *name,
target_phys_addr_t addr, ...)
{
diff --git a/hw/sysbus.h b/hw/sysbus.h
index 2c43191..3e20494 100644
--- a/hw/sysbus.h
+++ b/hw/sysbus.h
@@ -39,6 +39,8 @@ typedef struct {
} SysBusDeviceInfo;
void sysbus_register_dev(const char *name, size_t size, sysbus_initfn init);
+void sysbus_register_dev_fdt(const char *name, size_t size, sysbus_initfn init,
+ sysbus_fdt_populatefn fdt_populate);
void sysbus_register_withprop(SysBusDeviceInfo *info);
void *sysbus_new(void);
void sysbus_init_mmio(SysBusDevice *dev, target_phys_addr_t size, int iofunc);
More information about the devicetree-discuss
mailing list