linux/drivers/input/touchscreen/touchwin.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Touchwindow serial touchscreen driver
 *
 * Copyright (c) 2006 Rick Koch <[email protected]>
 *
 * Based on MicroTouch driver (drivers/input/touchscreen/mtouch.c)
 * Copyright (c) 2004 Vojtech Pavlik
 * and Dan Streetman <[email protected]>
 */


/*
 * 2005/02/19 Rick Koch:
 *   The Touchwindow I used is made by Edmark Corp. and
 *   constantly outputs a stream of 0's unless it is touched.
 *   It then outputs 3 bytes: X, Y, and a copy of Y.
 */

#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 TW_LENGTH

#define TW_MIN_XC
#define TW_MAX_XC
#define TW_MIN_YC
#define TW_MAX_YC

/*
 * Per-touchscreen data.
 */

struct tw {};

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

/*
 * tw_disconnect() is the opposite of tw_connect()
 */

static void tw_disconnect(struct serio *serio)
{}

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

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

/*
 * The serio driver structure.
 */

static const struct serio_device_id tw_serio_ids[] =;

MODULE_DEVICE_TABLE(serio, tw_serio_ids);

static struct serio_driver tw_drv =;

module_serio_driver();