linux/drivers/input/keyboard/lm8333.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * LM8333 keypad driver
 * Copyright (C) 2012 Wolfram Sang, Pengutronix <[email protected]>
 */

#include <linux/i2c.h>
#include <linux/input.h>
#include <linux/input/matrix_keypad.h>
#include <linux/input/lm8333.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/slab.h>

#define LM8333_FIFO_READ
#define LM8333_DEBOUNCE
#define LM8333_READ_INT
#define LM8333_ACTIVE
#define LM8333_READ_ERROR

#define LM8333_KEYPAD_IRQ
#define LM8333_ERROR_IRQ

#define LM8333_ERROR_KEYOVR
#define LM8333_ERROR_FIFOOVR

#define LM8333_FIFO_TRANSFER_SIZE

#define LM8333_NUM_ROWS
#define LM8333_NUM_COLS
#define LM8333_ROW_SHIFT

struct lm8333 {};

/* The accessors try twice because the first access may be needed for wakeup */
#define LM8333_READ_RETRIES

int lm8333_read8(struct lm8333 *lm8333, u8 cmd)
{}

int lm8333_write8(struct lm8333 *lm8333, u8 cmd, u8 val)
{}

int lm8333_read_block(struct lm8333 *lm8333, u8 cmd, u8 len, u8 *buf)
{}

static void lm8333_key_handler(struct lm8333 *lm8333)
{}

static irqreturn_t lm8333_irq_thread(int irq, void *data)
{}

static int lm8333_probe(struct i2c_client *client)
{}

static const struct i2c_device_id lm8333_id[] =;
MODULE_DEVICE_TABLE(i2c, lm8333_id);

static struct i2c_driver lm8333_driver =;
module_i2c_driver();

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