Lines Matching refs:client
115 struct i2c_client *client; member
117 s32 (*read_block_data)(const struct i2c_client *client, u8 command,
119 s32 (*write_block_data)(const struct i2c_client *client, u8 command,
190 static s32 ds1307_read_block_data_once(const struct i2c_client *client, in ds1307_read_block_data_once() argument
196 data = i2c_smbus_read_byte_data(client, command + i); in ds1307_read_block_data_once()
204 static s32 ds1307_read_block_data(const struct i2c_client *client, u8 command, in ds1307_read_block_data() argument
211 dev_dbg(&client->dev, "ds1307_read_block_data (length=%d)\n", length); in ds1307_read_block_data()
212 ret = ds1307_read_block_data_once(client, command, length, values); in ds1307_read_block_data()
217 dev_err(&client->dev, in ds1307_read_block_data()
222 ret = ds1307_read_block_data_once(client, command, length, in ds1307_read_block_data()
230 static s32 ds1307_write_block_data(const struct i2c_client *client, u8 command, in ds1307_write_block_data() argument
236 dev_dbg(&client->dev, "ds1307_write_block_data (length=%d)\n", length); in ds1307_write_block_data()
241 dev_err(&client->dev, in ds1307_write_block_data()
246 ret = i2c_smbus_write_byte_data(client, command + i, in ds1307_write_block_data()
251 ret = ds1307_read_block_data_once(client, command, length, in ds1307_write_block_data()
266 static s32 ds1307_native_smbus_write_block_data(const struct i2c_client *client, in ds1307_native_smbus_write_block_data() argument
272 return i2c_smbus_write_i2c_block_data(client, in ds1307_native_smbus_write_block_data()
276 s32 retval = i2c_smbus_write_i2c_block_data(client, in ds1307_native_smbus_write_block_data()
288 static s32 ds1307_native_smbus_read_block_data(const struct i2c_client *client, in ds1307_native_smbus_read_block_data() argument
294 return i2c_smbus_read_i2c_block_data(client, in ds1307_native_smbus_read_block_data()
298 s32 retval = i2c_smbus_read_i2c_block_data(client, in ds1307_native_smbus_read_block_data()
319 struct i2c_client *client = dev_id; in ds1307_irq() local
320 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1307_irq()
325 stat = i2c_smbus_read_byte_data(client, DS1337_REG_STATUS); in ds1307_irq()
331 i2c_smbus_write_byte_data(client, DS1337_REG_STATUS, stat); in ds1307_irq()
333 control = i2c_smbus_read_byte_data(client, DS1337_REG_CONTROL); in ds1307_irq()
338 i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL, control); in ds1307_irq()
357 tmp = ds1307->read_block_data(ds1307->client, in ds1307_get_time()
437 result = ds1307->write_block_data(ds1307->client, in ds1307_set_time()
448 struct i2c_client *client = to_i2c_client(dev); in ds1337_read_alarm() local
449 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1337_read_alarm()
456 ret = ds1307->read_block_data(client, in ds1337_read_alarm()
500 struct i2c_client *client = to_i2c_client(dev); in ds1337_set_alarm() local
501 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1337_set_alarm()
516 ret = ds1307->read_block_data(client, in ds1337_set_alarm()
551 ret = ds1307->write_block_data(client, in ds1337_set_alarm()
563 struct i2c_client *client = to_i2c_client(dev); in ds1307_alarm_irq_enable() local
564 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1307_alarm_irq_enable()
570 ret = i2c_smbus_read_byte_data(client, DS1337_REG_CONTROL); in ds1307_alarm_irq_enable()
579 ret = i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL, ret); in ds1307_alarm_irq_enable()
618 struct i2c_client *client = dev_id; in mcp794xx_irq() local
619 struct ds1307 *ds1307 = i2c_get_clientdata(client); in mcp794xx_irq()
626 reg = i2c_smbus_read_byte_data(client, MCP794XX_REG_ALARM0_CTRL); in mcp794xx_irq()
632 ret = i2c_smbus_write_byte_data(client, MCP794XX_REG_ALARM0_CTRL, reg); in mcp794xx_irq()
637 reg = i2c_smbus_read_byte_data(client, MCP794XX_REG_CONTROL); in mcp794xx_irq()
641 ret = i2c_smbus_write_byte_data(client, MCP794XX_REG_CONTROL, reg); in mcp794xx_irq()
655 struct i2c_client *client = to_i2c_client(dev); in mcp794xx_read_alarm() local
656 struct ds1307 *ds1307 = i2c_get_clientdata(client); in mcp794xx_read_alarm()
664 ret = ds1307->read_block_data(client, MCP794XX_REG_CONTROL, 10, regs); in mcp794xx_read_alarm()
694 struct i2c_client *client = to_i2c_client(dev); in mcp794xx_set_alarm() local
695 struct ds1307 *ds1307 = i2c_get_clientdata(client); in mcp794xx_set_alarm()
709 ret = ds1307->read_block_data(client, MCP794XX_REG_CONTROL, 10, regs); in mcp794xx_set_alarm()
728 ret = ds1307->write_block_data(client, MCP794XX_REG_CONTROL, 10, regs); in mcp794xx_set_alarm()
735 return i2c_smbus_write_byte_data(client, MCP794XX_REG_CONTROL, regs[0]); in mcp794xx_set_alarm()
740 struct i2c_client *client = to_i2c_client(dev); in mcp794xx_alarm_irq_enable() local
741 struct ds1307 *ds1307 = i2c_get_clientdata(client); in mcp794xx_alarm_irq_enable()
747 reg = i2c_smbus_read_byte_data(client, MCP794XX_REG_CONTROL); in mcp794xx_alarm_irq_enable()
756 return i2c_smbus_write_byte_data(client, MCP794XX_REG_CONTROL, reg); in mcp794xx_alarm_irq_enable()
774 struct i2c_client *client; in ds1307_nvram_read() local
778 client = kobj_to_i2c_client(kobj); in ds1307_nvram_read()
779 ds1307 = i2c_get_clientdata(client); in ds1307_nvram_read()
781 result = ds1307->read_block_data(client, ds1307->nvram_offset + off, in ds1307_nvram_read()
784 dev_err(&client->dev, "%s error %d\n", "nvram read", result); in ds1307_nvram_read()
793 struct i2c_client *client; in ds1307_nvram_write() local
797 client = kobj_to_i2c_client(kobj); in ds1307_nvram_write()
798 ds1307 = i2c_get_clientdata(client); in ds1307_nvram_write()
800 result = ds1307->write_block_data(client, ds1307->nvram_offset + off, in ds1307_nvram_write()
803 dev_err(&client->dev, "%s error %d\n", "nvram write", result); in ds1307_nvram_write()
812 static u8 do_trickle_setup_ds1339(struct i2c_client *client, in do_trickle_setup_ds1339() argument
829 dev_warn(&client->dev, in do_trickle_setup_ds1339()
836 static void ds1307_trickle_of_init(struct i2c_client *client, in ds1307_trickle_of_init() argument
844 if (of_property_read_u32(client->dev.of_node, "trickle-resistor-ohms" , &ohms)) in ds1307_trickle_of_init()
846 if (of_property_read_bool(client->dev.of_node, "trickle-diode-disable")) in ds1307_trickle_of_init()
848 chip->trickle_charger_setup = chip->do_trickle_setup(client, in ds1307_trickle_of_init()
854 static int ds1307_probe(struct i2c_client *client, in ds1307_probe() argument
861 struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); in ds1307_probe()
864 struct ds1307_platform_data *pdata = dev_get_platdata(&client->dev); in ds1307_probe()
878 ds1307 = devm_kzalloc(&client->dev, sizeof(struct ds1307), GFP_KERNEL); in ds1307_probe()
882 i2c_set_clientdata(client, ds1307); in ds1307_probe()
884 ds1307->client = client; in ds1307_probe()
887 if (!pdata && client->dev.of_node) in ds1307_probe()
888 ds1307_trickle_of_init(client, chip); in ds1307_probe()
893 dev_dbg(&client->dev, "writing trickle charger info 0x%x to 0x%x\n", in ds1307_probe()
896 i2c_smbus_write_byte_data(client, chip->trickle_charger_reg, in ds1307_probe()
915 tmp = ds1307->read_block_data(ds1307->client, in ds1307_probe()
918 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
932 if (ds1307->client->irq > 0 && chip->alarm) { in ds1307_probe()
940 i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL, in ds1307_probe()
945 i2c_smbus_write_byte_data(client, DS1337_REG_STATUS, in ds1307_probe()
947 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
952 tmp = i2c_smbus_read_i2c_block_data(ds1307->client, in ds1307_probe()
955 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
963 i2c_smbus_write_byte_data(client, in ds1307_probe()
966 dev_warn(&client->dev, in ds1307_probe()
972 i2c_smbus_write_byte_data(client, in ds1307_probe()
975 dev_warn(&client->dev, "power-on detected\n"); in ds1307_probe()
980 i2c_smbus_write_byte_data(client, in ds1307_probe()
983 dev_warn(&client->dev, "voltage drop detected\n"); in ds1307_probe()
991 i2c_smbus_write_byte_data(client, in ds1307_probe()
996 tmp = i2c_smbus_read_i2c_block_data(ds1307->client, in ds1307_probe()
999 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
1011 i2c_smbus_write_byte_data(client, in ds1307_probe()
1021 if (ds1307->client->irq > 0 && chip->alarm) { in ds1307_probe()
1032 tmp = ds1307->read_block_data(ds1307->client, ds1307->offset, 8, buf); in ds1307_probe()
1034 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
1050 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, 0); in ds1307_probe()
1051 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1058 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, 0); in ds1307_probe()
1062 i2c_smbus_write_byte_data(client, DS1307_REG_CONTROL, in ds1307_probe()
1065 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1072 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, 0); in ds1307_probe()
1074 tmp = i2c_smbus_read_byte_data(client, DS1340_REG_FLAG); in ds1307_probe()
1076 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
1083 i2c_smbus_write_byte_data(client, DS1340_REG_FLAG, 0); in ds1307_probe()
1084 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1090 i2c_smbus_write_byte_data(client, DS1307_REG_WDAY, in ds1307_probe()
1097 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, in ds1307_probe()
1099 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1132 i2c_smbus_write_byte_data(client, in ds1307_probe()
1138 device_set_wakeup_capable(&client->dev, true); in ds1307_probe()
1141 ds1307->rtc = devm_rtc_device_register(&client->dev, client->name, in ds1307_probe()
1148 err = devm_request_threaded_irq(&client->dev, in ds1307_probe()
1149 client->irq, NULL, irq_handler, in ds1307_probe()
1151 ds1307->rtc->name, client); in ds1307_probe()
1153 client->irq = 0; in ds1307_probe()
1154 device_set_wakeup_capable(&client->dev, false); in ds1307_probe()
1156 dev_err(&client->dev, "unable to request IRQ!\n"); in ds1307_probe()
1158 dev_dbg(&client->dev, "got IRQ %d\n", client->irq); in ds1307_probe()
1163 ds1307->nvram = devm_kzalloc(&client->dev, in ds1307_probe()
1167 dev_err(&client->dev, "cannot allocate memory for nvram sysfs\n"); in ds1307_probe()
1180 err = sysfs_create_bin_file(&client->dev.kobj, in ds1307_probe()
1183 dev_err(&client->dev, in ds1307_probe()
1188 dev_info(&client->dev, "%zu bytes nvram\n", in ds1307_probe()
1200 static int ds1307_remove(struct i2c_client *client) in ds1307_remove() argument
1202 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1307_remove()
1205 sysfs_remove_bin_file(&client->dev.kobj, ds1307->nvram); in ds1307_remove()