lkml.org 
[lkml]   [2001]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 12:52    [W:0.033 / U:1.044 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site