qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH 0/7] QEMU patches to generate FDT from qdev


From: Blue Swirl
Subject: Re: [Qemu-devel] [RFC PATCH 0/7] QEMU patches to generate FDT from qdevs
Date: Wed, 7 Apr 2010 22:10:28 +0300

On 4/7/10, Grant Likely <address@hidden> wrote:
> Hi everyone,
>
>  This is an experimental set of patches for populating the flattened
>  device tree (fdt) data from the actual set of qdevs in the platform.
>  I'm not expecting this to get merged anytime soon, but I wanted to get
>  it out there to solicit comments.  My target for this is testing
>  device tree support on ARM.
>
>  The approach is by no means final, and there are still a number of
>  details to work out, but I've got it working well with the versatile
>  platform and I've got the kernel using fdt data to bind against the
>  smc91x device driver.  I'll be posting my associated kernel patches
>  real-soon-now.

It looks like the hook is only used to add some additional properties.
I think a data driven approach (fields in qdev structure) would be
simpler because the handling code would be only in qdev instead of all
devices.

Something like:
static SysBusDeviceInfo smc91c111_info = {
    .init = smc91c111_init1,
    .qdev.name  = "smc91c111",
    .qdev.size  = sizeof(smc91c111_state),
    .qdev.props = (Property[]) {
        DEFINE_NIC_PROPERTIES(smc91c111_state, conf),
        DEFINE_PROP_END_OF_LIST(),
    },
    .qdev.fdt_props = (FDTProperty[]) {
        DEFINE_FDT_NIC_MACADDR("local-mac-address", smc91c111_state,
conf.macaddr),
        DEFINE_FDT_PROP_STR("compatible", "smc,91c111"),
        DEFINE_FDT_PROP_END_OF_LIST(),
    }
};

A separate question is whether the properties should be visible to
user, for example shown by "info qdev". If yes, then the FDT
properties should be a special case of qdev properties:
    .qdev.props = (Property[]) {
        DEFINE_NIC_PROPERTIES(smc91c111_state, conf),
        DEFINE_FDT_NIC_MACADDR("local-mac-address", smc91c111_state,
conf.macaddr),
        DEFINE_FDT_PROP_STR("compatible", "smc,91c111"),
        DEFINE_PROP_END_OF_LIST(),
    }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]