summaryrefslogtreecommitdiff
path: root/drivers/s390
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2022-09-23 12:26:50 +0300
committerAlex Williamson <alex.williamson@redhat.com>2022-10-04 21:06:58 +0300
commitf2fbc72e6da4f8e01fe5fe3d6871a791e76271c3 (patch)
treeee1b8729387da228a9f23f5a2d7be303cad86155 /drivers/s390
parent0bc79069ccbdbe26492493dd0c4e38b7cadf8ad5 (diff)
downloadlinux-f2fbc72e6da4f8e01fe5fe3d6871a791e76271c3.tar.xz
vfio/mdev: consolidate all the available_instance sysfs into the core code
Every driver just print a number, simply add a method to the mdev_driver to return it and provide a standard sysfs show function. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com> Reviewed-by: Eric Farman <farman@linux.ibm.com> Link: https://lore.kernel.org/r/20220923092652.100656-13-hch@lst.de Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/cio/vfio_ccw_ops.c14
-rw-r--r--drivers/s390/crypto/vfio_ap_ops.c16
2 files changed, 6 insertions, 24 deletions
diff --git a/drivers/s390/cio/vfio_ccw_ops.c b/drivers/s390/cio/vfio_ccw_ops.c
index 394aab60dbd0..559ca1805592 100644
--- a/drivers/s390/cio/vfio_ccw_ops.c
+++ b/drivers/s390/cio/vfio_ccw_ops.c
@@ -44,20 +44,12 @@ static void vfio_ccw_dma_unmap(struct vfio_device *vdev, u64 iova, u64 length)
vfio_ccw_mdev_reset(private);
}
-static ssize_t available_instances_show(struct mdev_type *mtype,
- struct mdev_type_attribute *attr,
- char *buf)
+static unsigned int vfio_ccw_get_available(struct mdev_type *mtype)
{
struct vfio_ccw_private *private = dev_get_drvdata(mtype->parent->dev);
- return sprintf(buf, "%d\n", atomic_read(&private->avail));
+ return atomic_read(&private->avail);
}
-static MDEV_TYPE_ATTR_RO(available_instances);
-
-static const struct attribute *mdev_types_attrs[] = {
- &mdev_type_attr_available_instances.attr,
- NULL,
-};
static int vfio_ccw_mdev_init_dev(struct vfio_device *vdev)
{
@@ -620,5 +612,5 @@ struct mdev_driver vfio_ccw_mdev_driver = {
},
.probe = vfio_ccw_mdev_probe,
.remove = vfio_ccw_mdev_remove,
- .types_attrs = mdev_types_attrs,
+ .get_available = vfio_ccw_get_available,
};
diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
index 5d8dd7e837f3..8606f5d75188 100644
--- a/drivers/s390/crypto/vfio_ap_ops.c
+++ b/drivers/s390/crypto/vfio_ap_ops.c
@@ -790,21 +790,11 @@ static void vfio_ap_mdev_remove(struct mdev_device *mdev)
vfio_put_device(&matrix_mdev->vdev);
}
-static ssize_t available_instances_show(struct mdev_type *mtype,
- struct mdev_type_attribute *attr,
- char *buf)
+static unsigned int vfio_ap_mdev_get_available(struct mdev_type *mtype)
{
- return sprintf(buf, "%d\n",
- atomic_read(&matrix_dev->available_instances));
+ return atomic_read(&matrix_dev->available_instances);
}
-static MDEV_TYPE_ATTR_RO(available_instances);
-
-static const struct attribute *vfio_ap_mdev_type_attrs[] = {
- &mdev_type_attr_available_instances.attr,
- NULL,
-};
-
#define MDEV_SHARING_ERR "Userspace may not re-assign queue %02lx.%04lx " \
"already assigned to %s"
@@ -1790,7 +1780,7 @@ static struct mdev_driver vfio_ap_matrix_driver = {
},
.probe = vfio_ap_mdev_probe,
.remove = vfio_ap_mdev_remove,
- .types_attrs = vfio_ap_mdev_type_attrs,
+ .get_available = vfio_ap_mdev_get_available,
};
int vfio_ap_mdev_register(void)