static int hva_remove(struct platform_device *pdev) { struct hva_dev *hva = platform_get_drvdata(pdev); struct device *dev = hva_to_dev(hva); hva_unregister_device(hva); destroy_workqueue(hva->work_queue); hva_hw_remove(hva); v4l2_device_unregister(&hva->v4l2_dev); dev_info(dev, "%s %s removed\n", HVA_PREFIX, pdev->name); return 0; }
static int hva_remove(struct platform_device *pdev) { struct hva_dev *hva = platform_get_drvdata(pdev); struct device *dev = hva_to_dev(hva); hva_unregister_device(hva); destroy_workqueue(hva->work_queue); hva_hw_remove(hva); #ifdef CONFIG_VIDEO_STI_HVA_DEBUGFS hva_debugfs_remove(hva); #endif v4l2_device_unregister(&hva->v4l2_dev); dev_info(dev, "%s %s removed\n", HVA_PREFIX, pdev->name); return 0; }