Commit 8d3f805e authored by Alexandre Belloni's avatar Alexandre Belloni

rtc: pcf8563: convert to devm_rtc_allocate_device

This allows further improvement of the driver.

Link: https://lore.kernel.org/r/20190829212547.19185-3-alexandre.belloni@bootlin.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent deaa3ff4
...@@ -591,13 +591,14 @@ static int pcf8563_probe(struct i2c_client *client, ...@@ -591,13 +591,14 @@ static int pcf8563_probe(struct i2c_client *client,
return err; return err;
} }
pcf8563->rtc = devm_rtc_device_register(&client->dev, pcf8563->rtc = devm_rtc_allocate_device(&client->dev);
pcf8563_driver.driver.name,
&pcf8563_rtc_ops, THIS_MODULE);
if (IS_ERR(pcf8563->rtc)) if (IS_ERR(pcf8563->rtc))
return PTR_ERR(pcf8563->rtc); return PTR_ERR(pcf8563->rtc);
pcf8563->rtc->ops = &pcf8563_rtc_ops;
/* the pcf8563 alarm only supports a minute accuracy */
pcf8563->rtc->uie_unsupported = 1;
if (client->irq > 0) { if (client->irq > 0) {
err = devm_request_threaded_irq(&client->dev, client->irq, err = devm_request_threaded_irq(&client->dev, client->irq,
NULL, pcf8563_irq, NULL, pcf8563_irq,
...@@ -608,17 +609,17 @@ static int pcf8563_probe(struct i2c_client *client, ...@@ -608,17 +609,17 @@ static int pcf8563_probe(struct i2c_client *client,
client->irq); client->irq);
return err; return err;
} }
} }
err = rtc_register_device(pcf8563->rtc);
if (err)
return err;
#ifdef CONFIG_COMMON_CLK #ifdef CONFIG_COMMON_CLK
/* register clk in common clk framework */ /* register clk in common clk framework */
pcf8563_clkout_register_clk(pcf8563); pcf8563_clkout_register_clk(pcf8563);
#endif #endif
/* the pcf8563 alarm only supports a minute accuracy */
pcf8563->rtc->uie_unsupported = 1;
return 0; 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