linux/drivers/input/misc/pcf8574_keypad.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Driver for a keypad w/16 buttons connected to a PCF8574 I2C I/O expander
 *
 * Copyright 2005-2008 Analog Devices Inc.
 */

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

#define DRV_NAME

static const unsigned char pcf8574_kp_btncode[] =;

struct kp_data {};

static short read_state(struct kp_data *lp)
{}

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

static int pcf8574_kp_probe(struct i2c_client *client)
{}

static void pcf8574_kp_remove(struct i2c_client *client)
{}

static int pcf8574_kp_resume(struct device *dev)
{}

static int pcf8574_kp_suspend(struct device *dev)
{}

static DEFINE_SIMPLE_DEV_PM_OPS(pcf8574_kp_pm_ops,
				pcf8574_kp_suspend, pcf8574_kp_resume);

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

static struct i2c_driver pcf8574_kp_driver =;

module_i2c_driver();

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