ret = devm_request_irq(dev, ir->irq, sunxi_ir_irq, 0, SUNXI_IR_DEV, ir);
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/of_platform.h>
#include <media/rc-core.h>
#define SUNXI_IR_DEV "sunxi-ir"
#define SUNXI_IR_CTL_REG 0x00
#define REG_CTL_GEN BIT(0)
#define REG_CTL_RXEN BIT(1)
#define REG_CTL_MD (BIT(4) | BIT(5))
#define SUNXI_IR_RXCTL_REG 0x10
#define REG_RXCTL_RPPI BIT(2)
#define SUNXI_IR_RXFIFO_REG 0x20
#define SUNXI_IR_RXINT_REG 0x2C
#define REG_RXINT_ROI_EN BIT(0)
#define REG_RXINT_RPEI_EN BIT(1)
#define REG_RXINT_RAI_EN BIT(4)
#define REG_RXINT_RAL(val) ((val) << 8)
#define SUNXI_IR_RXSTA_REG 0x30
#define REG_RXSTA_GET_AC(val) (((val) >> 8) & (ir->fifo_size * 2 - 1))
#define REG_RXSTA_CLEARALL 0xff
#define SUNXI_IR_CIR_REG 0x34
#define REG_CIR_NTHR(val) (((val) << 2) & (GENMASK(7, 2)))