Lines Matching refs:client

158 	struct i2c_client		*client;  member
174 static int sbs_read_word_data(struct i2c_client *client, u8 address) in sbs_read_word_data() argument
176 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_read_word_data()
184 ret = i2c_smbus_read_word_data(client, address); in sbs_read_word_data()
191 dev_dbg(&client->dev, in sbs_read_word_data()
200 static int sbs_read_string_data(struct i2c_client *client, u8 address, in sbs_read_string_data() argument
203 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_read_string_data()
214 if (!i2c_check_functionality(client->adapter, in sbs_read_string_data()
222 ret = i2c_smbus_read_byte_data(client, address); in sbs_read_string_data()
229 dev_dbg(&client->dev, in sbs_read_string_data()
238 dev_err(&client->dev, in sbs_read_string_data()
247 client, address, in sbs_read_string_data()
255 dev_dbg(&client->dev, in sbs_read_string_data()
268 static int sbs_write_word_data(struct i2c_client *client, u8 address, in sbs_write_word_data() argument
271 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_write_word_data()
279 ret = i2c_smbus_write_word_data(client, address, in sbs_write_word_data()
287 dev_dbg(&client->dev, in sbs_write_word_data()
297 struct i2c_client *client, enum power_supply_property psp, in sbs_get_battery_presence_and_health() argument
301 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_get_battery_presence_and_health()
317 ret = sbs_write_word_data(client, sbs_data[REG_MANUFACTURER_DATA].addr, in sbs_get_battery_presence_and_health()
325 ret = sbs_read_word_data(client, sbs_data[REG_MANUFACTURER_DATA].addr); in sbs_get_battery_presence_and_health()
360 static int sbs_get_battery_property(struct i2c_client *client, in sbs_get_battery_property() argument
364 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_get_battery_property()
367 ret = sbs_read_word_data(client, sbs_data[reg_offset].addr); in sbs_get_battery_property()
407 static int sbs_get_battery_string_property(struct i2c_client *client, in sbs_get_battery_string_property() argument
412 ret = sbs_read_string_data(client, sbs_data[reg_offset].addr, val); in sbs_get_battery_string_property()
420 static void sbs_unit_adjustment(struct i2c_client *client, in sbs_unit_adjustment() argument
463 dev_dbg(&client->dev, in sbs_unit_adjustment()
468 static enum sbs_battery_mode sbs_set_battery_mode(struct i2c_client *client, in sbs_set_battery_mode() argument
473 original_val = sbs_read_word_data(client, BATTERY_MODE_OFFSET); in sbs_set_battery_mode()
485 ret = sbs_write_word_data(client, BATTERY_MODE_OFFSET, ret); in sbs_set_battery_mode()
492 static int sbs_get_battery_capacity(struct i2c_client *client, in sbs_get_battery_capacity() argument
502 mode = sbs_set_battery_mode(client, mode); in sbs_get_battery_capacity()
506 ret = sbs_read_word_data(client, sbs_data[reg_offset].addr); in sbs_get_battery_capacity()
517 ret = sbs_set_battery_mode(client, mode); in sbs_get_battery_capacity()
525 static int sbs_get_battery_serial_number(struct i2c_client *client, in sbs_get_battery_serial_number() argument
530 ret = sbs_read_word_data(client, sbs_data[REG_SERIAL_NUMBER].addr); in sbs_get_battery_serial_number()
540 static int sbs_get_property_index(struct i2c_client *client, in sbs_get_property_index() argument
548 dev_warn(&client->dev, in sbs_get_property_index()
560 struct i2c_client *client = chip->client; in sbs_get_property() local
565 ret = sbs_get_battery_presence_and_health(client, psp, val); in sbs_get_property()
581 ret = sbs_get_property_index(client, psp); in sbs_get_property()
585 ret = sbs_get_battery_capacity(client, ret, psp, val); in sbs_get_property()
589 ret = sbs_get_battery_serial_number(client, val); in sbs_get_property()
601 ret = sbs_get_property_index(client, psp); in sbs_get_property()
605 ret = sbs_get_battery_property(client, ret, psp, val); in sbs_get_property()
609 ret = sbs_get_property_index(client, psp); in sbs_get_property()
613 ret = sbs_get_battery_string_property(client, ret, psp, in sbs_get_property()
619 ret = sbs_get_property_index(client, psp); in sbs_get_property()
623 ret = sbs_get_battery_string_property(client, ret, psp, in sbs_get_property()
629 dev_err(&client->dev, in sbs_get_property()
646 sbs_unit_adjustment(client, psp, val); in sbs_get_property()
649 dev_dbg(&client->dev, in sbs_get_property()
694 ret = sbs_read_word_data(chip->client, sbs_data[REG_STATUS].addr); in sbs_delayed_work()
735 struct i2c_client *client) in sbs_of_populate_pdata() argument
737 struct device_node *of_node = client->dev.of_node; in sbs_of_populate_pdata()
738 struct sbs_platform_data *pdata = client->dev.platform_data; in sbs_of_populate_pdata()
759 pdata = devm_kzalloc(&client->dev, sizeof(struct sbs_platform_data), in sbs_of_populate_pdata()
790 struct i2c_client *client) in sbs_of_populate_pdata() argument
792 return client->dev.platform_data; in sbs_of_populate_pdata()
804 static int sbs_probe(struct i2c_client *client, in sbs_probe() argument
809 struct sbs_platform_data *pdata = client->dev.platform_data; in sbs_probe()
814 sbs_desc = devm_kmemdup(&client->dev, &sbs_default_desc, in sbs_probe()
819 sbs_desc->name = devm_kasprintf(&client->dev, GFP_KERNEL, "sbs-%s", in sbs_probe()
820 dev_name(&client->dev)); in sbs_probe()
828 chip->client = client; in sbs_probe()
831 psy_cfg.of_node = client->dev.of_node; in sbs_probe()
839 pdata = sbs_of_populate_pdata(client); in sbs_probe()
846 i2c_set_clientdata(client, chip); in sbs_probe()
851 rc = gpio_request(pdata->battery_detect, dev_name(&client->dev)); in sbs_probe()
853 dev_warn(&client->dev, "Failed to request gpio: %d\n", rc); in sbs_probe()
860 dev_warn(&client->dev, "Failed to get gpio as input: %d\n", rc); in sbs_probe()
868 dev_warn(&client->dev, "Failed to get gpio as irq: %d\n", irq); in sbs_probe()
876 dev_name(&client->dev), chip->power_supply); in sbs_probe()
878 dev_warn(&client->dev, "Failed to request irq: %d\n", rc); in sbs_probe()
891 rc = sbs_read_word_data(client, sbs_data[REG_STATUS].addr); in sbs_probe()
893 dev_err(&client->dev, "%s: Failed to get device status\n", in sbs_probe()
898 chip->power_supply = power_supply_register(&client->dev, sbs_desc, in sbs_probe()
901 dev_err(&client->dev, in sbs_probe()
907 dev_info(&client->dev, in sbs_probe()
908 "%s: battery gas gauge device registered\n", client->name); in sbs_probe()
927 static int sbs_remove(struct i2c_client *client) in sbs_remove() argument
929 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_remove()
950 struct i2c_client *client = to_i2c_client(dev); in sbs_suspend() local
951 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_suspend()
958 ret = sbs_write_word_data(client, sbs_data[REG_MANUFACTURER_DATA].addr, in sbs_suspend()