Lines Matching refs:go

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