aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/vfio
diff options
context:
space:
mode:
authorSinan Kaya <okaya@codeaurora.org>2016-07-19 09:01:45 -0400
committerAlex Williamson <alex.williamson@redhat.com>2016-07-19 12:26:43 -0400
commit5afec27474fdc52e9d80b359ce10fab59c85d131 (patch)
treec9e3d84251b8a56bf54f8e3c6eedeb2b0b7d8617 /drivers/vfio
parenta12a9368e192d56175e49d69360d861025a0f6f7 (diff)
vfio: platform: add extra debug info argument to call reset
Getting ready to bring out extra debug information to the caller so that more verbose information can be printed when an error is observed. Signed-off-by: Sinan Kaya <okaya@codeaurora.org> Reviewed-by: Baptiste Reynal <b.reynal@virtualopensystems.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio')
-rw-r--r--drivers/vfio/platform/vfio_platform_common.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/vfio/platform/vfio_platform_common.c b/drivers/vfio/platform/vfio_platform_common.c
index 716f421d1b01..a9760c2e68ad 100644
--- a/drivers/vfio/platform/vfio_platform_common.c
+++ b/drivers/vfio/platform/vfio_platform_common.c
@@ -161,7 +161,8 @@ static void vfio_platform_regions_cleanup(struct vfio_platform_device *vdev)
161 kfree(vdev->regions); 161 kfree(vdev->regions);
162} 162}
163 163
164static int vfio_platform_call_reset(struct vfio_platform_device *vdev) 164static int vfio_platform_call_reset(struct vfio_platform_device *vdev,
165 const char **extra_dbg)
165{ 166{
166 if (vdev->of_reset) { 167 if (vdev->of_reset) {
167 dev_info(vdev->device, "reset\n"); 168 dev_info(vdev->device, "reset\n");
@@ -179,7 +180,7 @@ static void vfio_platform_release(void *device_data)
179 mutex_lock(&driver_lock); 180 mutex_lock(&driver_lock);
180 181
181 if (!(--vdev->refcnt)) { 182 if (!(--vdev->refcnt)) {
182 vfio_platform_call_reset(vdev); 183 vfio_platform_call_reset(vdev, NULL);
183 vfio_platform_regions_cleanup(vdev); 184 vfio_platform_regions_cleanup(vdev);
184 vfio_platform_irq_cleanup(vdev); 185 vfio_platform_irq_cleanup(vdev);
185 } 186 }
@@ -208,7 +209,7 @@ static int vfio_platform_open(void *device_data)
208 if (ret) 209 if (ret)
209 goto err_irq; 210 goto err_irq;
210 211
211 vfio_platform_call_reset(vdev); 212 vfio_platform_call_reset(vdev, NULL);
212 } 213 }
213 214
214 vdev->refcnt++; 215 vdev->refcnt++;
@@ -340,7 +341,7 @@ static long vfio_platform_ioctl(void *device_data,
340 return ret; 341 return ret;
341 342
342 } else if (cmd == VFIO_DEVICE_RESET) { 343 } else if (cmd == VFIO_DEVICE_RESET) {
343 return vfio_platform_call_reset(vdev); 344 return vfio_platform_call_reset(vdev, NULL);
344 } 345 }
345 346
346 return -ENOTTY; 347 return -ENOTTY;