From: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> To: Blue Swirl <blauwirbel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org, jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org Subject: Re: [Qemu-devel] [RFC PATCH 0/7] QEMU patches to generate FDT from qdevs Date: Wed, 7 Apr 2010 14:57:35 -0600 [thread overview] Message-ID: <k2mfa686aa41004071357gb91f70a9pba67cdf6c00f84b9@mail.gmail.com> (raw) In-Reply-To: <k2kf43fc5581004071210v810be251nf77b7ab469004e5c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> Thanks for the comments. Replies below... On Wed, Apr 7, 2010 at 1:10 PM, Blue Swirl <blauwirbel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > On 4/7/10, Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> 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. Hmmm, maybe. I don't really have a good answer yet as I'm still experimenting. It is possible that I'll need more complex behaviour as I add new kinds of devices or for handling different bus types. For example, right now I've got code to change the node name for mmio devices, and that cannot be filled in until the register base is defined and the best name format may be different for different busses/devices. I'm not familiar enough with qemu to know how best to handle this with properties. > 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(), > } It would certainly be useful to see the device node(s) associated with a qdev. g.
WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca> To: Blue Swirl <blauwirbel@gmail.com> Cc: devicetree-discuss@lists.ozlabs.org, qemu-devel@nongnu.org, jeremy.kerr@canonical.com Subject: Re: [Qemu-devel] [RFC PATCH 0/7] QEMU patches to generate FDT from qdevs Date: Wed, 7 Apr 2010 14:57:35 -0600 [thread overview] Message-ID: <k2mfa686aa41004071357gb91f70a9pba67cdf6c00f84b9@mail.gmail.com> (raw) In-Reply-To: <k2kf43fc5581004071210v810be251nf77b7ab469004e5c@mail.gmail.com> Thanks for the comments. Replies below... On Wed, Apr 7, 2010 at 1:10 PM, Blue Swirl <blauwirbel@gmail.com> wrote: > On 4/7/10, Grant Likely <grant.likely@secretlab.ca> 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. Hmmm, maybe. I don't really have a good answer yet as I'm still experimenting. It is possible that I'll need more complex behaviour as I add new kinds of devices or for handling different bus types. For example, right now I've got code to change the node name for mmio devices, and that cannot be filled in until the register base is defined and the best name format may be different for different busses/devices. I'm not familiar enough with qemu to know how best to handle this with properties. > 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(), > } It would certainly be useful to see the device node(s) associated with a qdev. g.
next prev parent reply other threads:[~2010-04-07 20:57 UTC|newest] Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-04-07 4:09 [RFC PATCH 0/7] QEMU patches to generate FDT from qdevs Grant Likely 2010-04-07 4:09 ` [Qemu-devel] " Grant Likely 2010-04-07 4:10 ` [RFC PATCH 1/7] devicetree: Add 8k instead of double dtb size when reserving extra memory Grant Likely 2010-04-07 4:10 ` [Qemu-devel] " Grant Likely 2010-04-09 12:00 ` Paul Brook 2010-04-09 12:00 ` Paul Brook [not found] ` <201004091300.57740.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org> 2010-04-09 14:55 ` Grant Likely 2010-04-09 14:55 ` Grant Likely 2010-04-07 4:10 ` [RFC PATCH 2/7] devicetree: auto-populate the device tree with qdev data Grant Likely 2010-04-07 4:10 ` [Qemu-devel] " Grant Likely 2010-04-07 4:10 ` [RFC PATCH 3/7] devicetree: add helper for determining IRQ properties in the device tree Grant Likely 2010-04-07 4:10 ` [Qemu-devel] " Grant Likely 2010-04-07 4:10 ` [RFC PATCH 4/7] devicetree: Add sysbus fdt populate hooks Grant Likely 2010-04-07 4:10 ` [Qemu-devel] " Grant Likely 2010-04-07 4:10 ` [RFC PATCH 5/7] devicetree: Add helper to register devices with an fdt_populate hook Grant Likely 2010-04-07 4:10 ` [Qemu-devel] " Grant Likely 2010-04-07 4:10 ` [RFC PATCH 6/7] devicetree: Add fdt_populate hook to pl011 device Grant Likely 2010-04-07 4:10 ` [Qemu-devel] " Grant Likely 2010-04-07 4:10 ` [RFC PATCH 7/7] devicetree: Add fdt_populate hook to smc91x device Grant Likely 2010-04-07 4:10 ` [Qemu-devel] " Grant Likely 2010-04-07 7:01 ` [RFC PATCH 0/7] QEMU patches to generate FDT from qdevs Jeremy Kerr 2010-04-07 7:01 ` [Qemu-devel] " Jeremy Kerr [not found] ` <201004071501.34711.jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> 2010-04-07 20:58 ` Grant Likely 2010-04-07 20:58 ` [Qemu-devel] " Grant Likely 2010-04-07 19:10 ` [Qemu-devel] " Blue Swirl 2010-04-07 19:10 ` Blue Swirl [not found] ` <k2kf43fc5581004071210v810be251nf77b7ab469004e5c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2010-04-07 20:57 ` Grant Likely [this message] 2010-04-07 20:57 ` Grant Likely 2010-04-09 12:07 ` Paul Brook 2010-04-09 12:07 ` Paul Brook [not found] ` <201004091307.22473.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org> 2010-04-09 14:47 ` Grant Likely 2010-04-09 14:47 ` Grant Likely [not found] ` <h2ofa686aa41004090747w2422cedasb6f4b51633637816-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2010-04-09 15:57 ` Paul Brook 2010-04-09 15:57 ` Paul Brook [not found] ` <201004091657.10684.paul-qD8j1LwMmJjtCj0u4l0SBw@public.gmane.org> 2010-04-09 16:35 ` Grant Likely 2010-04-09 16:35 ` Grant Likely
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=k2mfa686aa41004071357gb91f70a9pba67cdf6c00f84b9@mail.gmail.com \ --to=grant.likely-s3s/wqlpoipyb63q8fvjnq@public.gmane.org \ --cc=blauwirbel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \ --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \ --cc=jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \ --cc=qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.