Re: [PATCH 0/5] mfd: replace IORESOURCE_IO by IORESOURCE_MEM

Haojian Zhuang
2012-08-07T01:47:27Z

On Tue, Aug 7, 2012 at 6:00 AM, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Mon, Aug 06, 2012 at 10:31:24PM +0100, Russell King wrote:
>
>> Anyway, given that this thread is broken, there's no way for me to find
>> out what the _original_ issue is that you're talking about. So I'm going
>> to guess that it's come up because we're out of IORESOURCE bits.
>
> No, that's not it. What's happened is that Haojian has posted some
> patching changing all the _IO resources to _MEM in the Marvell PMIC
> drivers, I think because you yelled at him for using _IO when he
> reported that the changes in ioport_resource broke things a few releases
> ago. Obviously this doesn't achieve a huge amount, it's a misplaced
> cleanup.
>
It's because IO_SPACE_LIMIT is set as 0 if there's no PCI devices. But
IORESOURCE_IO is also used in PMIC mfd drivers to distinguish
different components.

commit 04e1c83806e30ae339fc45def595960c7fef1697
Author: Russell King <rmk+kernel@arm.linux.org.uk>
Date: Wed Jul 6 12:49:59 2011 +0100

ARM: io: add a default IO_SPACE_LIMIT definition

Add a default IO_SPACE_LIMIT definition. Explain the chosen value and
suggest why platforms would want to make it larger.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

>> 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 seems sensible, and I'm sure if that change were made people would
> be delighed to use new resource types, but like I say nobody who's
> motivated to do anything here seems to have the time to do anything
> about it.
>
> Whoever looks at this would need to do some detective work, it does seem
> like there must have been a reason to use a bitmask here...

Changing bitmask to a value for IORESOURCE type is a risk. I agree on Mark
that someone will complain on this.

Could we consider to expand the usage of IORESOURCE_IO? Maybe we can
use it for both ISA/PCI and IO related in chip.