Messages in this thread |  | | Date | Thu, 3 May 2001 04:08:48 -0700 | From | Anton Blanchard <> | Subject | Re: isa_read/write not available on ppc - solution suggestions ?? |
| |
> This is where the multiple support issue comes in. In ibmtr_cs.c we do > ioremap the addresses so pcmcia all works nicely. What we don't do at > present is an ioremap in ibmtr.c for the non-pcmcia adapters (isa & mca). > So, I suppose the real fix would be to implement the ioremap in ibmtr.c so > that regular read/writes can be used everywhere in the driver. (This is > half the battle with changes to the driver, it supports so many > combinations that one change for one type of adapter can kill support for > another adapter, and that's my bottom line with updates: No loss of > functionality we already had.)
Yes since we ioremap both regions in ibmtr_cs.c and pass the cookies into ibmtr.c we should be using read*/write*. With the simple fix to do this and use the non byteswapping versions of read*/write* the token ring pcmcia driver works fine on a titanium powerbook.
My suggestion is to throw this into ibmtr.h:
#ifdef PCMCIA #define tr_readb(addr) readb(addr) #define tr_readw(addr) __raw_readw(addr) #define tr_readl(addr) __raw_readl(addr) #define tr_writeb(val, addr) writeb(val, addr) #define tr_writel(val, addr) __raw_writel(val, addr) #define tr_writew(val, addr) __raw_writew(val, addr) #else #define tr_readb(addr) isa_readb(addr) #define tr_readw(addr) isa_readw(addr) #define tr_readl(addr) isa_readl(addr) #define tr_writeb(val, addr) isa_writeb(val, addr) #define tr_writel(val, addr) isa_writel(val, addr) #define tr_writew(val, addr) isa_writew(val, addr) #endif
Anton - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |