Lines Matching refs:client

159 	struct i2c_client		*client;  member
176 static int sbs_read_word_data(struct i2c_client *client, u8 address) in sbs_read_word_data() argument
178 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_read_word_data()
186 ret = i2c_smbus_read_word_data(client, address); in sbs_read_word_data()
193 dev_dbg(&client->dev, in sbs_read_word_data()
202 static int sbs_read_string_data(struct i2c_client *client, u8 address, in sbs_read_string_data() argument
205 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_read_string_data()
216 if (!i2c_check_functionality(client->adapter, in sbs_read_string_data()
224 ret = i2c_smbus_read_byte_data(client, address); in sbs_read_string_data()
231 dev_dbg(&client->dev, in sbs_read_string_data()
240 dev_err(&client->dev, in sbs_read_string_data()
249 client, address, in sbs_read_string_data()
257 dev_dbg(&client->dev, in sbs_read_string_data()
270 static int sbs_write_word_data(struct i2c_client *client, u8 address, in sbs_write_word_data() argument
273 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_write_word_data()
281 ret = i2c_smbus_write_word_data(client, address, in sbs_write_word_data()
289 dev_dbg(&client->dev, in sbs_write_word_data()
299 struct i2c_client *client, enum power_supply_property psp, in sbs_get_battery_presence_and_health() argument
303 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_get_battery_presence_and_health()
319 ret = sbs_write_word_data(client, sbs_data[REG_MANUFACTURER_DATA].addr, in sbs_get_battery_presence_and_health()
327 ret = sbs_read_word_data(client, sbs_data[REG_MANUFACTURER_DATA].addr); in sbs_get_battery_presence_and_health()
362 static int sbs_get_battery_property(struct i2c_client *client, in sbs_get_battery_property() argument
366 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_get_battery_property()
369 ret = sbs_read_word_data(client, sbs_data[reg_offset].addr); in sbs_get_battery_property()
409 static int sbs_get_battery_string_property(struct i2c_client *client, in sbs_get_battery_string_property() argument
414 ret = sbs_read_string_data(client, sbs_data[reg_offset].addr, val); in sbs_get_battery_string_property()
422 static void sbs_unit_adjustment(struct i2c_client *client, in sbs_unit_adjustment() argument
465 dev_dbg(&client->dev, in sbs_unit_adjustment()
470 static enum sbs_battery_mode sbs_set_battery_mode(struct i2c_client *client, in sbs_set_battery_mode() argument
475 original_val = sbs_read_word_data(client, BATTERY_MODE_OFFSET); in sbs_set_battery_mode()
487 ret = sbs_write_word_data(client, BATTERY_MODE_OFFSET, ret); in sbs_set_battery_mode()
494 static int sbs_get_battery_capacity(struct i2c_client *client, in sbs_get_battery_capacity() argument
504 mode = sbs_set_battery_mode(client, mode); in sbs_get_battery_capacity()
508 ret = sbs_read_word_data(client, sbs_data[reg_offset].addr); in sbs_get_battery_capacity()
519 ret = sbs_set_battery_mode(client, mode); in sbs_get_battery_capacity()
527 static int sbs_get_battery_serial_number(struct i2c_client *client, in sbs_get_battery_serial_number() argument
532 ret = sbs_read_word_data(client, sbs_data[REG_SERIAL_NUMBER].addr); in sbs_get_battery_serial_number()
542 static int sbs_get_property_index(struct i2c_client *client, in sbs_get_property_index() argument
550 dev_warn(&client->dev, in sbs_get_property_index()
562 struct i2c_client *client = chip->client; in sbs_get_property() local
567 ret = sbs_get_battery_presence_and_health(client, psp, val); in sbs_get_property()
583 ret = sbs_get_property_index(client, psp); in sbs_get_property()
587 ret = sbs_get_battery_capacity(client, ret, psp, val); in sbs_get_property()
591 ret = sbs_get_battery_serial_number(client, val); in sbs_get_property()
603 ret = sbs_get_property_index(client, psp); in sbs_get_property()
607 ret = sbs_get_battery_property(client, ret, psp, val); in sbs_get_property()
611 ret = sbs_get_property_index(client, psp); in sbs_get_property()
615 ret = sbs_get_battery_string_property(client, ret, psp, in sbs_get_property()
621 ret = sbs_get_property_index(client, psp); in sbs_get_property()
625 ret = sbs_get_battery_string_property(client, ret, psp, in sbs_get_property()
631 dev_err(&client->dev, in sbs_get_property()
648 sbs_unit_adjustment(client, psp, val); in sbs_get_property()
651 dev_dbg(&client->dev, in sbs_get_property()
696 ret = sbs_read_word_data(chip->client, sbs_data[REG_STATUS].addr); in sbs_delayed_work()
737 struct i2c_client *client) in sbs_of_populate_pdata() argument
739 struct device_node *of_node = client->dev.of_node; in sbs_of_populate_pdata()
740 struct sbs_platform_data *pdata = client->dev.platform_data; in sbs_of_populate_pdata()
761 pdata = devm_kzalloc(&client->dev, sizeof(struct sbs_platform_data), in sbs_of_populate_pdata()
792 struct i2c_client *client) in sbs_of_populate_pdata() argument
794 return client->dev.platform_data; in sbs_of_populate_pdata()
806 static int sbs_probe(struct i2c_client *client, in sbs_probe() argument
811 struct sbs_platform_data *pdata = client->dev.platform_data; in sbs_probe()
816 sbs_desc = devm_kmemdup(&client->dev, &sbs_default_desc, in sbs_probe()
821 sbs_desc->name = devm_kasprintf(&client->dev, GFP_KERNEL, "sbs-%s", in sbs_probe()
822 dev_name(&client->dev)); in sbs_probe()
830 chip->client = client; in sbs_probe()
833 psy_cfg.of_node = client->dev.of_node; in sbs_probe()
841 pdata = sbs_of_populate_pdata(client); in sbs_probe()
848 i2c_set_clientdata(client, chip); in sbs_probe()
853 rc = gpio_request(pdata->battery_detect, dev_name(&client->dev)); in sbs_probe()
855 dev_warn(&client->dev, "Failed to request gpio: %d\n", rc); in sbs_probe()
862 dev_warn(&client->dev, "Failed to get gpio as input: %d\n", rc); in sbs_probe()
870 dev_warn(&client->dev, "Failed to get gpio as irq: %d\n", irq); in sbs_probe()
878 dev_name(&client->dev), chip->power_supply); in sbs_probe()
880 dev_warn(&client->dev, "Failed to request irq: %d\n", rc); in sbs_probe()
894 rc = sbs_read_word_data(client, sbs_data[REG_STATUS].addr); in sbs_probe()
897 dev_err(&client->dev, "%s: Failed to get device status\n", in sbs_probe()
903 chip->power_supply = power_supply_register(&client->dev, sbs_desc, in sbs_probe()
906 dev_err(&client->dev, in sbs_probe()
912 dev_info(&client->dev, in sbs_probe()
913 "%s: battery gas gauge device registered\n", client->name); in sbs_probe()
932 static int sbs_remove(struct i2c_client *client) in sbs_remove() argument
934 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_remove()
955 struct i2c_client *client = to_i2c_client(dev); in sbs_suspend() local
956 struct sbs_info *chip = i2c_get_clientdata(client); in sbs_suspend()
963 ret = sbs_write_word_data(client, sbs_data[REG_MANUFACTURER_DATA].addr, in sbs_suspend()