#include <linux/bits.h>
#include <linux/device.h>
#include <linux/err.h>
#include <linux/math.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/property.h>
#include <linux/regulator/consumer.h>
#include <linux/spi/spi.h>
#include <linux/string.h>
#include <linux/types.h>
#include <media/rc-core.h>
#define IR_SPI_DRIVER_NAME …
#define IR_SPI_DEFAULT_FREQUENCY …
#define IR_SPI_MAX_BUFSIZE …
struct ir_spi_data { … };
static int ir_spi_tx(struct rc_dev *dev, unsigned int *buffer, unsigned int count)
{ … }
static int ir_spi_set_tx_carrier(struct rc_dev *dev, u32 carrier)
{ … }
static int ir_spi_set_duty_cycle(struct rc_dev *dev, u32 duty_cycle)
{ … }
static int ir_spi_probe(struct spi_device *spi)
{ … }
static const struct of_device_id ir_spi_of_match[] = …;
MODULE_DEVICE_TABLE(of, ir_spi_of_match);
static const struct spi_device_id ir_spi_ids[] = …;
MODULE_DEVICE_TABLE(spi, ir_spi_ids);
static struct spi_driver ir_spi_driver = …;
module_spi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;