From: Arnd Bergmann <arnd@arndb.de>
To: Russell King <rmk@arm.linux.org.uk>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Mark Brown <broonie@opensource.wolfsonmicro.com>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
sameo@linux.intel.com, rpurdie@rpsys.net, bryan.wu@canonical.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/5] mfd: replace IORESOURCE_IO by IORESOURCE_MEM
Date: Tue, 7 Aug 2012 11:28:27 +0000 [thread overview]
Message-ID: <201208071128.27616.arnd@arndb.de> (raw)
In-Reply-To: <20120807082813.GB24257@flint.arm.linux.org.uk>
On Tuesday 07 August 2012, Russell King wrote:
> On Tue, Aug 07, 2012 at 06:22:22PM +1000, Benjamin Herrenschmidt wrote:
> > On Mon, 2012-08-06 at 22:31 +0100, Russell King wrote:
> > >
> > > So, if we made this a numeric index, then we have 32 resource types
> > > to deal with, and no need to bugger around with re-using an existing
> > > type for something else.
> > >
> > > This makes sense, MEM, IRQ and DMA are all mutually exclusive, as
> > > should be MEM and IO (because they can't coexist in two resource trees
> > > at the same time.) BUS only gets used in a hand-full of places and
> > > not with any other flags.
> > >
> > > So, looks like we can have 27 new resource types fairly easily.
> >
> > Besides we can easily use a single IORESOURCE_OTHER for most things
> > really, if we prefer, make it IORESOURCE_IO | IORESOURCE_MEM and have
> > platform device avoid that combo...
>
> That will work just the same way that I'm suggesting. We can keep
> the existing bit-based numbers, and:
>
> #define IORESOURCE_OTHER 0x00000300
>
> and the platform code will avoid using the standard resource trees,
> because it does things correctly here:
>
> if (resource_type(r) == IORESOURCE_MEM)
> p = &iomem_resource;
> else if (resource_type(r) == IORESOURCE_IO)
> p = &ioport_resource;
>
I had not realized that we did this in platform_device_add(), which
means using IORESOURCE_IO in mfd is even more broken than I thought
previously.
I've looked through the code some more and your solution sounds
like the best option to get this sorted quickly. The entire
resource logic will probably come back to haunt us with ACPI 5.0
which adds region types for a number of new things (i2c, gpio,
ipmi, cmos, ...) and we might end up representing them
as resource. Or we might not.
If we introduce a new IORESOURCE_OTHER, I would actually prefer to
define it to 0x00000000 for purely aesthetic reasons, the effect
should be the same as using 0x00000300.
Arnd
next prev parent reply other threads:[~2012-08-07 11:28 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-05 16:32 [PATCH 0/5] mfd: replace IORESOURCE_IO by IORESOURCE_MEM Haojian Zhuang
2012-08-05 16:32 ` [PATCH 1/5] mfd: use IORESOURCE_MEM in 88pm860x backlight Haojian Zhuang
2012-08-05 16:32 ` [PATCH 2/5] mfd: use IORESOUCE_MEM in 88pm860x leds driver Haojian Zhuang
2012-08-05 16:32 ` [PATCH 3/5] mfd: use IORESOURCE_MEM in 88pm860x regulator Haojian Zhuang
2012-08-05 16:32 ` [PATCH 4/5] mfd: avoid to return failure in 88pm860x Haojian Zhuang
2012-08-05 16:32 ` [PATCH 5/5] ARM: mmp: enable 88pm860x in ttc dkb Haojian Zhuang
2012-08-06 14:30 ` [PATCH 0/5] mfd: replace IORESOURCE_IO by IORESOURCE_MEM Mark Brown
2012-08-06 14:42 ` Haojian Zhuang
2012-08-06 15:46 ` Mark Brown
2012-08-06 15:56 ` Haojian Zhuang
2012-08-06 15:58 ` Mark Brown
2012-08-06 19:22 ` Russell King
2012-08-06 19:53 ` Mark Brown
2012-08-06 21:31 ` Russell King
2012-08-06 22:00 ` Mark Brown
2012-08-07 1:47 ` Haojian Zhuang
2012-08-07 7:58 ` Russell King
2012-08-07 8:24 ` Benjamin Herrenschmidt
2012-08-07 10:38 ` Mark Brown
2012-08-07 11:13 ` Russell King
2012-08-07 11:28 ` Mark Brown
2012-08-07 11:31 ` Russell King
2012-08-07 11:36 ` Russell King
2012-08-07 11:45 ` Mark Brown
2012-08-07 11:51 ` Russell King
2012-08-07 12:58 ` Mark Brown
2012-08-07 13:47 ` Russell King
2012-08-07 15:54 ` Mark Brown
2012-08-07 15:22 ` Geert Uytterhoeven
2012-08-07 15:44 ` Russell King
2012-08-07 16:48 ` Mark Brown
2012-08-07 20:51 ` Arnd Bergmann
2012-08-07 11:38 ` Mark Brown
2012-08-07 11:44 ` Russell King
2012-08-07 12:11 ` Russell King
2012-08-07 13:25 ` Mark Brown
2012-08-07 14:28 ` Arnd Bergmann
2012-08-07 14:41 ` Russell King
2012-08-07 16:36 ` Mark Brown
2012-08-07 8:22 ` Benjamin Herrenschmidt
2012-08-07 8:28 ` Russell King
2012-08-07 11:28 ` Arnd Bergmann [this message]
2012-08-07 11:32 ` Russell King
2012-08-07 11:34 ` Arnd Bergmann
2012-08-07 11:35 ` Mark Brown
2012-08-07 11:41 ` Russell King
2012-08-07 15:45 ` Alan Cox
2012-08-07 15:50 ` Russell King
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=201208071128.27616.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=benh@kernel.crashing.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=bryan.wu@canonical.com \
--cc=haojian.zhuang@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk@arm.linux.org.uk \
--cc=rpurdie@rpsys.net \
--cc=sameo@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox