Messages in this thread Patch in this message | | | Date | Tue, 7 Aug 2012 15:41:38 +0100 | From | Russell King <> | Subject | Re: [PATCH 0/5] mfd: replace IORESOURCE_IO by IORESOURCE_MEM |
| |
On Tue, Aug 07, 2012 at 02:28:15PM +0000, Arnd Bergmann wrote: > On Tuesday 07 August 2012, Mark Brown wrote: > > On Tue, Aug 07, 2012 at 01:11:57PM +0100, Russell King wrote: > > > index 589e0e7..bfee885 100644 > > > --- a/include/linux/ioport.h > > > +++ b/include/linux/ioport.h > > > @@ -31,6 +31,7 @@ struct resource { > > > #define IORESOURCE_TYPE_BITS 0x00001f00 /* Resource type */ > > > #define IORESOURCE_IO 0x00000100 > > > #define IORESOURCE_MEM 0x00000200 > > > +#define IORESOURCE_REG 0x00000300 /* Register offsets */ > > > #define IORESOURCE_IRQ 0x00000400 > > > #define IORESOURCE_DMA 0x00000800 > > > #define IORESOURCE_BUS 0x00001000 > > > > As I've said before I'm fine with the driver changes. I do feel that it > > would be better to also renumber all the existing resource types while > > we're at it in order to make it clear that these are just plain numbers, > > that's the reason nobody wrote this patch previously. This will avoid > > any future confusion. > > This gets into a lot more tricky territory: We have a bunch of drivers > doing their own bitmask operations on these, like drivers/video/offb.c > testing > > if ((flags & (IORESOURCE_IO | IORESOURCE_MEM)) == 0) > return NULL; > > or drivers/scsi/gdth.c doing > > if (!(base0 & IORESOURCE_MEM) || > !(base2 & IORESOURCE_MEM) || > !(base1 & IORESOURCE_IO)) > return -ENODEV; > > Now I've looked at the three drivers with the immediate problem of > IORESOURCE_IO abuse (max8925, wm831x, 88pm860x) and none of them are > doing such bitmask operations, so I'm reasonably sure we are fine > for those drivers. I also agree that renumbering the resources in a > way that makes it impossible to use bitmasks is a good idea, but > that would actually be pretty invasive because then we have to rewrite > all the functions that currently do it.
Don't feed the troll :)
None of the code you list above would be affected in any way by the changes I propose; we're not changing the existing values, and these drivers would not see the new IORESOURCE_REG type.
That's not to say that they wouldn't need fixing (they do), but they are not a reason to reject my proposal, even for -stable trees.
-- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of:
| |