linux/drivers/input/keyboard/sunkbd.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *  Copyright (c) 1999-2001 Vojtech Pavlik
 */

/*
 * Sun keyboard driver for Linux
 */

#include <linux/delay.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/input.h>
#include <linux/serio.h>
#include <linux/workqueue.h>

#define DRIVER_DESC

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

static unsigned char sunkbd_keycode[128] =;

#define SUNKBD_CMD_RESET
#define SUNKBD_CMD_BELLON
#define SUNKBD_CMD_BELLOFF
#define SUNKBD_CMD_CLICK
#define SUNKBD_CMD_NOCLICK
#define SUNKBD_CMD_SETLED
#define SUNKBD_CMD_LAYOUT

#define SUNKBD_RET_RESET
#define SUNKBD_RET_ALLUP
#define SUNKBD_RET_LAYOUT

#define SUNKBD_LAYOUT_5_MASK
#define SUNKBD_RELEASE
#define SUNKBD_KEY

/*
 * Per-keyboard data.
 */

struct sunkbd {};

/*
 * sunkbd_interrupt() is called by the low level driver when a character
 * is received.
 */

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

/*
 * sunkbd_event() handles events from the input module.
 */

static int sunkbd_event(struct input_dev *dev,
			unsigned int type, unsigned int code, int value)
{}

/*
 * sunkbd_initialize() checks for a Sun keyboard attached, and determines
 * its type.
 */

static int sunkbd_initialize(struct sunkbd *sunkbd)
{}

/*
 * sunkbd_set_leds_beeps() sets leds and beeps to a state the computer remembers
 * they were in.
 */

static void sunkbd_set_leds_beeps(struct sunkbd *sunkbd)
{}


/*
 * sunkbd_reinit() wait for the keyboard reset to complete and restores state
 * of leds and beeps.
 */

static void sunkbd_reinit(struct work_struct *work)
{}

static void sunkbd_enable(struct sunkbd *sunkbd, bool enable)
{}

/*
 * sunkbd_connect() probes for a Sun keyboard and fills the necessary
 * structures.
 */

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

/*
 * sunkbd_disconnect() unregisters and closes behind us.
 */

static void sunkbd_disconnect(struct serio *serio)
{}

static const struct serio_device_id sunkbd_serio_ids[] =;

MODULE_DEVICE_TABLE(serio, sunkbd_serio_ids);

static struct serio_driver sunkbd_drv =;

module_serio_driver();