Loading drivers/net/arcnet/com90xx.c +17 −12 Original line number Diff line number Diff line Loading @@ -88,6 +88,8 @@ static int numcards; #define COM9026_REG_W_ADDR_LO 14 /* Control registers for said */ #define COM9026_REG_W_ADDR_HI 15 #define COM9026_REG_R_STATION 1 /* Station ID */ static int com90xx_skip_probe __initdata = 0; /* Module parameters */ Loading Loading @@ -239,9 +241,10 @@ static void __init com90xx_probe(void) numprint = 0; goto out1; } if (readb(base) != TESTvalue) { if (arcnet_readb(base, COM9026_REG_R_STATUS) != TESTvalue) { arc_cont(D_INIT_REASONS, "(%02Xh != %02Xh)\n", readb(base), TESTvalue); arcnet_readb(base, COM9026_REG_R_STATUS), TESTvalue); arc_cont(D_INIT_REASONS, "S3: "); if (BUGLVL(D_INIT_REASONS)) numprint = 0; Loading @@ -252,8 +255,8 @@ static void __init com90xx_probe(void) * in another pass through this loop, they will be discarded * because *cptr != TESTvalue. */ writeb(0x42, base); if (readb(base) != 0x42) { arcnet_writeb(0x42, base, COM9026_REG_W_INTMASK); if (arcnet_readb(base, COM9026_REG_R_STATUS) != 0x42) { arc_cont(D_INIT_REASONS, "(read only)\n"); arc_cont(D_INIT_REASONS, "S3: "); goto out2; Loading Loading @@ -384,7 +387,8 @@ static void __init com90xx_probe(void) mdelay(RESETtime); } else { /* just one shmem and port, assume they match */ writeb(TESTvalue, iomem[0]); arcnet_writeb(TESTvalue, iomem[0], COM9026_REG_W_INTMASK); } #else arcnet_inb(ioaddr, COM9026_REG_R_RESET); Loading @@ -395,7 +399,7 @@ static void __init com90xx_probe(void) u_long ptr = shmems[index]; void __iomem *base = iomem[index]; if (readb(base) == TESTvalue) { /* found one */ if (arcnet_readb(base, COM9026_REG_R_STATUS) == TESTvalue) { /* found one */ arc_cont(D_INIT, "%lXh)\n", *p); openparen = 0; Loading @@ -409,7 +413,8 @@ static void __init com90xx_probe(void) iomem[index] = iomem[numshmems]; break; /* go to the next I/O port */ } else { arc_cont(D_INIT_REASONS, "%Xh-", readb(base)); arc_cont(D_INIT_REASONS, "%Xh-", arcnet_readb(base, COM9026_REG_R_STATUS)); } } Loading @@ -431,7 +436,7 @@ static void __init com90xx_probe(void) /* Now put back TESTvalue on all leftover shmems. */ for (index = 0; index < numshmems; index++) { writeb(TESTvalue, iomem[index]); arcnet_writeb(TESTvalue, iomem[index], COM9026_REG_W_INTMASK); iounmap(iomem[index]); release_mem_region(shmems[index], MIRROR_SIZE); } Loading @@ -449,7 +454,7 @@ static int check_mirror(unsigned long addr, size_t size) p = ioremap(addr, size); if (p) { if (readb(p) == TESTvalue) if (arcnet_readb(p, COM9026_REG_R_STATUS) == TESTvalue) res = 1; else res = 0; Loading Loading @@ -487,7 +492,7 @@ static int __init com90xx_found(int ioaddr, int airq, u_long shmem, * 2k (or there are no mirrors at all) but on some, it's 4k. */ mirror_size = MIRROR_SIZE; if (readb(p) == TESTvalue && if (arcnet_readb(p, COM9026_REG_R_STATUS) == TESTvalue && check_mirror(shmem - MIRROR_SIZE, MIRROR_SIZE) == 0 && check_mirror(shmem - 2 * MIRROR_SIZE, MIRROR_SIZE) == 1) mirror_size = 2 * MIRROR_SIZE; Loading Loading @@ -537,7 +542,7 @@ static int __init com90xx_found(int ioaddr, int airq, u_long shmem, } /* get and check the station ID from offset 1 in shmem */ dev->dev_addr[0] = readb(lp->mem_start + 1); dev->dev_addr[0] = arcnet_readb(lp->mem_start, COM9026_REG_R_STATION); dev->base_addr = ioaddr; Loading Loading @@ -616,7 +621,7 @@ static int com90xx_reset(struct net_device *dev, int really_reset) #endif /* verify that the ARCnet signature byte is present */ if (readb(lp->mem_start) != TESTvalue) { if (arcnet_readb(lp->mem_start, COM9026_REG_R_STATUS) != TESTvalue) { if (really_reset) arc_printk(D_NORMAL, dev, "reset failed: TESTvalue not present.\n"); return 1; Loading Loading
drivers/net/arcnet/com90xx.c +17 −12 Original line number Diff line number Diff line Loading @@ -88,6 +88,8 @@ static int numcards; #define COM9026_REG_W_ADDR_LO 14 /* Control registers for said */ #define COM9026_REG_W_ADDR_HI 15 #define COM9026_REG_R_STATION 1 /* Station ID */ static int com90xx_skip_probe __initdata = 0; /* Module parameters */ Loading Loading @@ -239,9 +241,10 @@ static void __init com90xx_probe(void) numprint = 0; goto out1; } if (readb(base) != TESTvalue) { if (arcnet_readb(base, COM9026_REG_R_STATUS) != TESTvalue) { arc_cont(D_INIT_REASONS, "(%02Xh != %02Xh)\n", readb(base), TESTvalue); arcnet_readb(base, COM9026_REG_R_STATUS), TESTvalue); arc_cont(D_INIT_REASONS, "S3: "); if (BUGLVL(D_INIT_REASONS)) numprint = 0; Loading @@ -252,8 +255,8 @@ static void __init com90xx_probe(void) * in another pass through this loop, they will be discarded * because *cptr != TESTvalue. */ writeb(0x42, base); if (readb(base) != 0x42) { arcnet_writeb(0x42, base, COM9026_REG_W_INTMASK); if (arcnet_readb(base, COM9026_REG_R_STATUS) != 0x42) { arc_cont(D_INIT_REASONS, "(read only)\n"); arc_cont(D_INIT_REASONS, "S3: "); goto out2; Loading Loading @@ -384,7 +387,8 @@ static void __init com90xx_probe(void) mdelay(RESETtime); } else { /* just one shmem and port, assume they match */ writeb(TESTvalue, iomem[0]); arcnet_writeb(TESTvalue, iomem[0], COM9026_REG_W_INTMASK); } #else arcnet_inb(ioaddr, COM9026_REG_R_RESET); Loading @@ -395,7 +399,7 @@ static void __init com90xx_probe(void) u_long ptr = shmems[index]; void __iomem *base = iomem[index]; if (readb(base) == TESTvalue) { /* found one */ if (arcnet_readb(base, COM9026_REG_R_STATUS) == TESTvalue) { /* found one */ arc_cont(D_INIT, "%lXh)\n", *p); openparen = 0; Loading @@ -409,7 +413,8 @@ static void __init com90xx_probe(void) iomem[index] = iomem[numshmems]; break; /* go to the next I/O port */ } else { arc_cont(D_INIT_REASONS, "%Xh-", readb(base)); arc_cont(D_INIT_REASONS, "%Xh-", arcnet_readb(base, COM9026_REG_R_STATUS)); } } Loading @@ -431,7 +436,7 @@ static void __init com90xx_probe(void) /* Now put back TESTvalue on all leftover shmems. */ for (index = 0; index < numshmems; index++) { writeb(TESTvalue, iomem[index]); arcnet_writeb(TESTvalue, iomem[index], COM9026_REG_W_INTMASK); iounmap(iomem[index]); release_mem_region(shmems[index], MIRROR_SIZE); } Loading @@ -449,7 +454,7 @@ static int check_mirror(unsigned long addr, size_t size) p = ioremap(addr, size); if (p) { if (readb(p) == TESTvalue) if (arcnet_readb(p, COM9026_REG_R_STATUS) == TESTvalue) res = 1; else res = 0; Loading Loading @@ -487,7 +492,7 @@ static int __init com90xx_found(int ioaddr, int airq, u_long shmem, * 2k (or there are no mirrors at all) but on some, it's 4k. */ mirror_size = MIRROR_SIZE; if (readb(p) == TESTvalue && if (arcnet_readb(p, COM9026_REG_R_STATUS) == TESTvalue && check_mirror(shmem - MIRROR_SIZE, MIRROR_SIZE) == 0 && check_mirror(shmem - 2 * MIRROR_SIZE, MIRROR_SIZE) == 1) mirror_size = 2 * MIRROR_SIZE; Loading Loading @@ -537,7 +542,7 @@ static int __init com90xx_found(int ioaddr, int airq, u_long shmem, } /* get and check the station ID from offset 1 in shmem */ dev->dev_addr[0] = readb(lp->mem_start + 1); dev->dev_addr[0] = arcnet_readb(lp->mem_start, COM9026_REG_R_STATION); dev->base_addr = ioaddr; Loading Loading @@ -616,7 +621,7 @@ static int com90xx_reset(struct net_device *dev, int really_reset) #endif /* verify that the ARCnet signature byte is present */ if (readb(lp->mem_start) != TESTvalue) { if (arcnet_readb(lp->mem_start, COM9026_REG_R_STATUS) != TESTvalue) { if (really_reset) arc_printk(D_NORMAL, dev, "reset failed: TESTvalue not present.\n"); return 1; Loading