diff options
Diffstat (limited to 'drivers/vfio/platform/vfio_platform.c')
| -rw-r--r-- | drivers/vfio/platform/vfio_platform.c | 20 | 
1 files changed, 9 insertions, 11 deletions
| diff --git a/drivers/vfio/platform/vfio_platform.c b/drivers/vfio/platform/vfio_platform.c index 9fb6818cea12..e4027799a154 100644 --- a/drivers/vfio/platform/vfio_platform.c +++ b/drivers/vfio/platform/vfio_platform.c @@ -54,23 +54,21 @@ static int vfio_platform_probe(struct platform_device *pdev)  	vdev->reset_required = reset_required;  	ret = vfio_platform_probe_common(vdev, &pdev->dev); -	if (ret) +	if (ret) {  		kfree(vdev); - -	return ret; +		return ret; +	} +	dev_set_drvdata(&pdev->dev, vdev); +	return 0;  }  static int vfio_platform_remove(struct platform_device *pdev)  { -	struct vfio_platform_device *vdev; - -	vdev = vfio_platform_remove_common(&pdev->dev); -	if (vdev) { -		kfree(vdev); -		return 0; -	} +	struct vfio_platform_device *vdev = dev_get_drvdata(&pdev->dev); -	return -EINVAL; +	vfio_platform_remove_common(vdev); +	kfree(vdev); +	return 0;  }  static struct platform_driver vfio_platform_driver = { | 
