From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: linux-kernel@vger.kernel.org,
Rob Herring <rob.herring@calxeda.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
devicetree-discuss@lists.ozlabs.org
Subject: Re: [PATCH] of: Have of_device_add call platform_device_add rather than device_add
Date: Wed, 21 Nov 2012 10:44:53 -0700 [thread overview]
Message-ID: <20121121174453.GD6406@obsidianresearch.com> (raw)
In-Reply-To: <20121121155104.726B83E0AE2@localhost>
On Wed, Nov 21, 2012 at 03:51:04PM +0000, Grant Likely wrote:
> On Wed, 21 Nov 2012 00:24:48 -0700, Jason Gunthorpe <jgunthorpe@obsidianresearch.com> wrote:
> > This allows platform_device_add a chance to call insert_resource
> > on all of the resources from OF. At a minimum this fills in proc/iomem
> > and presumably makes resource tracking and conflict detection work
> > better.
> >
> > Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> > drivers/of/device.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > Tested on PPC32 and ARM32 embedded kernels.
> >
> > diff --git a/drivers/of/device.c b/drivers/of/device.c
> > index 4c74e4f..a5b67dc 100644
> > +++ b/drivers/of/device.c
> > @@ -62,7 +62,7 @@ int of_device_add(struct platform_device *ofdev)
> > if (!ofdev->dev.parent)
> > set_dev_node(&ofdev->dev, of_node_to_nid(ofdev->dev.of_node));
> >
> > - return device_add(&ofdev->dev);
> > + return platform_device_add(ofdev);
> > }
> >
> > int of_device_register(struct platform_device *pdev)
>
> This has the side effect of moving all devices at the root of the tree
> from /sys/devices/ to /sys/devices/platform. It also has the possibility
> of breaking if any devices get registered with overlapping regions. I
> think there are some powerpc 5200 boards that do this, and I'm not sure
> about the larger Power boxen.
Okay, I'll try to test your patch.
I know sensible overlapping seems to work:
e0000000-e7ffffff : PCIe 0 MEM
e0000000-e000ffff : 0000:00:01.0
e0000000-e0000fff : /pex@e0000000/chip@0/chip_control@0
e0000008-e000000b : dat
e0000008-e000000b : dat
e000000c-e000000f : set
e000000c-e000000f : set
e0000010-e0000013 : dirin
e0000010-e0000013 : dirin
Which is nesting the generic gpio driver under a larger region..
And:
f1010100-f101013f : /internal@f1000000/gpio@10100
f1010100-f1010103 : /internal@f1000000/chip_cfg@0
Which is nesting a register set for one OF platform_device under
another.
It seems to be handled automatically.
My motivations are two fold:
- Having a mostly empty /proc/iomem isn't great for diagnostics
- I'll send a patch today that adds some more code to
platform_device_add
Thanks Grant,
Jason
next prev parent reply other threads:[~2012-11-21 17:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-21 7:24 [PATCH] of: Have of_device_add call platform_device_add rather than device_add Jason Gunthorpe
2012-11-21 15:51 ` Grant Likely
2012-11-21 16:05 ` Grant Likely
2012-11-21 17:44 ` Jason Gunthorpe [this message]
2012-11-21 18:07 ` Grant Likely
2012-11-21 18:14 ` Jason Gunthorpe
[not found] ` <20121121181430.GE6406-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2012-11-22 15:36 ` Grant Likely
2012-11-22 15:36 ` Grant Likely
2012-11-22 17:30 ` Jason Gunthorpe
2012-11-22 17:30 ` Jason Gunthorpe
2012-11-26 14:30 ` Grant Likely
2012-11-26 15:28 ` 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=20121121174453.GD6406@obsidianresearch.com \
--to=jgunthorpe@obsidianresearch.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rob.herring@calxeda.com \
/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.