Lines Matching refs:client

75 	struct i2c_client *client;  member
82 static int rx8025_read_reg(struct i2c_client *client, int number, u8 *value) in rx8025_read_reg() argument
84 int ret = i2c_smbus_read_byte_data(client, (number << 4) | 0x08); in rx8025_read_reg()
87 dev_err(&client->dev, "Unable to read register #%d\n", number); in rx8025_read_reg()
95 static int rx8025_read_regs(struct i2c_client *client, in rx8025_read_regs() argument
98 int ret = i2c_smbus_read_i2c_block_data(client, (number << 4) | 0x08, in rx8025_read_regs()
102 dev_err(&client->dev, "Unable to read registers #%d..#%d\n", in rx8025_read_regs()
110 static int rx8025_write_reg(struct i2c_client *client, int number, u8 value) in rx8025_write_reg() argument
112 int ret = i2c_smbus_write_byte_data(client, number << 4, value); in rx8025_write_reg()
115 dev_err(&client->dev, "Unable to write register #%d\n", in rx8025_write_reg()
121 static int rx8025_write_regs(struct i2c_client *client, in rx8025_write_regs() argument
124 int ret = i2c_smbus_write_i2c_block_data(client, (number << 4) | 0x08, in rx8025_write_regs()
128 dev_err(&client->dev, "Unable to write registers #%d..#%d\n", in rx8025_write_regs()
136 struct i2c_client *client = dev_id; in rx8025_irq() local
137 struct rx8025_data *rx8025 = i2c_get_clientdata(client); in rx8025_irq()
148 struct i2c_client *client = rx8025->client; in rx8025_work() local
154 if (rx8025_read_reg(client, RX8025_REG_CTRL2, &status)) in rx8025_work()
158 dev_warn(&client->dev, "Oscillation stop was detected," in rx8025_work()
172 if (rx8025_write_reg(client, RX8025_REG_CTRL1, in rx8025_work()
181 rx8025_write_reg(client, RX8025_REG_CTRL2, in rx8025_work()
186 enable_irq(client->irq); in rx8025_work()
197 err = rx8025_read_regs(rx8025->client, RX8025_REG_SEC, 7, date); in rx8025_get_time()
261 return rx8025_write_regs(rx8025->client, RX8025_REG_SEC, 7, date); in rx8025_set_time()
264 static int rx8025_init_client(struct i2c_client *client, int *need_reset) in rx8025_init_client() argument
266 struct rx8025_data *rx8025 = i2c_get_clientdata(client); in rx8025_init_client()
271 err = rx8025_read_regs(rx8025->client, RX8025_REG_CTRL1, 2, ctrl); in rx8025_init_client()
279 dev_warn(&client->dev, "power-on reset was detected, " in rx8025_init_client()
285 dev_warn(&client->dev, "a power voltage drop was detected, " in rx8025_init_client()
291 dev_warn(&client->dev, "Oscillation stop was detected," in rx8025_init_client()
297 dev_warn(&client->dev, "Alarm was detected\n"); in rx8025_init_client()
311 err = rx8025_write_reg(client, RX8025_REG_CTRL2, ctrl2); in rx8025_init_client()
321 struct i2c_client *client = rx8025->client; in rx8025_read_alarm() local
325 if (client->irq <= 0) in rx8025_read_alarm()
328 err = rx8025_read_regs(client, RX8025_REG_ALDMIN, 2, ald); in rx8025_read_alarm()
332 err = rx8025_read_reg(client, RX8025_REG_CTRL2, &ctrl2); in rx8025_read_alarm()
365 struct i2c_client *client = to_i2c_client(dev); in rx8025_set_alarm() local
370 if (client->irq <= 0) in rx8025_set_alarm()
385 err = rx8025_write_reg(rx8025->client, RX8025_REG_CTRL1, in rx8025_set_alarm()
390 err = rx8025_write_regs(rx8025->client, RX8025_REG_ALDMIN, 2, ald); in rx8025_set_alarm()
396 err = rx8025_write_reg(rx8025->client, RX8025_REG_CTRL1, in rx8025_set_alarm()
419 err = rx8025_write_reg(rx8025->client, RX8025_REG_CTRL1, in rx8025_alarm_irq_enable()
454 struct i2c_client *client = to_i2c_client(dev); in rx8025_get_clock_adjust() local
458 err = rx8025_read_reg(client, RX8025_REG_DIGOFF, &digoff); in rx8025_get_clock_adjust()
472 struct i2c_client *client = to_i2c_client(dev); in rx8025_set_clock_adjust() local
487 err = rx8025_write_reg(client, RX8025_REG_DIGOFF, digoff); in rx8025_set_clock_adjust()
537 static int rx8025_probe(struct i2c_client *client, in rx8025_probe() argument
540 struct i2c_adapter *adapter = to_i2c_adapter(client->dev.parent); in rx8025_probe()
552 rx8025 = devm_kzalloc(&client->dev, sizeof(*rx8025), GFP_KERNEL); in rx8025_probe()
558 rx8025->client = client; in rx8025_probe()
559 i2c_set_clientdata(client, rx8025); in rx8025_probe()
562 err = rx8025_init_client(client, &need_reset); in rx8025_probe()
568 dev_info(&client->dev, in rx8025_probe()
571 rx8025_set_time(&client->dev, &tm); in rx8025_probe()
574 rx8025->rtc = devm_rtc_device_register(&client->dev, client->name, in rx8025_probe()
578 dev_err(&client->dev, "unable to register the class device\n"); in rx8025_probe()
582 if (client->irq > 0) { in rx8025_probe()
583 dev_info(&client->dev, "IRQ %d supplied\n", client->irq); in rx8025_probe()
584 err = request_irq(client->irq, rx8025_irq, in rx8025_probe()
585 0, "rx8025", client); in rx8025_probe()
587 dev_err(&client->dev, "unable to request IRQ\n"); in rx8025_probe()
595 err = rx8025_sysfs_register(&client->dev); in rx8025_probe()
602 if (client->irq > 0) in rx8025_probe()
603 free_irq(client->irq, client); in rx8025_probe()
610 static int rx8025_remove(struct i2c_client *client) in rx8025_remove() argument
612 struct rx8025_data *rx8025 = i2c_get_clientdata(client); in rx8025_remove()
615 if (client->irq > 0) { in rx8025_remove()
620 free_irq(client->irq, client); in rx8025_remove()
624 rx8025_sysfs_unregister(&client->dev); in rx8025_remove()