Commit 13bfa942 authored by Alexandre Belloni's avatar Alexandre Belloni

rtc: ds2404: set range

The real-time clock is a 5-byte binary counter. It is incremented 256 times
per second. The least significant byte is a count of fractional seconds.
The upper four bytes are a count of seconds. The realtime clock can
accumulate 136 years of seconds before rolling over.
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent d71c7715
......@@ -234,6 +234,10 @@ static int rtc_probe(struct platform_device *pdev)
chip->ops = &ds2404_gpio_ops;
chip->rtc = devm_rtc_allocate_device(&pdev->dev);
if (IS_ERR(chip->rtc))
return PTR_ERR(chip->rtc);
retval = chip->ops->map_io(chip, pdev, pdata);
if (retval)
goto err_chip;
......@@ -244,12 +248,12 @@ static int rtc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, chip);
chip->rtc = devm_rtc_device_register(&pdev->dev, "ds2404",
&ds2404_rtc_ops, THIS_MODULE);
if (IS_ERR(chip->rtc)) {
retval = PTR_ERR(chip->rtc);
chip->rtc->ops = &ds2404_rtc_ops;
chip->rtc->range_max = U32_MAX;
retval = rtc_register_device(chip->rtc);
if (retval)
goto err_io;
}
ds2404_enable_osc(&pdev->dev);
return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment