#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include "i2c-amd-mp2.h"
#include <linux/io-64-nonatomic-lo-hi.h>
static void amd_mp2_c2p_mutex_lock(struct amd_i2c_common *i2c_common)
{ … }
static void amd_mp2_c2p_mutex_unlock(struct amd_i2c_common *i2c_common)
{ … }
static int amd_mp2_cmd(struct amd_i2c_common *i2c_common,
union i2c_cmd_base i2c_cmd_base)
{ … }
int amd_mp2_bus_enable_set(struct amd_i2c_common *i2c_common, bool enable)
{ … }
EXPORT_SYMBOL_GPL(…);
static void amd_mp2_cmd_rw_fill(struct amd_i2c_common *i2c_common,
union i2c_cmd_base *i2c_cmd_base,
enum i2c_cmd reqcmd)
{ … }
int amd_mp2_rw(struct amd_i2c_common *i2c_common, enum i2c_cmd reqcmd)
{ … }
EXPORT_SYMBOL_GPL(…);
static void amd_mp2_pci_check_rw_event(struct amd_i2c_common *i2c_common)
{ … }
static void __amd_mp2_process_event(struct amd_i2c_common *i2c_common)
{ … }
void amd_mp2_process_event(struct amd_i2c_common *i2c_common)
{ … }
EXPORT_SYMBOL_GPL(…);
static irqreturn_t amd_mp2_irq_isr(int irq, void *dev)
{ … }
void amd_mp2_rw_timeout(struct amd_i2c_common *i2c_common)
{ … }
EXPORT_SYMBOL_GPL(…);
int amd_mp2_register_cb(struct amd_i2c_common *i2c_common)
{ … }
EXPORT_SYMBOL_GPL(…);
int amd_mp2_unregister_cb(struct amd_i2c_common *i2c_common)
{ … }
EXPORT_SYMBOL_GPL(…);
static void amd_mp2_clear_reg(struct amd_mp2_dev *privdata)
{ … }
static int amd_mp2_pci_init(struct amd_mp2_dev *privdata,
struct pci_dev *pci_dev)
{ … }
static int amd_mp2_pci_probe(struct pci_dev *pci_dev,
const struct pci_device_id *id)
{ … }
static void amd_mp2_pci_remove(struct pci_dev *pci_dev)
{ … }
#ifdef CONFIG_PM
static int amd_mp2_pci_suspend(struct device *dev)
{ … }
static int amd_mp2_pci_resume(struct device *dev)
{ … }
static UNIVERSAL_DEV_PM_OPS(amd_mp2_pci_pm_ops, amd_mp2_pci_suspend,
amd_mp2_pci_resume, NULL);
#endif
static const struct pci_device_id amd_mp2_pci_tbl[] = …;
MODULE_DEVICE_TABLE(pci, amd_mp2_pci_tbl);
static struct pci_driver amd_mp2_pci_driver = …;
module_pci_driver(…) …;
struct amd_mp2_dev *amd_mp2_find_device(void)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;