#include <linux/module.h>
#include <linux/pci.h>
#include <linux/kernel.h>
#include <linux/stddef.h>
#include <linux/delay.h>
#include <linux/ioport.h>
#include <linux/i2c.h>
#include <linux/acpi.h>
#include <linux/io.h>
#define SMBHSTSTS …
#define SMBHSTTYP …
#define SMBHSTPORT …
#define SMBHSTCMD …
#define SMBHSTADD …
#define SMBHSTDAT0 …
#define SMBHSTDAT1 …
#define SMBBLKDAT …
#define SMBCOM …
#define SMBREV …
#define SMBCFG …
#define SMBBA …
#define SMBHSTCFG …
#define SMBCLK …
#define MAX_TIMEOUT …
#define ALI1535_SMB_IOSIZE …
#define ALI1535_SMB_DEFAULTBASE …
#define ALI1535_LOCK …
#define ALI1535_QUICK …
#define ALI1535_BYTE …
#define ALI1535_BYTE_DATA …
#define ALI1535_WORD_DATA …
#define ALI1535_BLOCK_DATA …
#define ALI1535_I2C_READ …
#define ALI1535_DEV10B_EN …
#define ALI1535_T_OUT …
#define ALI1535_A_HIGH_BIT9 …
#define ALI1535_KILL …
#define ALI1535_A_HIGH_BIT8 …
#define ALI1535_D_HI_MASK …
#define ALI1535_STS_IDLE …
#define ALI1535_STS_BUSY …
#define ALI1535_STS_DONE …
#define ALI1535_STS_DEV …
#define ALI1535_STS_BUSERR …
#define ALI1535_STS_FAIL …
#define ALI1535_STS_ERR …
#define ALI1535_BLOCK_CLR …
#define ALI1535_RD_ADDR …
#define ALI1535_SMBIO_EN …
static struct pci_driver ali1535_driver;
static unsigned long ali1535_smba;
static unsigned short ali1535_offset;
static int ali1535_setup(struct pci_dev *dev)
{ … }
static int ali1535_transaction(struct i2c_adapter *adap)
{ … }
static s32 ali1535_access(struct i2c_adapter *adap, u16 addr,
unsigned short flags, char read_write, u8 command,
int size, union i2c_smbus_data *data)
{ … }
static u32 ali1535_func(struct i2c_adapter *adapter)
{ … }
static const struct i2c_algorithm smbus_algorithm = …;
static struct i2c_adapter ali1535_adapter = …;
static const struct pci_device_id ali1535_ids[] = …;
MODULE_DEVICE_TABLE(pci, ali1535_ids);
static int ali1535_probe(struct pci_dev *dev, const struct pci_device_id *id)
{ … }
static void ali1535_remove(struct pci_dev *dev)
{ … }
static struct pci_driver ali1535_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;