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

// SPDX-License-Identifier: GPL-2.0-only
/*
    i2c-isch.c - Linux kernel driver for Intel SCH chipset SMBus
    - Based on i2c-piix4.c
    Copyright (c) 1998 - 2002 Frodo Looijaard <[email protected]> and
    Philip Edelbrock <[email protected]>
    - Intel SCH support
    Copyright (c) 2007 - 2008 Jacob Jun Pan <[email protected]>

*/

/*
   Supports:
	Intel SCH chipsets (AF82US15W, AF82US15L, AF82UL11L)
   Note: we assume there can only be one device, with one SMBus interface.
*/

#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/kernel.h>
#include <linux/delay.h>
#include <linux/stddef.h>
#include <linux/ioport.h>
#include <linux/i2c.h>
#include <linux/io.h>

/* SCH SMBus address offsets */
#define SMBHSTCNT
#define SMBHSTSTS
#define SMBHSTCLK
#define SMBHSTADD
#define SMBHSTCMD
#define SMBHSTDAT0
#define SMBHSTDAT1
#define SMBBLKDAT

/* Other settings */
#define MAX_RETRIES

/* I2C constants */
#define SCH_QUICK
#define SCH_BYTE
#define SCH_BYTE_DATA
#define SCH_WORD_DATA
#define SCH_BLOCK_DATA

static unsigned short sch_smba;
static struct i2c_adapter sch_adapter;
static int backbone_speed =; /* backbone speed in kHz */
module_param(backbone_speed, int, S_IRUSR | S_IWUSR);
MODULE_PARM_DESC();

/*
 * Start the i2c transaction -- the i2c_access will prepare the transaction
 * and this function will execute it.
 * return 0 for success and others for failure.
 */
static int sch_transaction(void)
{}

/*
 * This is the main access entry for i2c-sch access
 * adap is i2c_adapter pointer, addr is the i2c device bus address, read_write
 * (0 for read and 1 for write), size is i2c transaction type and data is the
 * union of transaction for data to be transferred or data read from bus.
 * return 0 for success and others for failure.
 */
static s32 sch_access(struct i2c_adapter *adap, u16 addr,
		 unsigned short flags, char read_write,
		 u8 command, int size, union i2c_smbus_data *data)
{}

static u32 sch_func(struct i2c_adapter *adapter)
{}

static const struct i2c_algorithm smbus_algorithm =;

static struct i2c_adapter sch_adapter =;

static int smbus_sch_probe(struct platform_device *dev)
{}

static void smbus_sch_remove(struct platform_device *pdev)
{}

static struct platform_driver smbus_sch_driver =;

module_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_ALIAS();