diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c index 8e5b03161b2f..ea0e4c6de3fb 100644 --- a/drivers/isdn/hisax/hfc_pci.c +++ b/drivers/isdn/hisax/hfc_pci.c @@ -86,7 +86,7 @@ release_io_hfcpci(struct IsdnCardState *cs) pci_free_consistent(cs->hw.hfcpci.dev, 0x8000, cs->hw.hfcpci.fifos, cs->hw.hfcpci.dma); cs->hw.hfcpci.fifos = NULL; - iounmap((void *)cs->hw.hfcpci.pci_io); + iounmap(cs->hw.hfcpci.pci_io); } /********************************************************************************/ @@ -128,7 +128,7 @@ reset_hfcpci(struct IsdnCardState *cs) Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1); /* Clear already pending ints */ - if (Read_hfc(cs, HFCPCI_INT_S1)); + Read_hfc(cs, HFCPCI_INT_S1); Write_hfc(cs, HFCPCI_STATES, HFCPCI_LOAD_STATE | 2); /* HFC ST 2 */ udelay(10); @@ -158,7 +158,7 @@ reset_hfcpci(struct IsdnCardState *cs) /* Finally enable IRQ output */ cs->hw.hfcpci.int_m2 = HFCPCI_IRQ_ENABLE; Write_hfc(cs, HFCPCI_INT_M2, cs->hw.hfcpci.int_m2); - if (Read_hfc(cs, HFCPCI_INT_S1)); + Read_hfc(cs, HFCPCI_INT_S1); } /***************************************************/ @@ -1537,7 +1537,7 @@ hfcpci_bh(struct work_struct *work) cs->hw.hfcpci.int_m1 &= ~HFCPCI_INTS_TIMER; Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1); /* Clear already pending ints */ - if (Read_hfc(cs, HFCPCI_INT_S1)); + Read_hfc(cs, HFCPCI_INT_S1); Write_hfc(cs, HFCPCI_STATES, 4 | HFCPCI_LOAD_STATE); udelay(10); Write_hfc(cs, HFCPCI_STATES, 4); @@ -1692,7 +1692,7 @@ setup_hfcpci(struct IsdnCard *card) printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n"); return (0); } - cs->hw.hfcpci.pci_io = (char *)(unsigned long)dev_hfcpci->resource[1].start; + cs->hw.hfcpci.pci_io = ioremap(dev_hfcpci->resource[1].start, 256); printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name); if (!cs->hw.hfcpci.pci_io) { @@ -1716,7 +1716,6 @@ setup_hfcpci(struct IsdnCard *card) return 0; } pci_write_config_dword(cs->hw.hfcpci.dev, 0x80, (u32)cs->hw.hfcpci.dma); - cs->hw.hfcpci.pci_io = ioremap((ulong) cs->hw.hfcpci.pci_io, 256); printk(KERN_INFO "HFC-PCI: defined at mem %p fifo %p(%lx) IRQ %d HZ %d\n", cs->hw.hfcpci.pci_io, diff --git a/drivers/isdn/hisax/hfc_pci.h b/drivers/isdn/hisax/hfc_pci.h index 4e58700a3e61..4c3b3ba35726 100644 --- a/drivers/isdn/hisax/hfc_pci.h +++ b/drivers/isdn/hisax/hfc_pci.h @@ -228,8 +228,8 @@ typedef union { } fifo_area; -#define Write_hfc(a, b, c) (*(((u_char *)a->hw.hfcpci.pci_io) + b) = c) -#define Read_hfc(a, b) (*(((u_char *)a->hw.hfcpci.pci_io) + b)) +#define Write_hfc(a, b, c) (writeb(c, (a->hw.hfcpci.pci_io) + b)) +#define Read_hfc(a, b) (readb((a->hw.hfcpci.pci_io) + b)) extern void main_irq_hcpci(struct BCState *bcs); extern void releasehfcpci(struct IsdnCardState *cs); diff --git a/drivers/isdn/hisax/hfc_sx.c b/drivers/isdn/hisax/hfc_sx.c index 4d3b4b2f2612..12af628d9b2c 100644 --- a/drivers/isdn/hisax/hfc_sx.c +++ b/drivers/isdn/hisax/hfc_sx.c @@ -381,7 +381,7 @@ reset_hfcsx(struct IsdnCardState *cs) Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1); /* Clear already pending ints */ - if (Read_hfc(cs, HFCSX_INT_S1)); + Read_hfc(cs, HFCSX_INT_S1); Write_hfc(cs, HFCSX_STATES, HFCSX_LOAD_STATE | 2); /* HFC ST 2 */ udelay(10); @@ -411,7 +411,7 @@ reset_hfcsx(struct IsdnCardState *cs) /* Finally enable IRQ output */ cs->hw.hfcsx.int_m2 = HFCSX_IRQ_ENABLE; Write_hfc(cs, HFCSX_INT_M2, cs->hw.hfcsx.int_m2); - if (Read_hfc(cs, HFCSX_INT_S2)); + Read_hfc(cs, HFCSX_INT_S2); } /***************************************************/ @@ -1288,7 +1288,7 @@ hfcsx_bh(struct work_struct *work) cs->hw.hfcsx.int_m1 &= ~HFCSX_INTS_TIMER; Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1); /* Clear already pending ints */ - if (Read_hfc(cs, HFCSX_INT_S1)); + Read_hfc(cs, HFCSX_INT_S1); Write_hfc(cs, HFCSX_STATES, 4 | HFCSX_LOAD_STATE); udelay(10); diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h index 338d0408b377..40080e06421c 100644 --- a/drivers/isdn/hisax/hisax.h +++ b/drivers/isdn/hisax/hisax.h @@ -703,7 +703,7 @@ struct hfcPCI_hw { unsigned char nt_mode; int nt_timer; struct pci_dev *dev; - unsigned char *pci_io; /* start of PCI IO memory */ + void __iomem *pci_io; /* start of PCI IO memory */ dma_addr_t dma; /* dma handle for Fifos */ void *fifos; /* FIFO memory */ int last_bfifo_cnt[2]; /* marker saving last b-fifo frame count */