Lines Matching refs:go
38 static int go7007_i2c_xfer(struct go7007 *go, u16 addr, int read, in go7007_i2c_xfer() argument
44 if (go->status == STATUS_SHUTDOWN) in go7007_i2c_xfer()
49 dev_dbg(go->dev, "go7007-i2c: reading 0x%02x on 0x%02x\n", in go7007_i2c_xfer()
52 dev_dbg(go->dev, in go7007_i2c_xfer()
57 mutex_lock(&go->hw_lock); in go7007_i2c_xfer()
59 if (go->board_id == GO7007_BOARDID_ADLINK_MPG24) { in go7007_i2c_xfer()
62 go7007_write_addr(go, 0x3c82, 0x0020); in go7007_i2c_xfer()
67 if (go7007_read_addr(go, STATUS_REG_ADDR, &val) < 0) in go7007_i2c_xfer()
74 dev_err(go->dev, "go7007-i2c: I2C adapter is hung\n"); in go7007_i2c_xfer()
79 go7007_write_addr(go, I2C_CTRL_REG_ADDR, flags); in go7007_i2c_xfer()
80 go7007_write_addr(go, I2C_LO_ADDR_REG_ADDR, command); in go7007_i2c_xfer()
84 go7007_write_addr(go, I2C_DATA_REG_ADDR, *data); in go7007_i2c_xfer()
85 go7007_write_addr(go, I2C_DEV_UP_ADDR_REG_ADDR, in go7007_i2c_xfer()
92 if (go7007_read_addr(go, I2C_DATA_REG_ADDR, &val) < 0) in go7007_i2c_xfer()
96 go7007_write_addr(go, I2C_DEV_UP_ADDR_REG_ADDR, in go7007_i2c_xfer()
101 if (go7007_read_addr(go, STATUS_REG_ADDR, &val) < 0) in go7007_i2c_xfer()
108 dev_err(go->dev, "go7007-i2c: I2C adapter is hung\n"); in go7007_i2c_xfer()
113 if (go7007_read_addr(go, I2C_DATA_REG_ADDR, &val) < 0) in go7007_i2c_xfer()
119 if (go->board_id == GO7007_BOARDID_ADLINK_MPG24) { in go7007_i2c_xfer()
121 go7007_write_addr(go, 0x3c82, 0x0000); in go7007_i2c_xfer()
124 mutex_unlock(&go->hw_lock); in go7007_i2c_xfer()
132 struct go7007 *go = i2c_get_adapdata(adapter); in go7007_smbus_xfer() local
136 return go7007_i2c_xfer(go, addr, read_write == I2C_SMBUS_READ, command, in go7007_smbus_xfer()
148 struct go7007 *go = i2c_get_adapdata(adapter); in go7007_i2c_master_xfer() local
160 if (go7007_i2c_xfer(go, msgs[i].addr, 1, in go7007_i2c_master_xfer()
170 if (go7007_i2c_xfer(go, msgs[i].addr, 0, in go7007_i2c_master_xfer()
198 int go7007_i2c_init(struct go7007 *go) in go7007_i2c_init() argument
200 memcpy(&go->i2c_adapter, &go7007_adap_templ, in go7007_i2c_init()
202 go->i2c_adapter.dev.parent = go->dev; in go7007_i2c_init()
203 i2c_set_adapdata(&go->i2c_adapter, go); in go7007_i2c_init()
204 if (i2c_add_adapter(&go->i2c_adapter) < 0) { in go7007_i2c_init()
205 dev_err(go->dev, in go7007_i2c_init()