#include <linux/export.h>
#include <linux/mutex.h>
#include <linux/pci.h>
#include <linux/i2c.h>
#include <linux/interrupt.h>
#include <linux/delay.h>
#include "psb_drv.h"
#define HDMI_READ(reg) …
#define HDMI_WRITE(reg, val) …
#define HDMI_HCR …
#define HCR_DETECT_HDP …
#define HCR_ENABLE_HDCP …
#define HCR_ENABLE_AUDIO …
#define HCR_ENABLE_PIXEL …
#define HCR_ENABLE_TMDS …
#define HDMI_HICR …
#define HDMI_INTR_I2C_ERROR …
#define HDMI_INTR_I2C_FULL …
#define HDMI_INTR_I2C_DONE …
#define HDMI_INTR_HPD …
#define HDMI_HSR …
#define HDMI_HISR …
#define HDMI_HI2CRDB0 …
#define HDMI_HI2CHCR …
#define HI2C_HDCP_WRITE …
#define HI2C_HDCP_RI_READ …
#define HI2C_HDCP_READ …
#define HI2C_EDID_READ …
#define HI2C_READ_CONTINUE …
#define HI2C_ENABLE_TRANSACTION …
#define HDMI_ICRH …
#define HDMI_HI2CTDR0 …
#define HDMI_HI2CTDR1 …
#define I2C_STAT_INIT …
#define I2C_READ_DONE …
#define I2C_TRANSACTION_DONE …
struct hdmi_i2c_dev { … };
static void hdmi_i2c_irq_enable(struct oaktrail_hdmi_dev *hdmi_dev)
{ … }
static void hdmi_i2c_irq_disable(struct oaktrail_hdmi_dev *hdmi_dev)
{ … }
static int xfer_read(struct i2c_adapter *adap, struct i2c_msg *pmsg)
{ … }
static int xfer_write(struct i2c_adapter *adap, struct i2c_msg *pmsg)
{ … }
static int oaktrail_hdmi_i2c_access(struct i2c_adapter *adap,
struct i2c_msg *pmsg,
int num)
{ … }
static u32 oaktrail_hdmi_i2c_func(struct i2c_adapter *adapter)
{ … }
static const struct i2c_algorithm oaktrail_hdmi_i2c_algorithm = …;
static struct i2c_adapter oaktrail_hdmi_i2c_adapter = …;
static void hdmi_i2c_read(struct oaktrail_hdmi_dev *hdmi_dev)
{ … }
static void hdmi_i2c_transaction_done(struct oaktrail_hdmi_dev *hdmi_dev)
{ … }
static irqreturn_t oaktrail_hdmi_i2c_handler(int this_irq, void *dev)
{ … }
static void oaktrail_hdmi_i2c_gpio_fix(void)
{ … }
int oaktrail_hdmi_i2c_init(struct pci_dev *dev)
{ … }
void oaktrail_hdmi_i2c_exit(struct pci_dev *dev)
{ … }