#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/gpio/consumer.h>
#include <media/cec-notifier.h>
#include <media/cec-pin.h>
struct cec_gpio { … };
static int cec_gpio_read(struct cec_adapter *adap)
{ … }
static void cec_gpio_high(struct cec_adapter *adap)
{ … }
static void cec_gpio_low(struct cec_adapter *adap)
{ … }
static irqreturn_t cec_hpd_gpio_irq_handler_thread(int irq, void *priv)
{ … }
static irqreturn_t cec_5v_gpio_irq_handler(int irq, void *priv)
{ … }
static irqreturn_t cec_5v_gpio_irq_handler_thread(int irq, void *priv)
{ … }
static irqreturn_t cec_hpd_gpio_irq_handler(int irq, void *priv)
{ … }
static irqreturn_t cec_gpio_irq_handler(int irq, void *priv)
{ … }
static bool cec_gpio_enable_irq(struct cec_adapter *adap)
{ … }
static void cec_gpio_disable_irq(struct cec_adapter *adap)
{ … }
static void cec_gpio_status(struct cec_adapter *adap, struct seq_file *file)
{ … }
static int cec_gpio_read_hpd(struct cec_adapter *adap)
{ … }
static int cec_gpio_read_5v(struct cec_adapter *adap)
{ … }
static const struct cec_pin_ops cec_gpio_pin_ops = …;
static int cec_gpio_probe(struct platform_device *pdev)
{ … }
static void cec_gpio_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id cec_gpio_match[] = …;
MODULE_DEVICE_TABLE(of, cec_gpio_match);
static struct platform_driver cec_gpio_pdrv = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;