Lines Matching refs:client

55 	struct i2c_client *client;
64 static int qt2160_read(struct i2c_client *client, u8 reg);
65 static int qt2160_write(struct i2c_client *client, u8 reg, u8 data);
74 struct i2c_client *client = qt2160->client;
78 drive = qt2160_read(client, QT2160_CMD_DRIVE_X);
79 pwmen = qt2160_read(client, QT2160_CMD_PWMEN_X);
88 qt2160_write(client, QT2160_CMD_DRIVE_X, drive);
89 qt2160_write(client, QT2160_CMD_PWMEN_X, pwmen);
96 qt2160_write(client, QT2160_CMD_PWM_DUTY, value);
106 static int qt2160_read_block(struct i2c_client *client,
116 if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
118 error = i2c_smbus_write_byte(client, inireg + idx);
120 dev_err(&client->dev,
125 error = i2c_master_recv(client, buffer, count);
127 dev_err(&client->dev,
136 error = i2c_smbus_write_byte(client, inireg + idx);
138 dev_err(&client->dev,
143 data = i2c_smbus_read_byte(client);
145 dev_err(&client->dev,
160 struct i2c_client *client = qt2160->client;
165 dev_dbg(&client->dev, "requesting keys...\n");
171 ret = qt2160_read_block(client, QT2160_CMD_GSTAT, regs, 6);
173 dev_err(&client->dev,
187 dev_dbg(&client->dev, "key %d %s\n",
204 static int qt2160_read(struct i2c_client *client, u8 reg)
208 ret = i2c_smbus_write_byte(client, reg);
210 dev_err(&client->dev,
215 ret = i2c_smbus_read_byte(client);
217 dev_err(&client->dev,
225 static int qt2160_write(struct i2c_client *client, u8 reg, u8 data)
229 ret = i2c_smbus_write_byte_data(client, reg, data);
231 dev_err(&client->dev,
241 struct i2c_client *client = qt2160->client;
255 error = devm_led_classdev_register(&client->dev, &led->cdev);
261 qt2160_write(client, QT2160_CMD_DRIVE_X, 0);
262 qt2160_write(client, QT2160_CMD_PWMEN_X, 0);
263 qt2160_write(client, QT2160_CMD_PWM_DUTY, 0);
277 static bool qt2160_identify(struct i2c_client *client)
282 id = qt2160_read(client, QT2160_CMD_CHIPID);
284 dev_err(&client->dev, "ID %d not supported\n", id);
289 ver = qt2160_read(client, QT2160_CMD_CODEVER);
291 dev_err(&client->dev, "could not get firmware version\n");
296 rev = qt2160_read(client, QT2160_CMD_SUBVER);
298 dev_err(&client->dev, "could not get firmware revision\n");
302 dev_info(&client->dev, "AT42QT2160 firmware version %d.%d.%d\n",
308 static int qt2160_probe(struct i2c_client *client)
315 if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE)) {
316 dev_err(&client->dev, "%s adapter not supported\n",
317 dev_driver_string(&client->adapter->dev));
321 if (!qt2160_identify(client))
325 qt2160 = devm_kzalloc(&client->dev, sizeof(*qt2160), GFP_KERNEL);
329 input = devm_input_allocate_device(&client->dev);
333 qt2160->client = client;
354 error = qt2160_write(client, QT2160_CMD_CALIBRATE, 1);
356 dev_err(&client->dev, "failed to calibrate device\n");
360 if (client->irq) {
361 error = devm_request_threaded_irq(&client->dev, client->irq,
366 dev_err(&client->dev,
367 "failed to allocate irq %d\n", client->irq);
373 dev_err(&client->dev, "Failed to setup polling\n");
381 dev_err(&client->dev, "Failed to register leds\n");
387 dev_err(&client->dev,