From: Trent Piepho <tpiepho@kymetacorp.com>
To: Andrey Smirnov <andrew.smirnov@gmail.com>
Cc: "barebox@lists.infradead.org" <barebox@lists.infradead.org>
Subject: Re: Patch "syscon: Decrease driver registration priority" breaks clps711x target
Date: Wed, 13 Jul 2016 17:57:10 +0000 [thread overview]
Message-ID: <1468432716.30803.42.camel@rtred1test09.kymeta.local> (raw)
In-Reply-To: <CAHQ1cqFe+TDgH1XTfk85h5Tkw0UHu_tZX9Ut7i2ghX4H0iTpWA@mail.gmail.com>
On Wed, 2016-07-13 at 08:52 -0700, Andrey Smirnov wrote:
> On Wed, Jul 13, 2016 at 6:04 AM, Sascha Hauer <s.hauer@pengutronix.de> wrote:
> > On Wed, Jul 13, 2016 at 10:37:11AM +0300, Alexander Shiyan wrote:
> >> Hello All.
> >>
> >> Patch "syscon: Decrease driver registration priority" breaks clps711x target.
> >> Previously, the syscon device initialized at "core_initcall", that did not cause problems.
> >> Now the device is initialized at "device_initcall" level, but clps711x uses syscon for
> >> the serial, so serial device initialized at "console_initcall" level.
> >> Any ideas?
> >
> > We could move syscon back to core_initcall level and in the syscon
> > driver use dev_get_resource() instead of request_iomem_region().
>
> Right now the driver uses both, so if we just drop the call to
> request_iomem_region that was problematic for me on i.MX6, that should
> resolve the issue. I think this would also bring the behavior of
> syscon driver closer to what it does in Linux kernel land. The only
> negative effect of that change I think would be that on the platforms
> where syscon driver controls that region of memory, it no longer would
> be reported as such by "iomem".
>
Syscon driver is a little strange in Linux since commit bdb0066. The
driver no longer as an OF match and doesn't bind to syscon devices
listed in the device tree. When something wants to use a syscon it
calls syscon_regmap_lookup_by_compatible(), which finds the OF node,
maps the registers, and puts it in a driver global list. Anything that
maps the same syscon will get the same regmap that via the list. But
the regmap is never associated with the syscon device!
So syscon doesn't use the driver/device model anymore. It's more like a
global table of regmaps that are indexed using a OF node.
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2016-07-13 17:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-13 7:37 Alexander Shiyan
2016-07-13 13:04 ` Sascha Hauer
2016-07-13 15:52 ` Andrey Smirnov
2016-07-13 16:17 ` Alexander Shiyan
2016-07-13 17:12 ` Andrey Smirnov
2016-07-13 17:57 ` Trent Piepho [this message]
2016-07-13 21:35 ` Andrey Smirnov
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=1468432716.30803.42.camel@rtred1test09.kymeta.local \
--to=tpiepho@kymetacorp.com \
--cc=andrew.smirnov@gmail.com \
--cc=barebox@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox