Lines Matching refs:client

85 	struct i2c_client *client;
127 static int vl6180_read(struct i2c_client *client, u16 cmd, void *databuf,
132 { .addr = client->addr, .len = sizeof(cmdbuf), .buf = (u8 *) &cmdbuf },
133 { .addr = client->addr, .len = len, .buf = databuf,
137 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
139 dev_err(&client->dev, "failed reading register 0x%04x\n", cmd);
144 static int vl6180_read_byte(struct i2c_client *client, u16 cmd)
149 ret = vl6180_read(client, cmd, &data, sizeof(data));
156 static int vl6180_read_word(struct i2c_client *client, u16 cmd)
161 ret = vl6180_read(client, cmd, &data, sizeof(data));
168 static int vl6180_write_byte(struct i2c_client *client, u16 cmd, u8 val)
172 { .addr = client->addr, .len = sizeof(buf), .buf = (u8 *) &buf } };
179 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
181 dev_err(&client->dev, "failed writing register 0x%04x\n", cmd);
188 static int vl6180_write_word(struct i2c_client *client, u16 cmd, u16 val)
192 { .addr = client->addr, .len = sizeof(buf), .buf = (u8 *) &buf } };
198 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
200 dev_err(&client->dev, "failed writing register 0x%04x\n", cmd);
209 struct i2c_client *client = data->client;
215 ret = vl6180_write_byte(client,
221 ret = vl6180_read_byte(client, VL6180_INTR_STATUS);
237 vl6180_read_word(client, vl6180_chan_regs_table[addr].value_reg) :
238 vl6180_read_byte(client, vl6180_chan_regs_table[addr].value_reg);
244 ret = vl6180_write_byte(client, VL6180_INTR_CLEAR,
355 return vl6180_write_byte(data->client, VL6180_HOLD,
378 ret = vl6180_write_byte(data->client, VL6180_ALS_GAIN,
403 ret = vl6180_write_word(data->client, VL6180_ALS_IT, it_ms - 1);
443 struct i2c_client *client = data->client;
446 ret = vl6180_read_byte(client, VL6180_MODEL_ID);
451 dev_err(&client->dev, "invalid model ID %02x\n", ret);
459 ret = vl6180_read_byte(client, VL6180_OUT_OF_RESET);
468 dev_info(&client->dev, "device is not fresh out of reset\n");
471 ret = vl6180_write_byte(client, VL6180_INTR_CONFIG,
478 ret = vl6180_write_word(client, VL6180_ALS_IT, VL6180_ALS_IT_100);
484 ret = vl6180_write_byte(client, VL6180_ALS_GAIN, VL6180_ALS_GAIN_1);
488 ret = vl6180_write_byte(client, VL6180_OUT_OF_RESET, 0x00);
495 static int vl6180_probe(struct i2c_client *client)
501 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
506 i2c_set_clientdata(client, indio_dev);
507 data->client = client;
520 return devm_iio_device_register(&client->dev, indio_dev);