MODULE_AUTHOR("Stelian Pop");
MODULE_LICENSE("GPL");
MODULE_PARM_DESC(id,"ID-String of the driver");
-MODULE_PARM(id,"s");
+module_param(id, charp, 0);
/*
* Finds a board by its driver ID.
tpam_card *card, *c;
int i, err;
- if (pci_enable_device(dev)) {
+ if ((err = pci_enable_device(dev))) {
printk(KERN_ERR "TurboPAM: can't enable PCI device at %s\n",
pci_name(dev));
- return -ENODEV;
+ return err;
}
/* allocate memory for the board structure */
memset((char *)card, 0, sizeof(tpam_card));
card->irq = dev->irq;
- card->lock = SPIN_LOCK_UNLOCKED;
+ spin_lock_init(&card->lock);
sprintf(card->interface.id, "%s%d", id, cards_num);
/* request interrupt */
}
/* remap board memory */
- if (!(card->bar0 = (unsigned long) ioremap(pci_resource_start(dev, 0),
+ if (!(card->bar0 = ioremap(pci_resource_start(dev, 0),
0x800000))) {
printk(KERN_ERR "TurboPAM: tpam_register_card: "
"unable to remap bar0\n");
readl(card->bar0 + TPAM_RESETPAM_REGISTER);
/* initialisation magic :-( */
- copy_to_pam_dword(card, (void *)0x01800008, 0x00000030);
- copy_to_pam_dword(card, (void *)0x01800010, 0x00000030);
- copy_to_pam_dword(card, (void *)0x01800014, 0x42240822);
- copy_to_pam_dword(card, (void *)0x01800018, 0x07114000);
- copy_to_pam_dword(card, (void *)0x0180001c, 0x00000400);
- copy_to_pam_dword(card, (void *)0x01840070, 0x00000010);
+ copy_to_pam_dword(card, 0x01800008, 0x00000030);
+ copy_to_pam_dword(card, 0x01800010, 0x00000030);
+ copy_to_pam_dword(card, 0x01800014, 0x42240822);
+ copy_to_pam_dword(card, 0x01800018, 0x07114000);
+ copy_to_pam_dword(card, 0x0180001c, 0x00000400);
+ copy_to_pam_dword(card, 0x01840070, 0x00000010);
/* fill the ISDN link layer structure */
card->interface.owner = THIS_MODULE;
return 0;
err_out_iounmap:
- iounmap((void *)card->bar0);
+ iounmap(card->bar0);
err_out_free_irq:
free_irq(card->irq, card);
free_irq(card->irq, card);
/* release mapped memory */
- iounmap((void *)card->bar0);
+ iounmap(card->bar0);
pci_disable_device(pcidev);
}