Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75465c49 authored by Laxman Dewangan's avatar Laxman Dewangan Committed by Linus Torvalds
Browse files

drivers/rtc/rtc-as3722: use devm for rtc and irq registration



Use devm_* calls for rtc and irq registration and get rid of
remove callback for platform driver.

Signed-off-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
Cc: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8dc51fe5
Loading
Loading
Loading
Loading
+3 −16
Original line number Diff line number Diff line
@@ -198,7 +198,7 @@ static int as3722_rtc_probe(struct platform_device *pdev)

	device_init_wakeup(&pdev->dev, 1);

	as3722_rtc->rtc = rtc_device_register("as3722", &pdev->dev,
	as3722_rtc->rtc = devm_rtc_device_register(&pdev->dev, "as3722-rtc",
				&as3722_rtc_ops, THIS_MODULE);
	if (IS_ERR(as3722_rtc->rtc)) {
		ret = PTR_ERR(as3722_rtc->rtc);
@@ -209,27 +209,15 @@ static int as3722_rtc_probe(struct platform_device *pdev)
	as3722_rtc->alarm_irq = platform_get_irq(pdev, 0);
	dev_info(&pdev->dev, "RTC interrupt %d\n", as3722_rtc->alarm_irq);

	ret = request_threaded_irq(as3722_rtc->alarm_irq, NULL,
	ret = devm_request_threaded_irq(&pdev->dev, as3722_rtc->alarm_irq, NULL,
			as3722_alarm_irq, IRQF_ONESHOT | IRQF_EARLY_RESUME,
			"rtc-alarm", as3722_rtc);
	if (ret < 0) {
		dev_err(&pdev->dev, "Failed to request alarm IRQ %d: %d\n",
				as3722_rtc->alarm_irq, ret);
		goto scrub;
	}
	disable_irq(as3722_rtc->alarm_irq);
	return 0;
scrub:
	rtc_device_unregister(as3722_rtc->rtc);
		return ret;
	}

static int as3722_rtc_remove(struct platform_device *pdev)
{
	struct as3722_rtc *as3722_rtc = platform_get_drvdata(pdev);

	free_irq(as3722_rtc->alarm_irq, as3722_rtc);
	rtc_device_unregister(as3722_rtc->rtc);
	disable_irq(as3722_rtc->alarm_irq);
	return 0;
}

@@ -260,7 +248,6 @@ static const struct dev_pm_ops as3722_rtc_pm_ops = {

static struct platform_driver as3722_rtc_driver = {
	.probe = as3722_rtc_probe,
	.remove = as3722_rtc_remove,
	.driver = {
		.name = "as3722-rtc",
		.pm = &as3722_rtc_pm_ops,