#include <linux/acpi.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/types.h>
#include "i2c-amd-mp2.h"
#define AMD_MP2_I2C_MAX_RW_LENGTH …
#define AMD_I2C_TIMEOUT …
struct amd_i2c_dev { … };
#define amd_i2c_dev_common(__common) …
static int i2c_amd_dma_map(struct amd_i2c_common *i2c_common)
{ … }
static void i2c_amd_dma_unmap(struct amd_i2c_common *i2c_common)
{ … }
static void i2c_amd_start_cmd(struct amd_i2c_dev *i2c_dev)
{ … }
static void i2c_amd_cmd_completion(struct amd_i2c_common *i2c_common)
{ … }
static int i2c_amd_check_cmd_completion(struct amd_i2c_dev *i2c_dev)
{ … }
static int i2c_amd_enable_set(struct amd_i2c_dev *i2c_dev, bool enable)
{ … }
static int i2c_amd_xfer_msg(struct amd_i2c_dev *i2c_dev, struct i2c_msg *pmsg)
{ … }
static int i2c_amd_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
{ … }
static u32 i2c_amd_func(struct i2c_adapter *a)
{ … }
static const struct i2c_algorithm i2c_amd_algorithm = …;
#ifdef CONFIG_PM
static int i2c_amd_suspend(struct amd_i2c_common *i2c_common)
{ … }
static int i2c_amd_resume(struct amd_i2c_common *i2c_common)
{ … }
#endif
static const u32 supported_speeds[] = …;
static enum speed_enum i2c_amd_get_bus_speed(struct platform_device *pdev)
{ … }
static const struct i2c_adapter_quirks amd_i2c_dev_quirks = …;
static int i2c_amd_probe(struct platform_device *pdev)
{ … }
static void i2c_amd_remove(struct platform_device *pdev)
{ … }
static const struct acpi_device_id i2c_amd_acpi_match[] = …;
MODULE_DEVICE_TABLE(acpi, i2c_amd_acpi_match);
static struct platform_driver i2c_amd_plat_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;