Ejemplo n.º 1
0
Archivo: gs_usb.c Proyecto: 3null/linux
static void gs_destroy_candev(struct gs_can *dev)
{
	unregister_candev(dev->netdev);
	free_candev(dev->netdev);
	usb_kill_anchored_urbs(&dev->tx_submitted);
	kfree(dev);
}
Ejemplo n.º 2
0
void unregister_c_can_dev(struct net_device *dev)
{
	struct c_can_priv *priv = netdev_priv(dev);

	unregister_candev(dev);

	c_can_pm_runtime_disable(priv);
}
Ejemplo n.º 3
0
/* remove a CAN-FD channel by releasing all of its resources */
static void pciefd_can_remove(struct pciefd_can *priv)
{
	/* unregister (close) the can device to go back to RST mode first */
	unregister_candev(priv->ucan.ndev);

	/* finally, free the candev object */
	free_candev(priv->ucan.ndev);
}
Ejemplo n.º 4
0
void unregister_c_can_dev(struct net_device *dev)
{
	struct c_can_priv *priv = netdev_priv(dev);

	/* disable all interrupts */
	c_can_enable_all_interrupts(priv, DISABLE_ALL_INTERRUPTS);

	unregister_candev(dev);
}
Ejemplo n.º 5
0
static int ti_hecc_remove(struct platform_device *pdev)
{
	struct resource *res;
	struct net_device *ndev = platform_get_drvdata(pdev);
	struct ti_hecc_priv *priv = netdev_priv(ndev);

	unregister_candev(ndev);
	clk_disable(priv->clk);
	clk_put(priv->clk);
	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	iounmap(priv->base);
	release_mem_region(res->start, resource_size(res));
	free_candev(ndev);

	return 0;
}
Ejemplo n.º 6
0
static int __devexit omapl_pru_can_remove(struct platform_device *pdev)
{
	struct resource *res;
	struct net_device *ndev = platform_get_drvdata(pdev);
	struct omapl_pru_can_priv *priv = netdev_priv(ndev);

	omapl_pru_can_stop(ndev);

	pru_can_emulation_exit();
	release_firmware(priv->fw_tx);
	release_firmware(priv->fw_rx);
	clk_put(priv->clk);
	flush_workqueue(priv->pru_can_wQ);
	destroy_workqueue(priv->pru_can_wQ);
	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	iounmap(priv->pru_arm_iomap.pru_io_addr);
	release_mem_region(res->start, resource_size(res));
	unregister_candev(ndev);
	free_candev(ndev);
	platform_set_drvdata(pdev, NULL);
	return 0;
}