Commit 08e39f6e authored by Alexander Viro's avatar Alexander Viro Committed by Jeff Garzik

[PATCH] ibmtr 1/2: iomem annotations - trivial part

Signed-off-by: default avatarAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent c4eadeb7
......@@ -401,7 +401,7 @@ static void ibmtr_release(dev_link_t *link)
pcmcia_release_irq(link->handle, &link->irq);
if (link->win) {
struct tok_info *ti = netdev_priv(dev);
iounmap((void *)ti->mmio);
iounmap(ti->mmio);
pcmcia_release_window(link->win);
pcmcia_release_window(info->sram_win_handle);
}
......
......@@ -227,7 +227,7 @@ static void __devinit PrtChanID(char *pcid, short stride)
printk("\n");
}
static void __devinit HWPrtChanID(void * pcid, short stride)
static void __devinit HWPrtChanID(void __iomem *pcid, short stride)
{
short i, j;
for (i = 0, j = 0; i < 24; i++, j += stride)
......@@ -239,15 +239,16 @@ static void __devinit HWPrtChanID(void * pcid, short stride)
* going away.
*/
static void __devinit find_turbo_adapters(int *iolist) {
static void __devinit find_turbo_adapters(int *iolist)
{
int ram_addr;
int index=0;
void *chanid;
void __iomem *chanid;
int found_turbo=0;
unsigned char *tchanid, ctemp;
int i, j;
unsigned long jif;
void *ram_mapped ;
void __iomem *ram_mapped ;
if (turbo_searched == 1) return;
turbo_searched=1;
......@@ -328,8 +329,8 @@ static void ibmtr_cleanup_card(struct net_device *dev)
{
struct tok_info *ti = (struct tok_info *) dev->priv;
iounmap((u32 *)ti->mmio);
iounmap((u32 *)ti->sram_virt);
iounmap(ti->mmio);
iounmap(ti->sram_virt);
}
#endif
}
......@@ -383,9 +384,9 @@ static int __devinit ibmtr_probe1(struct net_device *dev, int PIOaddr)
{
unsigned char segment, intr=0, irq=0, i, j, cardpresent=NOTOK, temp=0;
void * t_mmio = NULL;
void __iomem * t_mmio = NULL;
struct tok_info *ti = dev->priv;
void *cd_chanid;
void __iomem *cd_chanid;
unsigned char *tchanid, ctemp;
#ifndef PCMCIA
unsigned char t_irq=0;
......@@ -428,7 +429,7 @@ static int __devinit ibmtr_probe1(struct net_device *dev, int PIOaddr)
*/
#ifdef PCMCIA
iounmap(t_mmio);
t_mmio = (void *)ti->mmio; /*BMS to get virtual address */
t_mmio = ti->mmio; /*BMS to get virtual address */
irq = ti->irq; /*BMS to display the irq! */
#endif
cd_chanid = (CHANNEL_ID + t_mmio); /* for efficiency */
......@@ -1099,25 +1100,26 @@ void dir_open_adapter (struct net_device *dev) {
struct tok_info *ti = (struct tok_info *) dev->priv;
unsigned char ret_code;
__u16 err;
__u16 srb, ssb, arb, asb;
ti->srb = ntohs(readw(ti->init_srb + SRB_ADDRESS_OFST));
ti->ssb = ntohs(readw(ti->init_srb + SSB_ADDRESS_OFST));
ti->arb = ntohs(readw(ti->init_srb + ARB_ADDRESS_OFST));
ti->asb = ntohs(readw(ti->init_srb + ASB_ADDRESS_OFST));
srb = ntohs(readw(ti->init_srb + SRB_ADDRESS_OFST));
ssb = ntohs(readw(ti->init_srb + SSB_ADDRESS_OFST));
arb = ntohs(readw(ti->init_srb + ARB_ADDRESS_OFST));
asb = ntohs(readw(ti->init_srb + ASB_ADDRESS_OFST));
if (ti->page_mask) {
ti->srb_page = (ti->srb >> 8) & ti->page_mask;
ti->srb &= ~(ti->page_mask << 8);
ti->ssb_page = (ti->ssb >> 8) & ti->page_mask;
ti->ssb &= ~(ti->page_mask << 8);
ti->arb_page = (ti->arb >> 8) & ti->page_mask;
ti->arb &= ~(ti->page_mask << 8);
ti->asb_page = (ti->asb >> 8) & ti->page_mask;
ti->asb &= ~(ti->page_mask << 8);
}
ti->srb += ti->sram_virt;
ti->ssb += ti->sram_virt;
ti->arb += ti->sram_virt;
ti->asb += ti->sram_virt;
ti->srb_page = (srb >> 8) & ti->page_mask;
srb &= ~(ti->page_mask << 8);
ti->ssb_page = (ssb >> 8) & ti->page_mask;
ssb &= ~(ti->page_mask << 8);
ti->arb_page = (arb >> 8) & ti->page_mask;
arb &= ~(ti->page_mask << 8);
ti->asb_page = (asb >> 8) & ti->page_mask;
asb &= ~(ti->page_mask << 8);
}
ti->srb = ti->sram_virt + srb;
ti->ssb = ti->sram_virt + ssb;
ti->arb = ti->sram_virt + arb;
ti->asb = ti->sram_virt + asb;
ti->current_skb = NULL;
ret_code = readb(ti->init_srb + RETCODE_OFST);
err = ntohs(readw(ti->init_srb + OPEN_ERROR_CODE_OFST));
......@@ -1509,6 +1511,7 @@ static void initial_tok_int(struct net_device *dev)
__u32 encoded_addr, hw_encoded_addr;
struct tok_info *ti;
unsigned char init_status; /*BMS 12/2000*/
__u16 init_srb;
ti = (struct tok_info *) dev->priv;
......@@ -1519,12 +1522,12 @@ static void initial_tok_int(struct net_device *dev)
#ifndef PCMCIA
ti->sram_virt = (u32)ioremap(((__u32)ti->sram_base << 12), ti->avail_shared_ram);
#endif
ti->init_srb = ntohs(readw(ti->mmio + ACA_OFFSET + WRBR_EVEN));
init_srb = ntohs(readw(ti->mmio + ACA_OFFSET + WRBR_EVEN));
if (ti->page_mask) {
ti->init_srb_page = (ti->init_srb >> 8) & ti->page_mask;
ti->init_srb &= ~(ti->page_mask << 8);
ti->init_srb_page = (init_srb >> 8) & ti->page_mask;
init_srb &= ~(ti->page_mask << 8);
}
ti->init_srb += ti->sram_virt;
ti->init_srb = ti->sram_virt + init_srb;
if (ti->page_mask && ti->avail_shared_ram == 127) {
int last_512 = 0xfe00, i;
int last_512_page=0;
......@@ -1579,6 +1582,7 @@ static void tr_tx(struct net_device *dev)
struct trh_hdr *trhdr = (struct trh_hdr *) ti->current_skb->data;
unsigned int hdr_len;
__u32 dhb=0,dhb_base;
void __iomem *dhbuf = NULL;
unsigned char xmit_command;
int i,dhb_len=0x4000,src_len,src_offset;
struct trllc *llc;
......@@ -1600,7 +1604,7 @@ static void tr_tx(struct net_device *dev)
dhb_page = (dhb_base >> 8) & ti->page_mask;
dhb=dhb_base & ~(ti->page_mask << 8);
}
dhb += ti->sram_virt;
dhbuf = ti->sram_virt + dhb;
/* Figure out the size of the 802.5 header */
if (!(trhdr->saddr[0] & 0x80)) /* RIF present? */
......@@ -1626,12 +1630,12 @@ static void tr_tx(struct net_device *dev)
writew(htons(0x11), ti->asb + FRAME_LENGTH_OFST);
writeb(0x0e, ti->asb + HEADER_LENGTH_OFST);
SET_PAGE(dhb_page);
writeb(AC, dhb);
writeb(LLC_FRAME, dhb + 1);
writeb(AC, dhbuf);
writeb(LLC_FRAME, dhbuf + 1);
for (i = 0; i < TR_ALEN; i++)
writeb((int) 0x0FF, dhb + i + 2);
writeb((int) 0x0FF, dhbuf + i + 2);
for (i = 0; i < TR_ALEN; i++)
writeb(0, dhb + i + TR_ALEN + 2);
writeb(0, dhbuf + i + TR_ALEN + 2);
writeb(RESP_IN_ASB, ti->mmio + ACA_OFFSET + ACA_SET + ISRA_ODD);
return;
}
......@@ -1650,10 +1654,10 @@ static void tr_tx(struct net_device *dev)
dhb=dhb & ~(ti->page_mask << 8);
dhb_len=0x4000-dhb; /* remaining size of this page */
}
dhb+=ti->sram_virt;
dhbuf = ti->sram_virt + dhb;
SET_PAGE(dhb_page);
if (src_len > dhb_len) {
memcpy_toio(dhb,&ti->current_skb->data[src_offset],
memcpy_toio(dhbuf,&ti->current_skb->data[src_offset],
dhb_len);
src_len -= dhb_len;
src_offset += dhb_len;
......@@ -1661,7 +1665,7 @@ static void tr_tx(struct net_device *dev)
dhb=dhb_base;
continue;
}
memcpy_toio(dhb, &ti->current_skb->data[src_offset], src_len);
memcpy_toio(dhbuf, &ti->current_skb->data[src_offset], src_len);
break;
}
writeb(RESP_IN_ASB, ti->mmio + ACA_OFFSET + ACA_SET + ISRA_ODD);
......@@ -1689,9 +1693,9 @@ static void tr_tx(struct net_device *dev)
static void tr_rx(struct net_device *dev)
{
struct tok_info *ti = (struct tok_info *) dev->priv;
__u32 rbuffer, rbufdata;
__u32 rbuffer;
void __iomem *rbuf, *rbufdata, *llc;
__u8 rbuffer_page = 0;
__u32 llc;
unsigned char *data;
unsigned int rbuffer_len, lan_hdr_len, hdr_len, ip_len, length;
unsigned char dlc_hdr_len;
......@@ -1709,7 +1713,7 @@ static void tr_rx(struct net_device *dev)
rbuffer_page = (rbuffer >> 8) & ti->page_mask;
rbuffer &= ~(ti->page_mask << 8);
}
rbuffer += ti->sram_virt;
rbuf = rbuffer + ti->sram_virt;
SET_PAGE(ti->asb_page);
......@@ -1728,7 +1732,7 @@ static void tr_rx(struct net_device *dev)
hdr_len = lan_hdr_len + sizeof(struct trllc) + sizeof(struct iphdr);
SET_PAGE(rbuffer_page);
llc = (rbuffer + offsetof(struct rec_buf, data) + lan_hdr_len);
llc = rbuf + offsetof(struct rec_buf, data) + lan_hdr_len;
#if TR_VERBOSE
DPRINTK("offsetof data: %02X lan_hdr_len: %02X\n",
......@@ -1759,9 +1763,7 @@ static void tr_rx(struct net_device *dev)
if (!IPv4_p) {
__u32 trhhdr;
trhhdr = (rbuffer + offsetof(struct rec_buf, data));
void __iomem *trhhdr = rbuf + offsetof(struct rec_buf, data);
DPRINTK("Probably non-IP frame received.\n");
DPRINTK("ssap: %02X dsap: %02X "
......@@ -1793,8 +1795,8 @@ static void tr_rx(struct net_device *dev)
skb_put(skb, length);
skb->dev = dev;
data = skb->data;
rbuffer_len = ntohs(readw(rbuffer + offsetof(struct rec_buf, buf_len)));
rbufdata = rbuffer + offsetof(struct rec_buf, data);
rbuffer_len = ntohs(readw(rbuf + offsetof(struct rec_buf, buf_len)));
rbufdata = rbuf + offsetof(struct rec_buf, data);
if (IPv4_p) {
/* Copy the headers without checksumming */
......@@ -1822,7 +1824,7 @@ static void tr_rx(struct net_device *dev)
data,length<rbuffer_len?length:rbuffer_len,chksum);
else
memcpy_fromio(data, rbufdata, rbuffer_len);
rbuffer = ntohs(readw(rbuffer+BUFFER_POINTER_OFST)) ;
rbuffer = ntohs(readw(rbuf+BUFFER_POINTER_OFST)) ;
if (!rbuffer)
break;
rbuffer -= 2;
......@@ -1832,10 +1834,10 @@ static void tr_rx(struct net_device *dev)
rbuffer_page = (rbuffer >> 8) & ti->page_mask;
rbuffer &= ~(ti->page_mask << 8);
}
rbuffer += ti->sram_virt;
rbuf = ti->sram_virt + rbuffer;
SET_PAGE(rbuffer_page);
rbuffer_len = ntohs(readw(rbuffer + BUFFER_LENGTH_OFST));
rbufdata = rbuffer + offsetof(struct rec_buf, data);
rbuffer_len = ntohs(readw(rbuf + BUFFER_LENGTH_OFST));
rbufdata = rbuf + offsetof(struct rec_buf, data);
}
SET_PAGE(ti->asb_page);
......
......@@ -169,7 +169,7 @@ typedef enum { CLOSED, OPEN } open_state;
struct tok_info {
unsigned char irq;
void *mmio;
void __iomem *mmio;
unsigned char hw_address[32];
unsigned char adapter_type;
unsigned char data_rate;
......@@ -193,11 +193,11 @@ struct tok_info {
unsigned char page_mask; /* mask to select RAM page to Map*/
unsigned char mapped_ram_size; /* size of RAM page */
__u32 sram_virt; /* Shared memory base address */
__u32 init_srb; /* Initial System Request Block address */
__u32 srb; /* System Request Block address */
__u32 ssb; /* System Status Block address */
__u32 arb; /* Adapter Request Block address */
__u32 asb; /* Adapter Status Block address */
void __iomem *init_srb; /* Initial System Request Block address */
void __iomem *srb; /* System Request Block address */
void __iomem *ssb; /* System Status Block address */
void __iomem *arb; /* Adapter Request Block address */
void __iomem *asb; /* Adapter Status Block address */
__u8 init_srb_page;
__u8 srb_page;
__u8 ssb_page;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment