Lines Matching refs:info

113 static inline int max8997_rtc_set_update_reg(struct max8997_rtc_info *info)
117 ret = max8997_write_reg(info->rtc, MAX8997_RTC_UPDATE1,
120 dev_err(info->dev, "%s: fail to write update reg(%d)\n",
134 struct max8997_rtc_info *info = dev_get_drvdata(dev);
138 mutex_lock(&info->lock);
139 ret = max8997_bulk_read(info->rtc, MAX8997_RTC_SEC, RTC_NR_TIME, data);
140 mutex_unlock(&info->lock);
143 dev_err(info->dev, "%s: fail to read time reg(%d)\n", __func__,
148 max8997_rtc_data_to_tm(data, tm, info->rtc_24hr_mode);
155 struct max8997_rtc_info *info = dev_get_drvdata(dev);
163 mutex_lock(&info->lock);
165 ret = max8997_bulk_write(info->rtc, MAX8997_RTC_SEC, RTC_NR_TIME, data);
167 dev_err(info->dev, "%s: fail to write time reg(%d)\n", __func__,
172 ret = max8997_rtc_set_update_reg(info);
174 mutex_unlock(&info->lock);
180 struct max8997_rtc_info *info = dev_get_drvdata(dev);
185 mutex_lock(&info->lock);
187 ret = max8997_bulk_read(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
190 dev_err(info->dev, "%s:%d fail to read alarm reg(%d)\n",
195 max8997_rtc_data_to_tm(data, &alrm->time, info->rtc_24hr_mode);
206 ret = max8997_read_reg(info->max8997->i2c, MAX8997_REG_STATUS1, &val);
208 dev_err(info->dev, "%s:%d fail to read status1 reg(%d)\n",
217 mutex_unlock(&info->lock);
221 static int max8997_rtc_stop_alarm(struct max8997_rtc_info *info)
226 if (!mutex_is_locked(&info->lock))
227 dev_warn(info->dev, "%s: should have mutex locked\n", __func__);
229 ret = max8997_bulk_read(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
232 dev_err(info->dev, "%s: fail to read alarm reg(%d)\n",
240 ret = max8997_bulk_write(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
243 dev_err(info->dev, "%s: fail to write alarm reg(%d)\n",
248 ret = max8997_rtc_set_update_reg(info);
253 static int max8997_rtc_start_alarm(struct max8997_rtc_info *info)
258 if (!mutex_is_locked(&info->lock))
259 dev_warn(info->dev, "%s: should have mutex locked\n", __func__);
261 ret = max8997_bulk_read(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
264 dev_err(info->dev, "%s: fail to read alarm reg(%d)\n",
280 ret = max8997_bulk_write(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
283 dev_err(info->dev, "%s: fail to write alarm reg(%d)\n",
288 ret = max8997_rtc_set_update_reg(info);
294 struct max8997_rtc_info *info = dev_get_drvdata(dev);
302 dev_info(info->dev, "%s: %d-%02d-%02d %02d:%02d:%02d\n", __func__,
306 mutex_lock(&info->lock);
308 ret = max8997_rtc_stop_alarm(info);
312 ret = max8997_bulk_write(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
315 dev_err(info->dev, "%s: fail to write alarm reg(%d)\n",
320 ret = max8997_rtc_set_update_reg(info);
325 ret = max8997_rtc_start_alarm(info);
327 mutex_unlock(&info->lock);
334 struct max8997_rtc_info *info = dev_get_drvdata(dev);
337 mutex_lock(&info->lock);
339 ret = max8997_rtc_start_alarm(info);
341 ret = max8997_rtc_stop_alarm(info);
342 mutex_unlock(&info->lock);
349 struct max8997_rtc_info *info = data;
351 dev_info(info->dev, "%s:irq(%d)\n", __func__, irq);
353 rtc_update_irq(info->rtc_dev, 1, RTC_IRQF | RTC_AF);
366 static void max8997_rtc_enable_wtsr(struct max8997_rtc_info *info, bool enable)
381 dev_info(info->dev, "%s: %s WTSR\n", __func__,
384 ret = max8997_update_reg(info->rtc, MAX8997_RTC_WTSR_SMPL, val, mask);
386 dev_err(info->dev, "%s: fail to update WTSR reg(%d)\n",
391 max8997_rtc_set_update_reg(info);
394 static void max8997_rtc_enable_smpl(struct max8997_rtc_info *info, bool enable)
409 dev_info(info->dev, "%s: %s SMPL\n", __func__,
412 ret = max8997_update_reg(info->rtc, MAX8997_RTC_WTSR_SMPL, val, mask);
414 dev_err(info->dev, "%s: fail to update SMPL reg(%d)\n",
419 max8997_rtc_set_update_reg(info);
422 max8997_read_reg(info->rtc, MAX8997_RTC_WTSR_SMPL, &val);
426 static int max8997_rtc_init_reg(struct max8997_rtc_info *info)
435 info->rtc_24hr_mode = 1;
437 ret = max8997_bulk_write(info->rtc, MAX8997_RTC_CTRLMASK, 2, data);
439 dev_err(info->dev, "%s: fail to write controlm reg(%d)\n",
444 ret = max8997_rtc_set_update_reg(info);
451 struct max8997_rtc_info *info;
454 info = devm_kzalloc(&pdev->dev, sizeof(struct max8997_rtc_info),
456 if (!info)
459 mutex_init(&info->lock);
460 info->dev = &pdev->dev;
461 info->max8997 = max8997;
462 info->rtc = max8997->rtc;
464 platform_set_drvdata(pdev, info);
466 ret = max8997_rtc_init_reg(info);
473 max8997_rtc_enable_wtsr(info, true);
474 max8997_rtc_enable_smpl(info, true);
478 info->rtc_dev = devm_rtc_device_register(&pdev->dev, "max8997-rtc",
481 if (IS_ERR(info->rtc_dev)) {
482 ret = PTR_ERR(info->rtc_dev);
493 info->virq = virq;
497 "rtc-alarm0", info);
500 info->virq, ret);
508 struct max8997_rtc_info *info = platform_get_drvdata(pdev);
510 max8997_rtc_enable_wtsr(info, false);
511 max8997_rtc_enable_smpl(info, false);