Lines Matching refs:rk808_rtc
52 struct rk808_rtc {
98 struct rk808_rtc *rk808_rtc = dev_get_drvdata(dev);
103 ret = regmap_update_bits(rk808_rtc->regmap, rk808_rtc->creg->ctrl_reg,
117 ret = regmap_update_bits(rk808_rtc->regmap, rk808_rtc->creg->ctrl_reg,
125 ret = regmap_bulk_read(rk808_rtc->regmap, rk808_rtc->creg->seconds_reg,
148 struct rk808_rtc *rk808_rtc = dev_get_drvdata(dev);
163 ret = regmap_update_bits(rk808_rtc->regmap, rk808_rtc->creg->ctrl_reg,
171 ret = regmap_bulk_write(rk808_rtc->regmap, rk808_rtc->creg->seconds_reg,
178 ret = regmap_update_bits(rk808_rtc->regmap, rk808_rtc->creg->ctrl_reg,
190 struct rk808_rtc *rk808_rtc = dev_get_drvdata(dev);
195 ret = regmap_bulk_read(rk808_rtc->regmap,
196 rk808_rtc->creg->alarm_seconds_reg,
211 ret = regmap_read(rk808_rtc->regmap, rk808_rtc->creg->int_reg, &int_reg);
225 static int rk808_rtc_stop_alarm(struct rk808_rtc *rk808_rtc)
229 ret = regmap_update_bits(rk808_rtc->regmap, rk808_rtc->creg->int_reg,
235 static int rk808_rtc_start_alarm(struct rk808_rtc *rk808_rtc)
239 ret = regmap_update_bits(rk808_rtc->regmap, rk808_rtc->creg->int_reg,
248 struct rk808_rtc *rk808_rtc = dev_get_drvdata(dev);
252 ret = rk808_rtc_stop_alarm(rk808_rtc);
268 ret = regmap_bulk_write(rk808_rtc->regmap,
269 rk808_rtc->creg->alarm_seconds_reg,
276 ret = rk808_rtc_start_alarm(rk808_rtc);
288 struct rk808_rtc *rk808_rtc = dev_get_drvdata(dev);
291 return rk808_rtc_start_alarm(rk808_rtc);
293 return rk808_rtc_stop_alarm(rk808_rtc);
308 struct rk808_rtc *rk808_rtc = data;
311 ret = regmap_write(rk808_rtc->regmap, rk808_rtc->creg->status_reg,
314 dev_err(&rk808_rtc->rtc->dev,
319 rtc_update_irq(rk808_rtc->rtc, 1, RTC_IRQF | RTC_AF);
320 dev_dbg(&rk808_rtc->rtc->dev,
337 struct rk808_rtc *rk808_rtc = dev_get_drvdata(dev);
340 enable_irq_wake(rk808_rtc->irq);
350 struct rk808_rtc *rk808_rtc = dev_get_drvdata(dev);
353 disable_irq_wake(rk808_rtc->irq);
381 struct rk808_rtc *rk808_rtc;
384 rk808_rtc = devm_kzalloc(&pdev->dev, sizeof(*rk808_rtc), GFP_KERNEL);
385 if (rk808_rtc == NULL)
391 rk808_rtc->creg = &rk817_creg;
394 rk808_rtc->creg = &rk808_creg;
397 platform_set_drvdata(pdev, rk808_rtc);
398 rk808_rtc->regmap = dev_get_regmap(pdev->dev.parent, NULL);
399 if (!rk808_rtc->regmap)
403 ret = regmap_update_bits(rk808_rtc->regmap, rk808_rtc->creg->ctrl_reg,
413 ret = regmap_write(rk808_rtc->regmap, rk808_rtc->creg->status_reg,
423 rk808_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
424 if (IS_ERR(rk808_rtc->rtc))
425 return PTR_ERR(rk808_rtc->rtc);
427 rk808_rtc->rtc->ops = &rk808_rtc_ops;
429 rk808_rtc->irq = platform_get_irq(pdev, 0);
430 if (rk808_rtc->irq < 0)
431 return rk808_rtc->irq;
434 ret = devm_request_threaded_irq(&pdev->dev, rk808_rtc->irq, NULL,
436 "RTC alarm", rk808_rtc);
439 rk808_rtc->irq, ret);
443 return devm_rtc_register_device(rk808_rtc->rtc);