linux/drivers/input/touchscreen/mtouch.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * MicroTouch (3M) serial touchscreen driver
 *
 * Copyright (c) 2004 Vojtech Pavlik
 */


/*
 * 2005/02/19 Dan Streetman <[email protected]>
 *   Copied elo.c and edited for MicroTouch 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 MTOUCH_FORMAT_TABLET_STATUS_BIT
#define MTOUCH_FORMAT_TABLET_TOUCH_BIT
#define MTOUCH_FORMAT_TABLET_LENGTH
#define MTOUCH_RESPONSE_BEGIN_BYTE
#define MTOUCH_RESPONSE_END_BYTE

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

#define MTOUCH_MIN_XC
#define MTOUCH_MAX_XC
#define MTOUCH_MIN_YC
#define MTOUCH_MAX_YC

#define MTOUCH_GET_XC(data)
#define MTOUCH_GET_YC(data)
#define MTOUCH_GET_TOUCHED(data)

/*
 * Per-touchscreen data.
 */

struct mtouch {};

static void mtouch_process_format_tablet(struct mtouch *mtouch)
{}

static void mtouch_process_response(struct mtouch *mtouch)
{}

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

/*
 * mtouch_disconnect() is the opposite of mtouch_connect()
 */

static void mtouch_disconnect(struct serio *serio)
{}

/*
 * mtouch_connect() is the routine that is called when someone adds a
 * new serio device that supports MicroTouch (Format Tablet) protocol and registers it as
 * an input device.
 */

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

/*
 * The serio driver structure.
 */

static const struct serio_device_id mtouch_serio_ids[] =;

MODULE_DEVICE_TABLE(serio, mtouch_serio_ids);

static struct serio_driver mtouch_drv =;

module_serio_driver();