Lines Matching refs:client
115 struct i2c_client *client; member
118 s32 (*read_block_data)(const struct i2c_client *client, u8 command,
120 s32 (*write_block_data)(const struct i2c_client *client, u8 command,
191 static s32 ds1307_read_block_data_once(const struct i2c_client *client, in ds1307_read_block_data_once() argument
197 data = i2c_smbus_read_byte_data(client, command + i); in ds1307_read_block_data_once()
205 static s32 ds1307_read_block_data(const struct i2c_client *client, u8 command, in ds1307_read_block_data() argument
212 dev_dbg(&client->dev, "ds1307_read_block_data (length=%d)\n", length); in ds1307_read_block_data()
213 ret = ds1307_read_block_data_once(client, command, length, values); in ds1307_read_block_data()
218 dev_err(&client->dev, in ds1307_read_block_data()
223 ret = ds1307_read_block_data_once(client, command, length, in ds1307_read_block_data()
231 static s32 ds1307_write_block_data(const struct i2c_client *client, u8 command, in ds1307_write_block_data() argument
237 dev_dbg(&client->dev, "ds1307_write_block_data (length=%d)\n", length); in ds1307_write_block_data()
242 dev_err(&client->dev, in ds1307_write_block_data()
247 ret = i2c_smbus_write_byte_data(client, command + i, in ds1307_write_block_data()
252 ret = ds1307_read_block_data_once(client, command, length, in ds1307_write_block_data()
267 static s32 ds1307_native_smbus_write_block_data(const struct i2c_client *client, in ds1307_native_smbus_write_block_data() argument
273 return i2c_smbus_write_i2c_block_data(client, in ds1307_native_smbus_write_block_data()
277 s32 retval = i2c_smbus_write_i2c_block_data(client, in ds1307_native_smbus_write_block_data()
289 static s32 ds1307_native_smbus_read_block_data(const struct i2c_client *client, in ds1307_native_smbus_read_block_data() argument
295 return i2c_smbus_read_i2c_block_data(client, in ds1307_native_smbus_read_block_data()
299 s32 retval = i2c_smbus_read_i2c_block_data(client, in ds1307_native_smbus_read_block_data()
327 struct i2c_client *client; in ds1307_work() local
332 client = ds1307->client; in ds1307_work()
336 stat = i2c_smbus_read_byte_data(client, DS1337_REG_STATUS); in ds1307_work()
342 i2c_smbus_write_byte_data(client, DS1337_REG_STATUS, stat); in ds1307_work()
344 control = i2c_smbus_read_byte_data(client, DS1337_REG_CONTROL); in ds1307_work()
349 i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL, control); in ds1307_work()
356 enable_irq(client->irq); in ds1307_work()
362 struct i2c_client *client = dev_id; in ds1307_irq() local
363 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1307_irq()
378 tmp = ds1307->read_block_data(ds1307->client, in ds1307_get_time()
458 result = ds1307->write_block_data(ds1307->client, in ds1307_set_time()
469 struct i2c_client *client = to_i2c_client(dev); in ds1337_read_alarm() local
470 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1337_read_alarm()
477 ret = ds1307->read_block_data(client, in ds1337_read_alarm()
521 struct i2c_client *client = to_i2c_client(dev); in ds1337_set_alarm() local
522 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1337_set_alarm()
537 ret = ds1307->read_block_data(client, in ds1337_set_alarm()
572 ret = ds1307->write_block_data(client, in ds1337_set_alarm()
584 struct i2c_client *client = to_i2c_client(dev); in ds1307_alarm_irq_enable() local
585 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1307_alarm_irq_enable()
591 ret = i2c_smbus_read_byte_data(client, DS1337_REG_CONTROL); in ds1307_alarm_irq_enable()
600 ret = i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL, ret); in ds1307_alarm_irq_enable()
640 struct i2c_client *client = ds1307->client; in mcp794xx_work() local
646 reg = i2c_smbus_read_byte_data(client, MCP794XX_REG_ALARM0_CTRL); in mcp794xx_work()
652 ret = i2c_smbus_write_byte_data(client, MCP794XX_REG_ALARM0_CTRL, reg); in mcp794xx_work()
657 reg = i2c_smbus_read_byte_data(client, MCP794XX_REG_CONTROL); in mcp794xx_work()
661 ret = i2c_smbus_write_byte_data(client, MCP794XX_REG_CONTROL, reg); in mcp794xx_work()
669 enable_irq(client->irq); in mcp794xx_work()
675 struct i2c_client *client = to_i2c_client(dev); in mcp794xx_read_alarm() local
676 struct ds1307 *ds1307 = i2c_get_clientdata(client); in mcp794xx_read_alarm()
684 ret = ds1307->read_block_data(client, MCP794XX_REG_CONTROL, 10, regs); in mcp794xx_read_alarm()
714 struct i2c_client *client = to_i2c_client(dev); in mcp794xx_set_alarm() local
715 struct ds1307 *ds1307 = i2c_get_clientdata(client); in mcp794xx_set_alarm()
729 ret = ds1307->read_block_data(client, MCP794XX_REG_CONTROL, 10, regs); in mcp794xx_set_alarm()
751 ret = ds1307->write_block_data(client, MCP794XX_REG_CONTROL, 10, regs); in mcp794xx_set_alarm()
760 struct i2c_client *client = to_i2c_client(dev); in mcp794xx_alarm_irq_enable() local
761 struct ds1307 *ds1307 = i2c_get_clientdata(client); in mcp794xx_alarm_irq_enable()
767 reg = i2c_smbus_read_byte_data(client, MCP794XX_REG_CONTROL); in mcp794xx_alarm_irq_enable()
776 return i2c_smbus_write_byte_data(client, MCP794XX_REG_CONTROL, reg); in mcp794xx_alarm_irq_enable()
794 struct i2c_client *client; in ds1307_nvram_read() local
798 client = kobj_to_i2c_client(kobj); in ds1307_nvram_read()
799 ds1307 = i2c_get_clientdata(client); in ds1307_nvram_read()
808 result = ds1307->read_block_data(client, ds1307->nvram_offset + off, in ds1307_nvram_read()
811 dev_err(&client->dev, "%s error %d\n", "nvram read", result); in ds1307_nvram_read()
820 struct i2c_client *client; in ds1307_nvram_write() local
824 client = kobj_to_i2c_client(kobj); in ds1307_nvram_write()
825 ds1307 = i2c_get_clientdata(client); in ds1307_nvram_write()
834 result = ds1307->write_block_data(client, ds1307->nvram_offset + off, in ds1307_nvram_write()
837 dev_err(&client->dev, "%s error %d\n", "nvram write", result); in ds1307_nvram_write()
846 static u8 do_trickle_setup_ds1339(struct i2c_client *client, in do_trickle_setup_ds1339() argument
863 dev_warn(&client->dev, in do_trickle_setup_ds1339()
870 static void ds1307_trickle_of_init(struct i2c_client *client, in ds1307_trickle_of_init() argument
878 if (of_property_read_u32(client->dev.of_node, "trickle-resistor-ohms" , &ohms)) in ds1307_trickle_of_init()
880 if (of_property_read_bool(client->dev.of_node, "trickle-diode-disable")) in ds1307_trickle_of_init()
882 chip->trickle_charger_setup = chip->do_trickle_setup(client, in ds1307_trickle_of_init()
888 static int ds1307_probe(struct i2c_client *client, in ds1307_probe() argument
895 struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); in ds1307_probe()
898 struct ds1307_platform_data *pdata = dev_get_platdata(&client->dev); in ds1307_probe()
910 ds1307 = devm_kzalloc(&client->dev, sizeof(struct ds1307), GFP_KERNEL); in ds1307_probe()
914 i2c_set_clientdata(client, ds1307); in ds1307_probe()
916 ds1307->client = client; in ds1307_probe()
919 if (!pdata && client->dev.of_node) in ds1307_probe()
920 ds1307_trickle_of_init(client, chip); in ds1307_probe()
925 dev_dbg(&client->dev, "writing trickle charger info 0x%x to 0x%x\n", in ds1307_probe()
928 i2c_smbus_write_byte_data(client, chip->trickle_charger_reg, in ds1307_probe()
947 tmp = ds1307->read_block_data(ds1307->client, in ds1307_probe()
950 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
964 if (ds1307->client->irq > 0 && chip->alarm) { in ds1307_probe()
974 i2c_smbus_write_byte_data(client, DS1337_REG_CONTROL, in ds1307_probe()
979 i2c_smbus_write_byte_data(client, DS1337_REG_STATUS, in ds1307_probe()
981 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
986 tmp = i2c_smbus_read_i2c_block_data(ds1307->client, in ds1307_probe()
989 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
997 i2c_smbus_write_byte_data(client, in ds1307_probe()
1000 dev_warn(&client->dev, in ds1307_probe()
1006 i2c_smbus_write_byte_data(client, in ds1307_probe()
1009 dev_warn(&client->dev, "power-on detected\n"); in ds1307_probe()
1014 i2c_smbus_write_byte_data(client, in ds1307_probe()
1017 dev_warn(&client->dev, "voltage drop detected\n"); in ds1307_probe()
1025 i2c_smbus_write_byte_data(client, in ds1307_probe()
1030 tmp = i2c_smbus_read_i2c_block_data(ds1307->client, in ds1307_probe()
1033 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
1045 i2c_smbus_write_byte_data(client, in ds1307_probe()
1055 if (ds1307->client->irq > 0 && chip->alarm) { in ds1307_probe()
1066 tmp = ds1307->read_block_data(ds1307->client, ds1307->offset, 8, buf); in ds1307_probe()
1068 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
1084 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, 0); in ds1307_probe()
1085 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1092 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, 0); in ds1307_probe()
1096 i2c_smbus_write_byte_data(client, DS1307_REG_CONTROL, in ds1307_probe()
1099 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1106 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, 0); in ds1307_probe()
1108 tmp = i2c_smbus_read_byte_data(client, DS1340_REG_FLAG); in ds1307_probe()
1110 dev_dbg(&client->dev, "read error %d\n", tmp); in ds1307_probe()
1117 i2c_smbus_write_byte_data(client, DS1340_REG_FLAG, 0); in ds1307_probe()
1118 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1124 i2c_smbus_write_byte_data(client, DS1307_REG_WDAY, in ds1307_probe()
1131 i2c_smbus_write_byte_data(client, DS1307_REG_SECS, in ds1307_probe()
1133 dev_warn(&client->dev, "SET TIME!\n"); in ds1307_probe()
1166 i2c_smbus_write_byte_data(client, in ds1307_probe()
1171 device_set_wakeup_capable(&client->dev, want_irq); in ds1307_probe()
1172 ds1307->rtc = devm_rtc_device_register(&client->dev, client->name, in ds1307_probe()
1179 err = request_irq(client->irq, ds1307_irq, IRQF_SHARED, in ds1307_probe()
1180 ds1307->rtc->name, client); in ds1307_probe()
1182 client->irq = 0; in ds1307_probe()
1183 dev_err(&client->dev, "unable to request IRQ!\n"); in ds1307_probe()
1187 dev_dbg(&client->dev, "got IRQ %d\n", client->irq); in ds1307_probe()
1193 ds1307->nvram = devm_kzalloc(&client->dev, in ds1307_probe()
1197 dev_err(&client->dev, "cannot allocate memory for nvram sysfs\n"); in ds1307_probe()
1210 err = sysfs_create_bin_file(&client->dev.kobj, in ds1307_probe()
1213 dev_err(&client->dev, in ds1307_probe()
1218 dev_info(&client->dev, "%zu bytes nvram\n", in ds1307_probe()
1230 static int ds1307_remove(struct i2c_client *client) in ds1307_remove() argument
1232 struct ds1307 *ds1307 = i2c_get_clientdata(client); in ds1307_remove()
1235 free_irq(client->irq, client); in ds1307_remove()
1240 sysfs_remove_bin_file(&client->dev.kobj, ds1307->nvram); in ds1307_remove()