All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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: link
Be 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.