linux/drivers/i2c/busses/i2c-ali1563.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 *	i2c-ali1563.c - i2c driver for the ALi 1563 Southbridge
 *
 *	Copyright (C) 2004 Patrick Mochel
 *		      2005 Rudolf Marek <[email protected]>
 *
 *	The 1563 southbridge is deceptively similar to the 1533, with a
 *	few notable exceptions. One of those happens to be the fact they
 *	upgraded the i2c core to be 2.0 compliant, and happens to be almost
 *	identical to the i2c controller found in the Intel 801 south
 *	bridges.
 *
 *	This driver is based on a mix of the 15x3, 1535, and i801 drivers,
 *	with a little help from the ALi 1563 spec.
 */

#include <linux/module.h>
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/pci.h>
#include <linux/acpi.h>

#define ALI1563_MAX_TIMEOUT
#define ALI1563_SMBBA
#define ALI1563_SMB_IOEN
#define ALI1563_SMB_HOSTEN
#define ALI1563_SMB_IOSIZE

#define SMB_HST_STS
#define SMB_HST_CNTL1
#define SMB_HST_CNTL2
#define SMB_HST_CMD
#define SMB_HST_ADD
#define SMB_HST_DAT0
#define SMB_HST_DAT1
#define SMB_BLK_DAT

#define HST_STS_BUSY
#define HST_STS_INTR
#define HST_STS_DEVERR
#define HST_STS_BUSERR
#define HST_STS_FAIL
#define HST_STS_DONE
#define HST_STS_BAD


#define HST_CNTL1_TIMEOUT
#define HST_CNTL1_LAST

#define HST_CNTL2_KILL
#define HST_CNTL2_START
#define HST_CNTL2_QUICK
#define HST_CNTL2_BYTE
#define HST_CNTL2_BYTE_DATA
#define HST_CNTL2_WORD_DATA
#define HST_CNTL2_BLOCK


#define HST_CNTL2_SIZEMASK

static struct pci_driver ali1563_pci_driver;
static unsigned short ali1563_smba;

static int ali1563_transaction(struct i2c_adapter *a, int size)
{}

static int ali1563_block_start(struct i2c_adapter *a)
{}

static int ali1563_block(struct i2c_adapter *a,
			 union i2c_smbus_data *data, u8 rw)
{}

static s32 ali1563_access(struct i2c_adapter *a, u16 addr,
			  unsigned short flags, char rw, u8 cmd,
			  int size, union i2c_smbus_data *data)
{}

static u32 ali1563_func(struct i2c_adapter *a)
{}


static int ali1563_setup(struct pci_dev *dev)
{}

static void ali1563_shutdown(struct pci_dev *dev)
{}

static const struct i2c_algorithm ali1563_algorithm =;

static struct i2c_adapter ali1563_adapter =;

static int ali1563_probe(struct pci_dev *dev,
			 const struct pci_device_id *id_table)
{}

static void ali1563_remove(struct pci_dev *dev)
{}

static const struct pci_device_id ali1563_id_table[] =;

MODULE_DEVICE_TABLE(pci, ali1563_id_table);

static struct pci_driver ali1563_pci_driver =;

module_pci_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();