linux/drivers/input/keyboard/ep93xx_keypad.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Driver for the Cirrus EP93xx matrix keypad controller.
 *
 * Copyright (c) 2008 H Hartley Sweeten <[email protected]>
 *
 * Based on the pxa27x matrix keypad controller by Rodolfo Giometti.
 *
 * NOTE:
 *
 * The 3-key reset is triggered by pressing the 3 keys in
 * Row 0, Columns 2, 4, and 7 at the same time.  This action can
 * be disabled by setting the EP93XX_KEYPAD_DISABLE_3_KEY flag.
 *
 * Normal operation for the matrix does not autorepeat the key press.
 * This action can be enabled by setting the EP93XX_KEYPAD_AUTOREPEAT
 * flag.
 */

#include <linux/bits.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/clk.h>
#include <linux/io.h>
#include <linux/input.h>
#include <linux/input/matrix_keypad.h>
#include <linux/slab.h>
#include <linux/soc/cirrus/ep93xx.h>
#include <linux/platform_data/keypad-ep93xx.h>
#include <linux/pm_wakeirq.h>

/*
 * Keypad Interface Register offsets
 */
#define KEY_INIT
#define KEY_DIAG
#define KEY_REG

/* Key Scan Initialization Register bit defines */
#define KEY_INIT_DBNC_MASK
#define KEY_INIT_DBNC_SHIFT
#define KEY_INIT_DIS3KY
#define KEY_INIT_DIAG
#define KEY_INIT_BACK
#define KEY_INIT_T2
#define KEY_INIT_PRSCL_MASK
#define KEY_INIT_PRSCL_SHIFT

/* Key Scan Diagnostic Register bit defines */
#define KEY_DIAG_MASK
#define KEY_DIAG_SHIFT

/* Key Value Capture Register bit defines */
#define KEY_REG_K
#define KEY_REG_INT
#define KEY_REG_2KEYS
#define KEY_REG_1KEY
#define KEY_REG_KEY2_MASK
#define KEY_REG_KEY2_SHIFT
#define KEY_REG_KEY1_MASK
#define KEY_REG_KEY1_SHIFT

#define EP93XX_MATRIX_SIZE

struct ep93xx_keypad {};

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

static void ep93xx_keypad_config(struct ep93xx_keypad *keypad)
{}

static int ep93xx_keypad_open(struct input_dev *pdev)
{}

static void ep93xx_keypad_close(struct input_dev *pdev)
{}


static int ep93xx_keypad_suspend(struct device *dev)
{}

static int ep93xx_keypad_resume(struct device *dev)
{}

static DEFINE_SIMPLE_DEV_PM_OPS(ep93xx_keypad_pm_ops,
				ep93xx_keypad_suspend, ep93xx_keypad_resume);

static void ep93xx_keypad_release_gpio_action(void *_pdev)
{}

static int ep93xx_keypad_probe(struct platform_device *pdev)
{}

static void ep93xx_keypad_remove(struct platform_device *pdev)
{}

static struct platform_driver ep93xx_keypad_driver =;
module_platform_driver();

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