Lines Matching refs:client
76 struct i2c_client *client[]; member
154 return at24->client[i]; in at24_translate_offset()
162 struct i2c_client *client; in at24_eeprom_read() local
184 client = at24_translate_offset(at24, &offset); in at24_eeprom_read()
214 msg[0].addr = client->addr; in at24_eeprom_read()
218 msg[1].addr = client->addr; in at24_eeprom_read()
234 status = i2c_smbus_read_i2c_block_data(client, offset, in at24_eeprom_read()
238 status = i2c_smbus_read_word_data(client, offset); in at24_eeprom_read()
246 status = i2c_smbus_read_byte_data(client, offset); in at24_eeprom_read()
253 status = i2c_transfer(client->adapter, msg, 2); in at24_eeprom_read()
257 dev_dbg(&client->dev, "read %zu@%d --> %d (%ld)\n", in at24_eeprom_read()
326 struct i2c_client *client; in at24_eeprom_write() local
333 client = at24_translate_offset(at24, &offset); in at24_eeprom_write()
348 msg.addr = client->addr; in at24_eeprom_write()
372 status = i2c_smbus_write_i2c_block_data(client, in at24_eeprom_write()
376 status = i2c_smbus_write_byte_data(client, in at24_eeprom_write()
384 status = i2c_transfer(client->adapter, &msg, 1); in at24_eeprom_write()
388 dev_dbg(&client->dev, "write %zu@%d --> %zd (%ld)\n", in at24_eeprom_write()
475 static void at24_get_ofdata(struct i2c_client *client, in at24_get_ofdata() argument
479 struct device_node *node = client->dev.of_node; in at24_get_ofdata()
490 static void at24_get_ofdata(struct i2c_client *client, in at24_get_ofdata() argument
495 static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id) in at24_probe() argument
506 if (client->dev.platform_data) { in at24_probe()
507 chip = *(struct at24_platform_data *)client->dev.platform_data; in at24_probe()
524 at24_get_ofdata(client, &chip); in at24_probe()
531 dev_warn(&client->dev, in at24_probe()
534 dev_err(&client->dev, "page_size must not be 0!\n"); in at24_probe()
538 dev_warn(&client->dev, in at24_probe()
542 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { in at24_probe()
546 if (i2c_check_functionality(client->adapter, in at24_probe()
549 } else if (i2c_check_functionality(client->adapter, in at24_probe()
552 } else if (i2c_check_functionality(client->adapter, in at24_probe()
561 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { in at24_probe()
562 if (i2c_check_functionality(client->adapter, in at24_probe()
565 } else if (i2c_check_functionality(client->adapter, in at24_probe()
578 at24 = devm_kzalloc(&client->dev, sizeof(struct at24_data) + in at24_probe()
619 at24->writebuf = devm_kzalloc(&client->dev, in at24_probe()
624 dev_warn(&client->dev, in at24_probe()
629 at24->client[0] = client; in at24_probe()
633 at24->client[i] = i2c_new_dummy(client->adapter, in at24_probe()
634 client->addr + i); in at24_probe()
635 if (!at24->client[i]) { in at24_probe()
636 dev_err(&client->dev, "address 0x%02x unavailable\n", in at24_probe()
637 client->addr + i); in at24_probe()
643 err = sysfs_create_bin_file(&client->dev.kobj, &at24->bin); in at24_probe()
647 i2c_set_clientdata(client, at24); in at24_probe()
649 dev_info(&client->dev, "%zu byte %s EEPROM, %s, %u bytes/write\n", in at24_probe()
650 at24->bin.size, client->name, in at24_probe()
654 dev_notice(&client->dev, "Falling back to %s reads, " in at24_probe()
667 if (at24->client[i]) in at24_probe()
668 i2c_unregister_device(at24->client[i]); in at24_probe()
673 static int at24_remove(struct i2c_client *client) in at24_remove() argument
678 at24 = i2c_get_clientdata(client); in at24_remove()
679 sysfs_remove_bin_file(&client->dev.kobj, &at24->bin); in at24_remove()
682 i2c_unregister_device(at24->client[i]); in at24_remove()