linux/drivers/input/touchscreen/inexio.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * iNexio serial touchscreen driver
 *
 * Copyright (c) 2008 Richard Lemon
 * Based on the mtouch driver (c) Vojtech Pavlik and Dan Streetman
 */


/*
 * 2008/06/19 Richard Lemon <[email protected]>
 *   Copied mtouch.c and edited for iNexio protocol
 */

#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/input.h>
#include <linux/serio.h>

#define DRIVER_DESC

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

/*
 * Definitions & global arrays.
 */

#define INEXIO_FORMAT_TOUCH_BIT
#define INEXIO_FORMAT_LENGTH
#define INEXIO_RESPONSE_BEGIN_BYTE

/* todo: check specs for max length of all responses */
#define INEXIO_MAX_LENGTH

#define INEXIO_MIN_XC
#define INEXIO_MAX_XC
#define INEXIO_MIN_YC
#define INEXIO_MAX_YC

#define INEXIO_GET_XC(data)
#define INEXIO_GET_YC(data)
#define INEXIO_GET_TOUCHED(data)

/*
 * Per-touchscreen data.
 */

struct inexio {};

static void inexio_process_data(struct inexio *pinexio)
{}

static irqreturn_t inexio_interrupt(struct serio *serio,
		unsigned char data, unsigned int flags)
{}

/*
 * inexio_disconnect() is the opposite of inexio_connect()
 */

static void inexio_disconnect(struct serio *serio)
{}

/*
 * inexio_connect() is the routine that is called when someone adds a
 * new serio device that supports iNexio protocol and registers it as
 * an input device. This is usually accomplished using inputattach.
 */

static int inexio_connect(struct serio *serio, struct serio_driver *drv)
{}

/*
 * The serio driver structure.
 */

static const struct serio_device_id inexio_serio_ids[] =;

MODULE_DEVICE_TABLE(serio, inexio_serio_ids);

static struct serio_driver inexio_drv =;

module_serio_driver();