#include <linux/clk.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include "i2c-viai2c-common.h"
#define REG_SLAVE_CR …
#define REG_SLAVE_SR …
#define REG_SLAVE_ISR …
#define REG_SLAVE_IMR …
#define REG_SLAVE_DR …
#define REG_SLAVE_TR …
#define SCL_TIMEOUT(x) …
#define TR_STD …
#define TR_HS …
#define MCR_APB_96M …
#define MCR_APB_166M …
static u32 wmt_i2c_func(struct i2c_adapter *adap)
{ … }
static const struct i2c_algorithm wmt_i2c_algo = …;
static int wmt_i2c_reset_hardware(struct viai2c *i2c)
{ … }
static irqreturn_t wmt_i2c_isr(int irq, void *data)
{ … }
static int wmt_i2c_probe(struct platform_device *pdev)
{ … }
static void wmt_i2c_remove(struct platform_device *pdev)
{ … }
static const struct of_device_id wmt_i2c_dt_ids[] = …;
static struct platform_driver wmt_i2c_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(of, wmt_i2c_dt_ids);