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

rtc: hym8563: switch to devm_rtc_allocate_device



Switch to devm_rtc_allocate_device/devm_rtc_register_device, this allows
for further improvement of the driver.

Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20220309162301.61679-25-alexandre.belloni@bootlin.com
parent 1350b94c
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -523,6 +523,10 @@ static int hym8563_probe(struct i2c_client *client,
	if (!hym8563)
		return -ENOMEM;

	hym8563->rtc = devm_rtc_allocate_device(&client->dev);
	if (IS_ERR(hym8563->rtc))
		return PTR_ERR(hym8563->rtc);

	hym8563->client = client;
	i2c_set_clientdata(client, hym8563);

@@ -557,11 +561,7 @@ static int hym8563_probe(struct i2c_client *client,
	dev_dbg(&client->dev, "rtc information is %s\n",
		(ret & HYM8563_SEC_VL) ? "invalid" : "valid");

	hym8563->rtc = devm_rtc_device_register(&client->dev, client->name,
						&hym8563_rtc_ops, THIS_MODULE);
	if (IS_ERR(hym8563->rtc))
		return PTR_ERR(hym8563->rtc);

	hym8563->rtc->ops = &hym8563_rtc_ops;
	/* the hym8563 alarm only supports a minute accuracy */
	hym8563->rtc->uie_unsupported = 1;

@@ -569,7 +569,7 @@ static int hym8563_probe(struct i2c_client *client,
	hym8563_clkout_register_clk(hym8563);
#endif

	return 0;
	return devm_rtc_register_device(hym8563->rtc);
}

static const struct i2c_device_id hym8563_id[] = {