예제 #1
0
static void xilly_remove(struct pci_dev *pdev)
{
	struct xilly_endpoint *endpoint = pci_get_drvdata(pdev);

	xillybus_endpoint_remove(endpoint);

	xillybus_do_cleanup(&endpoint->cleanup, endpoint);
}
예제 #2
0
static int xilly_drv_remove(struct platform_device *op)
{
    struct device *dev = &op->dev;
    struct xilly_endpoint *endpoint = dev_get_drvdata(dev);

    xillybus_endpoint_remove(endpoint);

    return 0;
}
예제 #3
0
static void xilly_remove(struct pci_dev *pdev)
{
	struct xilly_endpoint *endpoint = pci_get_drvdata(pdev);

	xillybus_endpoint_remove(endpoint);

	free_irq(pdev->irq, endpoint);

	pci_disable_msi(pdev);
	pci_iounmap(pdev, endpoint->registers);
	pci_release_regions(pdev);
	pci_disable_device(pdev);

	xillybus_do_cleanup(&endpoint->cleanup, endpoint);

	kfree(endpoint);
}
static int xilly_drv_remove(struct platform_device *op)
{
	struct device *dev = &op->dev;
	struct xilly_endpoint *endpoint = dev_get_drvdata(dev);
	int irq = irq_of_parse_and_map(dev->of_node, 0);

	xillybus_endpoint_remove(endpoint);

	free_irq(irq, endpoint);

	iounmap(endpoint->registers);
	release_mem_region(endpoint->res.start,
			   resource_size(&endpoint->res));

	xillybus_do_cleanup(&endpoint->cleanup, endpoint);

	kfree(endpoint);

	return 0;
}