From: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx> Sent: Friday, July 14, 2023 3:26 AM > > Add a new UIO-based driver that generically supports low speed Hyper-V > VMBus devices. This driver can be bound to VMBus devices by user space > drivers that provide device-specific management. > > The new driver provides the following core functionality, which is > suitable for low speed devices: > * A single VMBus channel for each device > * Ability to specify the VMBus channel ring buffer size for each device > * Host notification via a hypercall instead of monitor bits > > Signed-off-by: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx> > --- > [V3] > - Removed ringbuffer sysfs entry and used uio framework for mmap > - Remove ".id_table = NULL" > - kasprintf -> devm_kasprintf > - Change global variable ring_size to per device > - More checks on value which can be set for ring_size > - Remove driverctl, and used echo command instead for driver documentation > - Remove unnecessary one time use macros > - Change kernel version and date for sysfs documentation > - Update documentation > - Better commit message > > [V2] > - Update driver info in Documentation/driver-api/uio-howto.rst > - Update ring_size sysfs info in Documentation/ABI/stable/sysfs-bus-vmbus > - Remove DRIVER_VERSION > - Remove refcnt > - scnprintf -> sysfs_emit > - sysfs_create_file -> ATTRIBUTE_GROUPS + ".driver.groups"; > - sysfs_create_bin_file -> device_create_bin_file > - dev_notice -> dev_err > - remove MODULE_VERSION > > Documentation/ABI/stable/sysfs-bus-vmbus | 10 ++ > Documentation/driver-api/uio-howto.rst | 54 ++++++ > drivers/uio/Kconfig | 12 ++ > drivers/uio/Makefile | 1 + > drivers/uio/uio_hv_vmbus_client.c | 218 +++++++++++++++++++++++ > 5 files changed, 295 insertions(+) > create mode 100644 drivers/uio/uio_hv_vmbus_client.c > Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>