linux/drivers/virtio/virtio_input.c

// SPDX-License-Identifier: GPL-2.0-only
#include <linux/module.h>
#include <linux/virtio.h>
#include <linux/virtio_config.h>
#include <linux/input.h>
#include <linux/slab.h>

#include <uapi/linux/virtio_ids.h>
#include <uapi/linux/virtio_input.h>
#include <linux/input/mt.h>

struct virtio_input {};

static void virtinput_queue_evtbuf(struct virtio_input *vi,
				   struct virtio_input_event *evtbuf)
{}

static void virtinput_recv_events(struct virtqueue *vq)
{}

/*
 * On error we are losing the status update, which isn't critical as
 * this is typically used for stuff like keyboard leds.
 */
static int virtinput_send_status(struct virtio_input *vi,
				 u16 type, u16 code, s32 value)
{}

static void virtinput_recv_status(struct virtqueue *vq)
{}

static int virtinput_status(struct input_dev *idev, unsigned int type,
			    unsigned int code, int value)
{}

static u8 virtinput_cfg_select(struct virtio_input *vi,
			       u8 select, u8 subsel)
{}

static void virtinput_cfg_bits(struct virtio_input *vi, int select, int subsel,
			       unsigned long *bits, unsigned int bitcount)
{}

static void virtinput_cfg_abs(struct virtio_input *vi, int abs)
{}

static int virtinput_init_vqs(struct virtio_input *vi)
{}

static void virtinput_fill_evt(struct virtio_input *vi)
{}

static int virtinput_probe(struct virtio_device *vdev)
{}

static void virtinput_remove(struct virtio_device *vdev)
{}

#ifdef CONFIG_PM_SLEEP
static int virtinput_freeze(struct virtio_device *vdev)
{}

static int virtinput_restore(struct virtio_device *vdev)
{}
#endif

static unsigned int features[] =;
static const struct virtio_device_id id_table[] =;

static struct virtio_driver virtio_input_driver =;

module_virtio_driver();
MODULE_DEVICE_TABLE(virtio, id_table);

MODULE_LICENSE();
MODULE_DESCRIPTION();
MODULE_AUTHOR();