static void ioat_shutdown_functionality(struct pci_dev *pdev) { struct ioat_device *device = pci_get_drvdata(pdev); dev_err(&pdev->dev, "Removing dma and dca services\n"); if (device->dma) { ioat_dma_remove(device->dma); device->dma = NULL; } }
static void __devexit ioat_remove(struct pci_dev *pdev) { struct ioatdma_device *device = pci_get_drvdata(pdev); if (!device) return; dev_err(&pdev->dev, "Removing dma and dca services\n"); if (device->dca) { unregister_dca_provider(device->dca, &pdev->dev); free_dca_provider(device->dca); device->dca = NULL; } ioat_dma_remove(device); }