#include <linux/crc8.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/of_device.h>
#include <linux/regmap.h>
#include <linux/spi/spi.h>
#include <linux/mfd/tps6594.h>
#define TPS6594_SPI_PAGE_SHIFT …
#define TPS6594_SPI_READ_BIT …
static bool enable_crc;
module_param(enable_crc, bool, 0444);
MODULE_PARM_DESC(…) …;
DECLARE_CRC8_TABLE(tps6594_spi_crc_table);
static int tps6594_spi_reg_read(void *context, unsigned int reg, unsigned int *val)
{ … }
static int tps6594_spi_reg_write(void *context, unsigned int reg, unsigned int val)
{ … }
static struct regmap_config tps6594_spi_regmap_config = …;
static const struct of_device_id tps6594_spi_of_match_table[] = …;
MODULE_DEVICE_TABLE(of, tps6594_spi_of_match_table);
static int tps6594_spi_probe(struct spi_device *spi)
{ … }
static struct spi_driver tps6594_spi_driver = …;
module_spi_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;