From: Paul M. <le...@li...> - 2007-03-02 06:32:48
|
On Fri, Mar 02, 2007 at 07:06:09AM +0100, Manuel Lauss wrote: > On Thu, Mar 01, 2007 at 11:43:28PM +0000, Kristoffer Ericson wrote: > > + .start = 0x1f0 + 0x206, <------------ Error? > > + .end = 0x1f0 +8 + 0x206 + 8, > > + .flags = IORESOURCE_IO, > > 3f6 is correct. .end should be 3f7. (have alook at > arch/sh/cchips/hd6446x/hd64461/io.c::PORT2ADDR()). > > Maybe you could even use the "real" MMIO addresses of > the hd64461 pcmcia0 region (0xb50001f0), and one day get rid of > that ugly io.c file altogether... > Indeed, and in this case, there's really no reason _not_ to use the MMIO address. The reason some folks were using the PIO addresses before were as a lame way to take care of port shifting, and this is really the wrong way to go about it. If there's a real inability to do an access of that size, then it's something the driver has to deal with, we shouldn't be papering over it in the machvec. I would say rip out the HD64461 entries from the machvec entirely and see what falls out. I imagine PCMCIA will be a problem, but this needs an overhaul for the hardirq changes anyways, and then we're likely left with something much smaller that we can push in as an MFD driver, and kill off the rest of the cchip mess. The io.c's have always been utter crap, the sooner we can kill off the outstanding ones, the better. |