|
@@ -140,7 +140,7 @@
|
|
|
* #define HFC_REGISTER_DEBUG
|
|
|
*/
|
|
|
|
|
|
-static const char *hfcmulti_revision = "2.00";
|
|
|
+static const char *hfcmulti_revision = "2.02";
|
|
|
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/pci.h>
|
|
@@ -427,12 +427,12 @@ write_fifo_regio(struct hfc_multi *hc, u_char *data, int len)
|
|
|
{
|
|
|
outb(A_FIFO_DATA0, (hc->pci_iobase)+4);
|
|
|
while (len>>2) {
|
|
|
- outl(*(u32 *)data, hc->pci_iobase);
|
|
|
+ outl(cpu_to_le32(*(u32 *)data), hc->pci_iobase);
|
|
|
data += 4;
|
|
|
len -= 4;
|
|
|
}
|
|
|
while (len>>1) {
|
|
|
- outw(*(u16 *)data, hc->pci_iobase);
|
|
|
+ outw(cpu_to_le16(*(u16 *)data), hc->pci_iobase);
|
|
|
data += 2;
|
|
|
len -= 2;
|
|
|
}
|
|
@@ -447,17 +447,19 @@ void
|
|
|
write_fifo_pcimem(struct hfc_multi *hc, u_char *data, int len)
|
|
|
{
|
|
|
while (len>>2) {
|
|
|
- writel(*(u32 *)data, (hc->pci_membase)+A_FIFO_DATA0);
|
|
|
+ writel(cpu_to_le32(*(u32 *)data),
|
|
|
+ hc->pci_membase + A_FIFO_DATA0);
|
|
|
data += 4;
|
|
|
len -= 4;
|
|
|
}
|
|
|
while (len>>1) {
|
|
|
- writew(*(u16 *)data, (hc->pci_membase)+A_FIFO_DATA0);
|
|
|
+ writew(cpu_to_le16(*(u16 *)data),
|
|
|
+ hc->pci_membase + A_FIFO_DATA0);
|
|
|
data += 2;
|
|
|
len -= 2;
|
|
|
}
|
|
|
while (len) {
|
|
|
- writeb(*data, (hc->pci_membase)+A_FIFO_DATA0);
|
|
|
+ writeb(*data, hc->pci_membase + A_FIFO_DATA0);
|
|
|
data++;
|
|
|
len--;
|
|
|
}
|
|
@@ -468,12 +470,12 @@ read_fifo_regio(struct hfc_multi *hc, u_char *data, int len)
|
|
|
{
|
|
|
outb(A_FIFO_DATA0, (hc->pci_iobase)+4);
|
|
|
while (len>>2) {
|
|
|
- *(u32 *)data = inl(hc->pci_iobase);
|
|
|
+ *(u32 *)data = le32_to_cpu(inl(hc->pci_iobase));
|
|
|
data += 4;
|
|
|
len -= 4;
|
|
|
}
|
|
|
while (len>>1) {
|
|
|
- *(u16 *)data = inw(hc->pci_iobase);
|
|
|
+ *(u16 *)data = le16_to_cpu(inw(hc->pci_iobase));
|
|
|
data += 2;
|
|
|
len -= 2;
|
|
|
}
|
|
@@ -490,18 +492,18 @@ read_fifo_pcimem(struct hfc_multi *hc, u_char *data, int len)
|
|
|
{
|
|
|
while (len>>2) {
|
|
|
*(u32 *)data =
|
|
|
- readl((hc->pci_membase)+A_FIFO_DATA0);
|
|
|
+ le32_to_cpu(readl(hc->pci_membase + A_FIFO_DATA0));
|
|
|
data += 4;
|
|
|
len -= 4;
|
|
|
}
|
|
|
while (len>>1) {
|
|
|
*(u16 *)data =
|
|
|
- readw((hc->pci_membase)+A_FIFO_DATA0);
|
|
|
+ le16_to_cpu(readw(hc->pci_membase + A_FIFO_DATA0));
|
|
|
data += 2;
|
|
|
len -= 2;
|
|
|
}
|
|
|
while (len) {
|
|
|
- *data = readb((hc->pci_membase)+A_FIFO_DATA0);
|
|
|
+ *data = readb(hc->pci_membase + A_FIFO_DATA0);
|
|
|
data++;
|
|
|
len--;
|
|
|
}
|
|
@@ -3971,7 +3973,7 @@ open_bchannel(struct hfc_multi *hc, struct dchannel *dch,
|
|
|
struct bchannel *bch;
|
|
|
int ch;
|
|
|
|
|
|
- if (!test_bit(rq->adr.channel, &dch->dev.channelmap[0]))
|
|
|
+ if (!test_channelmap(rq->adr.channel, dch->dev.channelmap))
|
|
|
return -EINVAL;
|
|
|
if (rq->protocol == ISDN_P_NONE)
|
|
|
return -EINVAL;
|
|
@@ -4587,7 +4589,7 @@ init_e1_port(struct hfc_multi *hc, struct hm_map *m)
|
|
|
list_add(&bch->ch.list, &dch->dev.bchannels);
|
|
|
hc->chan[ch].bch = bch;
|
|
|
hc->chan[ch].port = 0;
|
|
|
- test_and_set_bit(bch->nr, &dch->dev.channelmap[0]);
|
|
|
+ set_channelmap(bch->nr, dch->dev.channelmap);
|
|
|
}
|
|
|
/* set optical line type */
|
|
|
if (port[Port_cnt] & 0x001) {
|
|
@@ -4755,7 +4757,7 @@ init_multi_port(struct hfc_multi *hc, int pt)
|
|
|
list_add(&bch->ch.list, &dch->dev.bchannels);
|
|
|
hc->chan[i + ch].bch = bch;
|
|
|
hc->chan[i + ch].port = pt;
|
|
|
- test_and_set_bit(bch->nr, &dch->dev.channelmap[0]);
|
|
|
+ set_channelmap(bch->nr, dch->dev.channelmap);
|
|
|
}
|
|
|
/* set master clock */
|
|
|
if (port[Port_cnt] & 0x001) {
|
|
@@ -5050,12 +5052,12 @@ static void __devexit hfc_remove_pci(struct pci_dev *pdev)
|
|
|
|
|
|
static const struct hm_map hfcm_map[] = {
|
|
|
/*0*/ {VENDOR_BN, "HFC-1S Card (mini PCI)", 4, 1, 1, 3, 0, DIP_4S, 0},
|
|
|
-/*1*/ {VENDOR_BN, "HFC-2S Card", 4, 2, 1, 3, 0, DIP_4S},
|
|
|
+/*1*/ {VENDOR_BN, "HFC-2S Card", 4, 2, 1, 3, 0, DIP_4S, 0},
|
|
|
/*2*/ {VENDOR_BN, "HFC-2S Card (mini PCI)", 4, 2, 1, 3, 0, DIP_4S, 0},
|
|
|
/*3*/ {VENDOR_BN, "HFC-4S Card", 4, 4, 1, 2, 0, DIP_4S, 0},
|
|
|
/*4*/ {VENDOR_BN, "HFC-4S Card (mini PCI)", 4, 4, 1, 2, 0, 0, 0},
|
|
|
/*5*/ {VENDOR_CCD, "HFC-4S Eval (old)", 4, 4, 0, 0, 0, 0, 0},
|
|
|
-/*6*/ {VENDOR_CCD, "HFC-4S IOB4ST", 4, 4, 1, 2, 0, 0, 0},
|
|
|
+/*6*/ {VENDOR_CCD, "HFC-4S IOB4ST", 4, 4, 1, 2, 0, DIP_4S, 0},
|
|
|
/*7*/ {VENDOR_CCD, "HFC-4S", 4, 4, 1, 2, 0, 0, 0},
|
|
|
/*8*/ {VENDOR_DIG, "HFC-4S Card", 4, 4, 0, 2, 0, 0, HFC_IO_MODE_REGIO},
|
|
|
/*9*/ {VENDOR_CCD, "HFC-4S Swyx 4xS0 SX2 QuadBri", 4, 4, 1, 2, 0, 0, 0},
|
|
@@ -5251,9 +5253,6 @@ HFCmulti_init(void)
|
|
|
if (debug & DEBUG_HFCMULTI_INIT)
|
|
|
printk(KERN_DEBUG "%s: init entered\n", __func__);
|
|
|
|
|
|
-#ifdef __BIG_ENDIAN
|
|
|
-#error "not running on big endian machines now"
|
|
|
-#endif
|
|
|
hfc_interrupt = symbol_get(ztdummy_extern_interrupt);
|
|
|
register_interrupt = symbol_get(ztdummy_register_interrupt);
|
|
|
unregister_interrupt = symbol_get(ztdummy_unregister_interrupt);
|