[PATCH v3 11/14] rtc: rx8010: switch to using the preferred RTC API

Bartosz Golaszewski
2020-09-14T15:51:37Z

Use devm_rtc_allocate_device() + rtc_register_device() instead of the
deprecated devm_rtc_device_register().

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
drivers/rtc/rtc-rx8010.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/drivers/rtc/rtc-rx8010.c b/drivers/rtc/rtc-rx8010.c
index aa357f800ad4..6aeed3802670 100644
--- a/drivers/rtc/rtc-rx8010.c
+++ b/drivers/rtc/rtc-rx8010.c
@@ -418,7 +418,6 @@ static int rx8010_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct i2c_adapter *adapter = client->adapter;
- const struct rtc_class_ops *rtc_ops;
struct device *dev = &client->dev;
struct rx8010_data *rx8010;
int err = 0;
@@ -440,6 +439,10 @@ static int rx8010_probe(struct i2c_client *client,
if (err)
return err;

+ rx8010->rtc = devm_rtc_allocate_device(dev);
+ if (IS_ERR(rx8010->rtc))
+ return PTR_ERR(rx8010->rtc);
+
if (client->irq > 0) {
dev_info(dev, "IRQ %d supplied\n", client->irq);
err = devm_request_threaded_irq(dev, client->irq, NULL,
@@ -451,21 +454,14 @@ static int rx8010_probe(struct i2c_client *client,
return err;
}

- rtc_ops = &rx8010_rtc_ops_alarm;
+ rx8010->rtc->ops = &rx8010_rtc_ops_alarm;
} else {
- rtc_ops = &rx8010_rtc_ops_default;
- }
-
- rx8010->rtc = devm_rtc_device_register(dev, client->name,
- rtc_ops, THIS_MODULE);
- if (IS_ERR(rx8010->rtc)) {
- dev_err(dev, "unable to register the class device\n");
- return PTR_ERR(rx8010->rtc);
+ rx8010->rtc->ops = &rx8010_rtc_ops_default;
}

rx8010->rtc->max_user_freq = 1;

- return 0;
+ return rtc_register_device(rx8010->rtc);
}

static struct i2c_driver rx8010_driver = {
--
2.26.1