Lines Matching refs:client
71 struct i2c_client *client; member
85 static int ds1374_read_rtc(struct i2c_client *client, u32 *time, in ds1374_read_rtc() argument
97 ret = i2c_smbus_read_i2c_block_data(client, reg, nbytes, buf); in ds1374_read_rtc()
110 static int ds1374_write_rtc(struct i2c_client *client, u32 time, in ds1374_write_rtc() argument
126 return i2c_smbus_write_i2c_block_data(client, reg, nbytes, buf); in ds1374_write_rtc()
129 static int ds1374_check_rtc_status(struct i2c_client *client) in ds1374_check_rtc_status() argument
134 stat = i2c_smbus_read_byte_data(client, DS1374_REG_SR); in ds1374_check_rtc_status()
139 dev_warn(&client->dev, in ds1374_check_rtc_status()
144 ret = i2c_smbus_write_byte_data(client, DS1374_REG_SR, stat); in ds1374_check_rtc_status()
153 control = i2c_smbus_read_byte_data(client, DS1374_REG_CR); in ds1374_check_rtc_status()
158 return i2c_smbus_write_byte_data(client, DS1374_REG_CR, control); in ds1374_check_rtc_status()
163 struct i2c_client *client = to_i2c_client(dev); in ds1374_read_time() local
167 ret = ds1374_read_rtc(client, &itime, DS1374_REG_TOD0, 4); in ds1374_read_time()
176 struct i2c_client *client = to_i2c_client(dev); in ds1374_set_time() local
180 return ds1374_write_rtc(client, itime, DS1374_REG_TOD0, 4); in ds1374_set_time()
190 struct i2c_client *client = to_i2c_client(dev); in ds1374_read_alarm() local
191 struct ds1374 *ds1374 = i2c_get_clientdata(client); in ds1374_read_alarm()
196 if (client->irq <= 0) in ds1374_read_alarm()
201 cr = ret = i2c_smbus_read_byte_data(client, DS1374_REG_CR); in ds1374_read_alarm()
205 sr = ret = i2c_smbus_read_byte_data(client, DS1374_REG_SR); in ds1374_read_alarm()
209 ret = ds1374_read_rtc(client, &now, DS1374_REG_TOD0, 4); in ds1374_read_alarm()
213 ret = ds1374_read_rtc(client, &cur_alarm, DS1374_REG_WDALM0, 3); in ds1374_read_alarm()
228 struct i2c_client *client = to_i2c_client(dev); in ds1374_set_alarm() local
229 struct ds1374 *ds1374 = i2c_get_clientdata(client); in ds1374_set_alarm()
235 if (client->irq <= 0) in ds1374_set_alarm()
258 ret = cr = i2c_smbus_read_byte_data(client, DS1374_REG_CR); in ds1374_set_alarm()
266 ret = i2c_smbus_write_byte_data(client, DS1374_REG_CR, cr); in ds1374_set_alarm()
270 ret = ds1374_write_rtc(client, new_alarm, DS1374_REG_WDALM0, 3); in ds1374_set_alarm()
278 ret = i2c_smbus_write_byte_data(client, DS1374_REG_CR, cr); in ds1374_set_alarm()
289 struct i2c_client *client = dev_id; in ds1374_irq() local
290 struct ds1374 *ds1374 = i2c_get_clientdata(client); in ds1374_irq()
300 struct i2c_client *client = ds1374->client; in ds1374_work() local
305 stat = i2c_smbus_read_byte_data(client, DS1374_REG_SR); in ds1374_work()
311 i2c_smbus_write_byte_data(client, DS1374_REG_SR, stat); in ds1374_work()
313 control = i2c_smbus_read_byte_data(client, DS1374_REG_CR); in ds1374_work()
318 i2c_smbus_write_byte_data(client, DS1374_REG_CR, control); in ds1374_work()
325 enable_irq(client->irq); in ds1374_work()
333 struct i2c_client *client = to_i2c_client(dev); in ds1374_alarm_irq_enable() local
334 struct ds1374 *ds1374 = i2c_get_clientdata(client); in ds1374_alarm_irq_enable()
339 ret = i2c_smbus_read_byte_data(client, DS1374_REG_CR); in ds1374_alarm_irq_enable()
349 ret = i2c_smbus_write_byte_data(client, DS1374_REG_CR, ret); in ds1374_alarm_irq_enable()
609 static int ds1374_probe(struct i2c_client *client, in ds1374_probe() argument
615 ds1374 = devm_kzalloc(&client->dev, sizeof(struct ds1374), GFP_KERNEL); in ds1374_probe()
619 ds1374->client = client; in ds1374_probe()
620 i2c_set_clientdata(client, ds1374); in ds1374_probe()
625 ret = ds1374_check_rtc_status(client); in ds1374_probe()
629 if (client->irq > 0) { in ds1374_probe()
630 ret = devm_request_irq(&client->dev, client->irq, ds1374_irq, 0, in ds1374_probe()
631 "ds1374", client); in ds1374_probe()
633 dev_err(&client->dev, "unable to request IRQ\n"); in ds1374_probe()
637 device_set_wakeup_capable(&client->dev, 1); in ds1374_probe()
640 ds1374->rtc = devm_rtc_device_register(&client->dev, client->name, in ds1374_probe()
643 dev_err(&client->dev, "unable to register the class device\n"); in ds1374_probe()
648 save_client = client; in ds1374_probe()
663 static int ds1374_remove(struct i2c_client *client) in ds1374_remove() argument
665 struct ds1374 *ds1374 = i2c_get_clientdata(client); in ds1374_remove()
672 if (client->irq > 0) { in ds1374_remove()
677 devm_free_irq(&client->dev, client->irq, client); in ds1374_remove()
687 struct i2c_client *client = to_i2c_client(dev); in ds1374_suspend() local
689 if (client->irq > 0 && device_may_wakeup(&client->dev)) in ds1374_suspend()
690 enable_irq_wake(client->irq); in ds1374_suspend()
696 struct i2c_client *client = to_i2c_client(dev); in ds1374_resume() local
698 if (client->irq > 0 && device_may_wakeup(&client->dev)) in ds1374_resume()
699 disable_irq_wake(client->irq); in ds1374_resume()