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

// SPDX-License-Identifier: GPL-2.0-only
/*
 * I2C bus driver for Conexant Digicolor SoCs
 *
 * Author: Baruch Siach <[email protected]>
 *
 * Copyright (C) 2015 Paradox Innovation Ltd.
 */

#include <linux/clk.h>
#include <linux/completion.h>
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>

#define TIMEOUT_MS

#define II_CONTROL
#define II_CONTROL_LOCAL_RESET

#define II_CLOCKTIME

#define II_COMMAND
#define II_CMD_START
#define II_CMD_RESTART
#define II_CMD_SEND_ACK
#define II_CMD_GET_ACK
#define II_CMD_GET_NOACK
#define II_CMD_STOP
#define II_COMMAND_GO
#define II_COMMAND_COMPLETION_STATUS(r)
#define II_CMD_STATUS_NORMAL
#define II_CMD_STATUS_ACK_GOOD
#define II_CMD_STATUS_ACK_BAD
#define II_CMD_STATUS_ABORT

#define II_DATA
#define II_INTFLAG_CLEAR
#define II_INTENABLE

struct dc_i2c {};

enum {};

static void dc_i2c_cmd(struct dc_i2c *i2c, u8 cmd)
{}

static u8 dc_i2c_addr_cmd(struct i2c_msg *msg)
{}

static void dc_i2c_data(struct dc_i2c *i2c, u8 data)
{}

static void dc_i2c_write_byte(struct dc_i2c *i2c, u8 byte)
{}

static void dc_i2c_write_buf(struct dc_i2c *i2c)
{}

static void dc_i2c_next_read(struct dc_i2c *i2c)
{}

static void dc_i2c_stop(struct dc_i2c *i2c)
{}

static u8 dc_i2c_read_byte(struct dc_i2c *i2c)
{}

static void dc_i2c_read_buf(struct dc_i2c *i2c)
{}

static void dc_i2c_set_irq(struct dc_i2c *i2c, int enable)
{}

static int dc_i2c_cmd_status(struct dc_i2c *i2c)
{}

static void dc_i2c_start_msg(struct dc_i2c *i2c, int first)
{}

static irqreturn_t dc_i2c_irq(int irq, void *dev_id)
{}

static int dc_i2c_xfer_msg(struct dc_i2c *i2c, struct i2c_msg *msg, int first,
			   int last)
{}

static int dc_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
{}

static int dc_i2c_init_hw(struct dc_i2c *i2c)
{}

static u32 dc_i2c_func(struct i2c_adapter *adap)
{}

static const struct i2c_algorithm dc_i2c_algorithm =;

static int dc_i2c_probe(struct platform_device *pdev)
{}

static void dc_i2c_remove(struct platform_device *pdev)
{}

static const struct of_device_id dc_i2c_match[] =;
MODULE_DEVICE_TABLE(of, dc_i2c_match);

static struct platform_driver dc_i2c_driver =;
module_platform_driver();

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