Commit e4ae7023 authored by Alexandre Belloni's avatar Alexandre Belloni
Browse files

rtc: mc13xxx: set range



All supported PMICs have a 15 bits days counter and hours, minutes, seconds

Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 3b6bddda
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -285,8 +285,15 @@ static int __init mc13xxx_rtc_probe(struct platform_device *pdev)
	priv->mc13xxx = mc13xxx;
	priv->valid = 1;

	priv->rtc = devm_rtc_allocate_device(&pdev->dev);
	if (IS_ERR(priv->rtc))
		return PTR_ERR(priv->rtc);
	platform_set_drvdata(pdev, priv);

	priv->rtc->ops = &mc13xxx_rtc_ops;
	/* 15bit days + hours, minutes, seconds */
	priv->rtc->range_max = (timeu64_t)(1 << 15) * SEC_PER_DAY - 1;

	mc13xxx_lock(mc13xxx);

	mc13xxx_irq_ack(mc13xxx, MC13XXX_IRQ_RTCRST);
@@ -303,8 +310,9 @@ static int __init mc13xxx_rtc_probe(struct platform_device *pdev)

	mc13xxx_unlock(mc13xxx);

	priv->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
					     &mc13xxx_rtc_ops, THIS_MODULE);
	ret = rtc_register_device(priv->rtc);
	if (ret)
		goto err_irq_request;

	return 0;