X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fatm%2Fidt77252.c;h=3d8764ab282575534d349243639ddb2e46bf4561;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=3959cf83e5ae9bae092f30d7fd43791208987685;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c index 3959cf83e..3d8764ab2 100644 --- a/drivers/atm/idt77252.c +++ b/drivers/atm/idt77252.c @@ -1266,8 +1266,9 @@ idt77252_rx_raw(struct idt77252_dev *card) head = IDT77252_PRV_PADDR(queue) + (queue->data - queue->head - 16); tail = readl(SAR_REG_RAWCT); - pci_dma_sync_single(card->pcidev, IDT77252_PRV_PADDR(queue), - queue->end - queue->head - 16, PCI_DMA_FROMDEVICE); + pci_dma_sync_single_for_cpu(card->pcidev, IDT77252_PRV_PADDR(queue), + queue->end - queue->head - 16, + PCI_DMA_FROMDEVICE); while (head != tail) { unsigned int vpi, vci, pti; @@ -1360,10 +1361,10 @@ drop: if (next) { card->raw_cell_head = next; queue = card->raw_cell_head; - pci_dma_sync_single(card->pcidev, - IDT77252_PRV_PADDR(queue), - queue->end - queue->data, - PCI_DMA_FROMDEVICE); + pci_dma_sync_single_for_cpu(card->pcidev, + IDT77252_PRV_PADDR(queue), + queue->end - queue->data, + PCI_DMA_FROMDEVICE); } else { card->raw_cell_head = NULL; printk("%s: raw cell queue overrun\n", @@ -3135,14 +3136,11 @@ deinit_card(struct idt77252_dev *card) } } - if (card->soft_tst) - vfree(card->soft_tst); + vfree(card->soft_tst); - if (card->scd2vc) - vfree(card->scd2vc); + vfree(card->scd2vc); - if (card->vcs) - vfree(card->vcs); + vfree(card->vcs); if (card->raw_cell_hnd) { pci_free_consistent(card->pcidev, 2 * sizeof(u32), @@ -3168,7 +3166,7 @@ deinit_card(struct idt77252_dev *card) } if (card->membase) - iounmap((void *) card->membase); + iounmap(card->membase); clear_bit(IDT77252_BIT_INIT, &card->flags); DIPRINTK("%s: Card deinitialized.\n", card->name); @@ -3684,9 +3682,9 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) int i, err; - if (pci_enable_device(pcidev)) { + if ((err = pci_enable_device(pcidev))) { printk("idt77252: can't enable PCI device at %s\n", pci_name(pcidev)); - return -ENODEV; + return err; } if (pci_read_config_word(pcidev, PCI_REVISION_ID, &revision)) { @@ -3802,7 +3800,7 @@ err_out_deinit_card: deinit_card(card); err_out_iounmap: - iounmap((void *) card->membase); + iounmap(card->membase); err_out_free_card: kfree(card); @@ -3819,6 +3817,8 @@ static struct pci_device_id idt77252_pci_tbl[] = { 0, } }; +MODULE_DEVICE_TABLE(pci, idt77252_pci_tbl); + static struct pci_driver idt77252_driver = { .name = "idt77252", .id_table = idt77252_pci_tbl, @@ -3840,11 +3840,7 @@ static int __init idt77252_init(void) return -EIO; } - if (pci_register_driver(&idt77252_driver) > 0) - return 0; - - pci_unregister_driver(&idt77252_driver); - return -ENODEV; + return pci_register_driver(&idt77252_driver); } static void __exit idt77252_exit(void) @@ -3874,10 +3870,10 @@ module_exit(idt77252_exit); MODULE_LICENSE("GPL"); -MODULE_PARM(vpibits, "i"); +module_param(vpibits, uint, 0); MODULE_PARM_DESC(vpibits, "number of VPI bits supported (0, 1, or 2)"); #ifdef CONFIG_ATM_IDT77252_DEBUG -MODULE_PARM(debug, "i"); +module_param(debug, ulong, 0644); MODULE_PARM_DESC(debug, "debug bitmap, see drivers/atm/idt77252.h"); #endif