aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/isdn/hisax/hfc_pci.c11
-rw-r--r--drivers/isdn/hisax/hfc_pci.h4
-rw-r--r--drivers/isdn/hisax/hfc_sx.c6
-rw-r--r--drivers/isdn/hisax/hisax.h2
4 files changed, 11 insertions, 12 deletions
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)
86 pci_free_consistent(cs->hw.hfcpci.dev, 0x8000, 86 pci_free_consistent(cs->hw.hfcpci.dev, 0x8000,
87 cs->hw.hfcpci.fifos, cs->hw.hfcpci.dma); 87 cs->hw.hfcpci.fifos, cs->hw.hfcpci.dma);
88 cs->hw.hfcpci.fifos = NULL; 88 cs->hw.hfcpci.fifos = NULL;
89 iounmap((void *)cs->hw.hfcpci.pci_io); 89 iounmap(cs->hw.hfcpci.pci_io);
90} 90}
91 91
92/********************************************************************************/ 92/********************************************************************************/
@@ -128,7 +128,7 @@ reset_hfcpci(struct IsdnCardState *cs)
128 Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1); 128 Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1);
129 129
130 /* Clear already pending ints */ 130 /* Clear already pending ints */
131 if (Read_hfc(cs, HFCPCI_INT_S1)); 131 Read_hfc(cs, HFCPCI_INT_S1);
132 132
133 Write_hfc(cs, HFCPCI_STATES, HFCPCI_LOAD_STATE | 2); /* HFC ST 2 */ 133 Write_hfc(cs, HFCPCI_STATES, HFCPCI_LOAD_STATE | 2); /* HFC ST 2 */
134 udelay(10); 134 udelay(10);
@@ -158,7 +158,7 @@ reset_hfcpci(struct IsdnCardState *cs)
158 /* Finally enable IRQ output */ 158 /* Finally enable IRQ output */
159 cs->hw.hfcpci.int_m2 = HFCPCI_IRQ_ENABLE; 159 cs->hw.hfcpci.int_m2 = HFCPCI_IRQ_ENABLE;
160 Write_hfc(cs, HFCPCI_INT_M2, cs->hw.hfcpci.int_m2); 160 Write_hfc(cs, HFCPCI_INT_M2, cs->hw.hfcpci.int_m2);
161 if (Read_hfc(cs, HFCPCI_INT_S1)); 161 Read_hfc(cs, HFCPCI_INT_S1);
162} 162}
163 163
164/***************************************************/ 164/***************************************************/
@@ -1537,7 +1537,7 @@ hfcpci_bh(struct work_struct *work)
1537 cs->hw.hfcpci.int_m1 &= ~HFCPCI_INTS_TIMER; 1537 cs->hw.hfcpci.int_m1 &= ~HFCPCI_INTS_TIMER;
1538 Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1); 1538 Write_hfc(cs, HFCPCI_INT_M1, cs->hw.hfcpci.int_m1);
1539 /* Clear already pending ints */ 1539 /* Clear already pending ints */
1540 if (Read_hfc(cs, HFCPCI_INT_S1)); 1540 Read_hfc(cs, HFCPCI_INT_S1);
1541 Write_hfc(cs, HFCPCI_STATES, 4 | HFCPCI_LOAD_STATE); 1541 Write_hfc(cs, HFCPCI_STATES, 4 | HFCPCI_LOAD_STATE);
1542 udelay(10); 1542 udelay(10);
1543 Write_hfc(cs, HFCPCI_STATES, 4); 1543 Write_hfc(cs, HFCPCI_STATES, 4);
@@ -1692,7 +1692,7 @@ setup_hfcpci(struct IsdnCard *card)
1692 printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n"); 1692 printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n");
1693 return (0); 1693 return (0);
1694 } 1694 }
1695 cs->hw.hfcpci.pci_io = (char *)(unsigned long)dev_hfcpci->resource[1].start; 1695 cs->hw.hfcpci.pci_io = ioremap(dev_hfcpci->resource[1].start, 256);
1696 printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name); 1696 printk(KERN_INFO "HiSax: HFC-PCI card manufacturer: %s card name: %s\n", id_list[i].vendor_name, id_list[i].card_name);
1697 1697
1698 if (!cs->hw.hfcpci.pci_io) { 1698 if (!cs->hw.hfcpci.pci_io) {
@@ -1716,7 +1716,6 @@ setup_hfcpci(struct IsdnCard *card)
1716 return 0; 1716 return 0;
1717 } 1717 }
1718 pci_write_config_dword(cs->hw.hfcpci.dev, 0x80, (u32)cs->hw.hfcpci.dma); 1718 pci_write_config_dword(cs->hw.hfcpci.dev, 0x80, (u32)cs->hw.hfcpci.dma);
1719 cs->hw.hfcpci.pci_io = ioremap((ulong) cs->hw.hfcpci.pci_io, 256);
1720 printk(KERN_INFO 1719 printk(KERN_INFO
1721 "HFC-PCI: defined at mem %p fifo %p(%lx) IRQ %d HZ %d\n", 1720 "HFC-PCI: defined at mem %p fifo %p(%lx) IRQ %d HZ %d\n",
1722 cs->hw.hfcpci.pci_io, 1721 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 {
228} fifo_area; 228} fifo_area;
229 229
230 230
231#define Write_hfc(a, b, c) (*(((u_char *)a->hw.hfcpci.pci_io) + b) = c) 231#define Write_hfc(a, b, c) (writeb(c, (a->hw.hfcpci.pci_io) + b))
232#define Read_hfc(a, b) (*(((u_char *)a->hw.hfcpci.pci_io) + b)) 232#define Read_hfc(a, b) (readb((a->hw.hfcpci.pci_io) + b))
233 233
234extern void main_irq_hcpci(struct BCState *bcs); 234extern void main_irq_hcpci(struct BCState *bcs);
235extern void releasehfcpci(struct IsdnCardState *cs); 235extern 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)
381 Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1); 381 Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1);
382 382
383 /* Clear already pending ints */ 383 /* Clear already pending ints */
384 if (Read_hfc(cs, HFCSX_INT_S1)); 384 Read_hfc(cs, HFCSX_INT_S1);
385 385
386 Write_hfc(cs, HFCSX_STATES, HFCSX_LOAD_STATE | 2); /* HFC ST 2 */ 386 Write_hfc(cs, HFCSX_STATES, HFCSX_LOAD_STATE | 2); /* HFC ST 2 */
387 udelay(10); 387 udelay(10);
@@ -411,7 +411,7 @@ reset_hfcsx(struct IsdnCardState *cs)
411 /* Finally enable IRQ output */ 411 /* Finally enable IRQ output */
412 cs->hw.hfcsx.int_m2 = HFCSX_IRQ_ENABLE; 412 cs->hw.hfcsx.int_m2 = HFCSX_IRQ_ENABLE;
413 Write_hfc(cs, HFCSX_INT_M2, cs->hw.hfcsx.int_m2); 413 Write_hfc(cs, HFCSX_INT_M2, cs->hw.hfcsx.int_m2);
414 if (Read_hfc(cs, HFCSX_INT_S2)); 414 Read_hfc(cs, HFCSX_INT_S2);
415} 415}
416 416
417/***************************************************/ 417/***************************************************/
@@ -1288,7 +1288,7 @@ hfcsx_bh(struct work_struct *work)
1288 cs->hw.hfcsx.int_m1 &= ~HFCSX_INTS_TIMER; 1288 cs->hw.hfcsx.int_m1 &= ~HFCSX_INTS_TIMER;
1289 Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1); 1289 Write_hfc(cs, HFCSX_INT_M1, cs->hw.hfcsx.int_m1);
1290 /* Clear already pending ints */ 1290 /* Clear already pending ints */
1291 if (Read_hfc(cs, HFCSX_INT_S1)); 1291 Read_hfc(cs, HFCSX_INT_S1);
1292 1292
1293 Write_hfc(cs, HFCSX_STATES, 4 | HFCSX_LOAD_STATE); 1293 Write_hfc(cs, HFCSX_STATES, 4 | HFCSX_LOAD_STATE);
1294 udelay(10); 1294 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 {
703 unsigned char nt_mode; 703 unsigned char nt_mode;
704 int nt_timer; 704 int nt_timer;
705 struct pci_dev *dev; 705 struct pci_dev *dev;
706 unsigned char *pci_io; /* start of PCI IO memory */ 706 void __iomem *pci_io; /* start of PCI IO memory */
707 dma_addr_t dma; /* dma handle for Fifos */ 707 dma_addr_t dma; /* dma handle for Fifos */
708 void *fifos; /* FIFO memory */ 708 void *fifos; /* FIFO memory */
709 int last_bfifo_cnt[2]; /* marker saving last b-fifo frame count */ 709 int last_bfifo_cnt[2]; /* marker saving last b-fifo frame count */