linux/drivers/input/serio/apbps2.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (C) 2013 Aeroflex Gaisler
 *
 * This driver supports the APBPS2 PS/2 core available in the GRLIB
 * VHDL IP core library.
 *
 * Full documentation of the APBPS2 core can be found here:
 * http://www.gaisler.com/products/grlib/grip.pdf
 *
 * See "Documentation/devicetree/bindings/input/ps2keyb-mouse-apbps2.txt" for
 * information on open firmware properties.
 *
 * Contributors: Daniel Hellstrom <[email protected]>
 */
#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/serio.h>
#include <linux/errno.h>
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/device.h>
#include <linux/delay.h>
#include <linux/err.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/io.h>

struct apbps2_regs {};

#define APBPS2_STATUS_DR
#define APBPS2_STATUS_PE
#define APBPS2_STATUS_FE
#define APBPS2_STATUS_KI
#define APBPS2_STATUS_RF
#define APBPS2_STATUS_TF
#define APBPS2_STATUS_TCNT
#define APBPS2_STATUS_RCNT

#define APBPS2_CTRL_RE
#define APBPS2_CTRL_TE
#define APBPS2_CTRL_RI
#define APBPS2_CTRL_TI

struct apbps2_priv {};

static int apbps2_idx;

static irqreturn_t apbps2_isr(int irq, void *dev_id)
{}

static int apbps2_write(struct serio *io, unsigned char val)
{}

static int apbps2_open(struct serio *io)
{}

static void apbps2_close(struct serio *io)
{}

/* Initialize one APBPS2 PS/2 core */
static int apbps2_of_probe(struct platform_device *ofdev)
{}

static void apbps2_of_remove(struct platform_device *of_dev)
{}

static const struct of_device_id apbps2_of_match[] =;

MODULE_DEVICE_TABLE(of, apbps2_of_match);

static struct platform_driver apbps2_of_driver =;

module_platform_driver();

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