From: Stephen Warren <swarren@wwwdotorg.org>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: linux-kernel@vger.kernel.org, Stephen Warren <swarren@nvidia.com>
Subject: Re: [PATCH 1/2] regmap: allow busses to request formatting with specific endianness
Date: Wed, 23 May 2012 17:28:39 -0600 [thread overview]
Message-ID: <4FBD72A7.907@wwwdotorg.org> (raw)
In-Reply-To: <20120523231641.GA5361@opensource.wolfsonmicro.com>
On 05/23/2012 05:16 PM, Mark Brown wrote:
> On Wed, May 23, 2012 at 04:33:53PM -0600, Stephen Warren wrote:
>
>> I'm not 100% sure if this is the approach you had in mind.
>> However, anything more all-encompassing would require separating
>> the concepts of endianness and
>
> I wouldn't do this on the bus in the first instance, I'd do it on
> the device - it's pretty much orthogonal to the bus what the device
> wants and it's perfectly plausible that a device on another bus
> might've made unusual endiannness choices. Otherwise it's pretty
> much what I was thinking of.
>
> For MMIO I'd expect that a large proportion of devices on platform
> buses would pick native endianness.
I did briefly consider making this a property of regmap_config rather
than regmap_bus, but as you say, it'd mean every MMIO user would have
to specify the endianness value.
Also, it doesn't seem right for a device to be able to specify
register formatting endianness for MMIO; presumably we'd always want
that native.
Perhaps the solution is to have two fields; one for address formatting
(the endianness of which regmap-mmio.c will error-check is "native",
like it error-checks other fields) and a second for value
formatting/parsing, which I can see a device might want to influence
(e.g. to fix a byte swap in HW).
I suppose we could avoid every device having to specify the endianness
by introducing a fourth "DEFAULT" value == 0, and having the bus
define what default means - that way, I wouldn't have to edit any
drivers due to adding the regmap_bus field.
>> serialization that are coupled together in functions like
>> regmap_format_4_12_write, and I'm not sure how that would work
>> conceptually.
>
> Anything using format_write() can be ignored, it's already lost
> large chunks of functionality just from that. Non-integer byte
> sizes cause issues.
next prev parent reply other threads:[~2012-05-23 23:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-23 22:33 [PATCH 1/2] regmap: allow busses to request formatting with specific endianness Stephen Warren
2012-05-23 22:33 ` [PATCH 2/2] regmap: mmio: request native endian formatting Stephen Warren
2012-05-23 23:16 ` [PATCH 1/2] regmap: allow busses to request formatting with specific endianness Mark Brown
2012-05-23 23:28 ` Stephen Warren [this message]
2012-05-23 23:35 ` Mark Brown
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=4FBD72A7.907@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=swarren@nvidia.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.