linux/drivers/input/serio/ps2mult.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * TQC PS/2 Multiplexer driver
 *
 * Copyright (C) 2010 Dmitry Eremin-Solenikov
 */


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

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

#define PS2MULT_KB_SELECTOR
#define PS2MULT_MS_SELECTOR
#define PS2MULT_ESCAPE
#define PS2MULT_BSYNC
#define PS2MULT_SESSION_START
#define PS2MULT_SESSION_END

struct ps2mult_port {};

#define PS2MULT_NUM_PORTS
#define PS2MULT_KBD_PORT
#define PS2MULT_MOUSE_PORT

struct ps2mult {};

/* First MUST come PS2MULT_NUM_PORTS selectors */
static const unsigned char ps2mult_controls[] =;

static const struct serio_device_id ps2mult_serio_ids[] =;

MODULE_DEVICE_TABLE(serio, ps2mult_serio_ids);

static void ps2mult_select_port(struct ps2mult *psm, struct ps2mult_port *port)
{}

static int ps2mult_serio_write(struct serio *serio, unsigned char data)
{}

static int ps2mult_serio_start(struct serio *serio)
{}

static void ps2mult_serio_stop(struct serio *serio)
{}

static int ps2mult_create_port(struct ps2mult *psm, int i)
{}

static void ps2mult_reset(struct ps2mult *psm)
{}

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

static void ps2mult_disconnect(struct serio *serio)
{}

static int ps2mult_reconnect(struct serio *serio)
{}

static irqreturn_t ps2mult_interrupt(struct serio *serio,
				     unsigned char data, unsigned int dfl)
{}

static struct serio_driver ps2mult_drv =;

module_serio_driver();