summaryrefslogtreecommitdiffstats
path: root/drivers/vfio/platform/vfio_platform_private.h
diff options
context:
space:
mode:
authorAntonios Motakis <a.motakis@virtualopensystems.com>2015-03-16 14:08:48 -0600
committerAlex Williamson <alex.williamson@redhat.com>2015-03-16 14:08:48 -0600
commit682704c41e6d2238c1fb5c6ab83eedadd876fa0e (patch)
treea8a87b3d65f9f13115a4d2424ea78d8d8389e698 /drivers/vfio/platform/vfio_platform_private.h
parentfad4d5b1f042a659e07ceba3a6d1744b30f8ff7c (diff)
downloadop-kernel-dev-682704c41e6d2238c1fb5c6ab83eedadd876fa0e.zip
op-kernel-dev-682704c41e6d2238c1fb5c6ab83eedadd876fa0e.tar.gz
vfio/platform: return IRQ info
Return information for the interrupts exposed by the device. This patch extends VFIO_DEVICE_GET_INFO with the number of IRQs and enables VFIO_DEVICE_GET_IRQ_INFO. Signed-off-by: Antonios Motakis <a.motakis@virtualopensystems.com> Signed-off-by: Baptiste Reynal <b.reynal@virtualopensystems.com> Reviewed-by: Eric Auger <eric.auger@linaro.org> Tested-by: Eric Auger <eric.auger@linaro.org> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio/platform/vfio_platform_private.h')
-rw-r--r--drivers/vfio/platform/vfio_platform_private.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/vfio/platform/vfio_platform_private.h b/drivers/vfio/platform/vfio_platform_private.h
index 97c78f9..a2e286e 100644
--- a/drivers/vfio/platform/vfio_platform_private.h
+++ b/drivers/vfio/platform/vfio_platform_private.h
@@ -27,6 +27,11 @@
#define VFIO_PLATFORM_INDEX_TO_OFFSET(index) \
((u64)(index) << VFIO_PLATFORM_OFFSET_SHIFT)
+struct vfio_platform_irq {
+ u32 flags;
+ u32 count;
+};
+
struct vfio_platform_region {
u64 addr;
resource_size_t size;
@@ -40,6 +45,8 @@ struct vfio_platform_region {
struct vfio_platform_device {
struct vfio_platform_region *regions;
u32 num_regions;
+ struct vfio_platform_irq *irqs;
+ u32 num_irqs;
int refcnt;
/*
@@ -59,4 +66,7 @@ extern int vfio_platform_probe_common(struct vfio_platform_device *vdev,
extern struct vfio_platform_device *vfio_platform_remove_common
(struct device *dev);
+extern int vfio_platform_irq_init(struct vfio_platform_device *vdev);
+extern void vfio_platform_irq_cleanup(struct vfio_platform_device *vdev);
+
#endif /* VFIO_PLATFORM_PRIVATE_H */
OpenPOWER on IntegriCloud