Lines Matching refs:ds3232
52 struct ds3232 { struct
63 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_check_rtc_status() local
67 ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat); in ds3232_check_rtc_status()
78 ret = regmap_write(ds3232->regmap, DS3232_REG_SR, stat); in ds3232_check_rtc_status()
87 ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control); in ds3232_check_rtc_status()
94 return regmap_write(ds3232->regmap, DS3232_REG_CR, control); in ds3232_check_rtc_status()
99 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_read_time() local
106 ret = regmap_bulk_read(ds3232->regmap, DS3232_REG_SECONDS, buf, 7); in ds3232_read_time()
153 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_set_time() local
173 return regmap_bulk_write(ds3232->regmap, DS3232_REG_SECONDS, buf, 7); in ds3232_set_time()
183 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_read_alarm() local
188 ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat); in ds3232_read_alarm()
191 ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control); in ds3232_read_alarm()
194 ret = regmap_bulk_read(ds3232->regmap, DS3232_REG_ALARM1, buf, 4); in ds3232_read_alarm()
217 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_set_alarm() local
222 if (ds3232->irq <= 0) in ds3232_set_alarm()
231 ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control); in ds3232_set_alarm()
235 ret = regmap_write(ds3232->regmap, DS3232_REG_CR, control); in ds3232_set_alarm()
240 ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat); in ds3232_set_alarm()
244 ret = regmap_write(ds3232->regmap, DS3232_REG_SR, stat); in ds3232_set_alarm()
248 ret = regmap_bulk_write(ds3232->regmap, DS3232_REG_ALARM1, buf, 4); in ds3232_set_alarm()
254 ret = regmap_write(ds3232->regmap, DS3232_REG_CR, control); in ds3232_set_alarm()
262 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_update_alarm() local
266 ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control); in ds3232_update_alarm()
276 ret = regmap_write(ds3232->regmap, DS3232_REG_CR, control); in ds3232_update_alarm()
288 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_hwmon_read_temp() local
293 ret = regmap_bulk_read(ds3232->regmap, DS3232_REG_TEMPERATURE, temp_buf, in ds3232_hwmon_read_temp()
360 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_hwmon_register() local
366 hwmon_dev = devm_hwmon_device_register_with_info(dev, name, ds3232, in ds3232_hwmon_register()
377 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_alarm_irq_enable() local
379 if (ds3232->irq <= 0) in ds3232_alarm_irq_enable()
388 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_irq() local
392 rtc_lock(ds3232->rtc); in ds3232_irq()
394 ret = regmap_read(ds3232->regmap, DS3232_REG_SR, &stat); in ds3232_irq()
399 ret = regmap_read(ds3232->regmap, DS3232_REG_CR, &control); in ds3232_irq()
401 dev_warn(ds3232->dev, in ds3232_irq()
406 ret = regmap_write(ds3232->regmap, DS3232_REG_CR, in ds3232_irq()
409 dev_warn(ds3232->dev, in ds3232_irq()
417 ret = regmap_write(ds3232->regmap, DS3232_REG_SR, stat); in ds3232_irq()
419 dev_warn(ds3232->dev, in ds3232_irq()
425 rtc_update_irq(ds3232->rtc, 1, RTC_AF | RTC_IRQF); in ds3232_irq()
430 rtc_unlock(ds3232->rtc); in ds3232_irq()
464 struct ds3232 *ds3232; in ds3232_probe() local
477 ds3232 = devm_kzalloc(dev, sizeof(*ds3232), GFP_KERNEL); in ds3232_probe()
478 if (!ds3232) in ds3232_probe()
481 ds3232->regmap = regmap; in ds3232_probe()
482 ds3232->irq = irq; in ds3232_probe()
483 ds3232->dev = dev; in ds3232_probe()
484 dev_set_drvdata(dev, ds3232); in ds3232_probe()
490 if (ds3232->irq > 0) in ds3232_probe()
495 ds3232->rtc = devm_rtc_device_register(dev, name, &ds3232_rtc_ops, in ds3232_probe()
497 if (IS_ERR(ds3232->rtc)) in ds3232_probe()
498 return PTR_ERR(ds3232->rtc); in ds3232_probe()
500 ret = devm_rtc_nvmem_register(ds3232->rtc, &nvmem_cfg); in ds3232_probe()
504 if (ds3232->irq > 0) { in ds3232_probe()
505 ret = devm_request_threaded_irq(dev, ds3232->irq, NULL, in ds3232_probe()
511 ds3232->irq = 0; in ds3232_probe()
524 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_suspend() local
527 if (enable_irq_wake(ds3232->irq)) in ds3232_suspend()
536 struct ds3232 *ds3232 = dev_get_drvdata(dev); in ds3232_resume() local
539 disable_irq_wake(ds3232->irq); in ds3232_resume()