dmabuf->buforder = order;
/* now mark the pages as reserved; otherwise */
- /* remap_pfn_range doesn't do what we want */
+ /* remap_page_range doesn't do what we want */
pend = virt_to_page(rawbuf + (PAGE_SIZE << order) - 1);
for (page = virt_to_page(rawbuf); page <= pend; page++)
SetPageReserved(page);
if (size > (PAGE_SIZE << dmabuf->buforder))
goto out;
ret = -EAGAIN;
- if (remap_pfn_range(vma, vma->vm_start,
- virt_to_phys(dmabuf->rawbuf) >> PAGE_SHIFT,
+ if (remap_page_range(vma, vma->vm_start, virt_to_phys(dmabuf->rawbuf),
size, vma->vm_page_prot))
goto out;
dmabuf->mapped = 1;
"5050 PCI Audio, version " DRIVER_VERSION ", " __TIME__ " "
__DATE__ "\n");
- return pci_register_driver(&trident_pci_driver);
+ if (!pci_register_driver(&trident_pci_driver)) {
+ pci_unregister_driver(&trident_pci_driver);
+ return -ENODEV;
+ }
+ return 0;
}
static void __exit