#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include <media/rc-core.h>
#define SUNXI_IR_DEV …
#define SUNXI_IR_CTL_REG …
#define REG_CTL_GEN …
#define REG_CTL_RXEN …
#define REG_CTL_MD …
#define SUNXI_IR_RXCTL_REG …
#define REG_RXCTL_RPPI …
#define SUNXI_IR_RXFIFO_REG …
#define SUNXI_IR_RXINT_REG …
#define REG_RXINT_ROI_EN …
#define REG_RXINT_RPEI_EN …
#define REG_RXINT_RAI_EN …
#define REG_RXINT_RAL(val) …
#define SUNXI_IR_RXSTA_REG …
#define REG_RXSTA_ROI …
#define REG_RXSTA_RPE …
#define REG_RXSTA_RA …
#define REG_RXSTA_GET_AC(val) …
#define REG_RXSTA_CLEARALL …
#define SUNXI_IR_CIR_REG …
#define REG_CIR_NTHR(val) …
#define REG_CIR_ITHR(val) …
#define SUNXI_IR_BASE_CLK …
#define SUNXI_IR_RXNOISE …
struct sunxi_ir_quirks { … };
struct sunxi_ir { … };
static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id)
{ … }
static unsigned int sunxi_ithr_to_usec(unsigned int base_clk, unsigned int ithr)
{ … }
static unsigned int sunxi_usec_to_ithr(unsigned int base_clk, unsigned int usec)
{ … }
static int sunxi_ir_set_timeout(struct rc_dev *rc_dev, unsigned int timeout)
{ … }
static int sunxi_ir_hw_init(struct device *dev)
{ … }
static void sunxi_ir_hw_exit(struct device *dev)
{ … }
static int __maybe_unused sunxi_ir_suspend(struct device *dev)
{ … }
static int __maybe_unused sunxi_ir_resume(struct device *dev)
{ … }
static SIMPLE_DEV_PM_OPS(sunxi_ir_pm_ops, sunxi_ir_suspend, sunxi_ir_resume);
static int sunxi_ir_probe(struct platform_device *pdev)
{ … }
static void sunxi_ir_remove(struct platform_device *pdev)
{ … }
static void sunxi_ir_shutdown(struct platform_device *pdev)
{ … }
static const struct sunxi_ir_quirks sun4i_a10_ir_quirks = …;
static const struct sunxi_ir_quirks sun5i_a13_ir_quirks = …;
static const struct sunxi_ir_quirks sun6i_a31_ir_quirks = …;
static const struct of_device_id sunxi_ir_match[] = …;
MODULE_DEVICE_TABLE(of, sunxi_ir_match);
static struct platform_driver sunxi_ir_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;