diff options
Diffstat (limited to 'drivers/rtc/rtc-max8998.c')
| -rw-r--r-- | drivers/rtc/rtc-max8998.c | 18 | 
1 files changed, 5 insertions, 13 deletions
| diff --git a/drivers/rtc/rtc-max8998.c b/drivers/rtc/rtc-max8998.c index 8f234a075e8..48b6612fae7 100644 --- a/drivers/rtc/rtc-max8998.c +++ b/drivers/rtc/rtc-max8998.c @@ -256,7 +256,8 @@ static int max8998_rtc_probe(struct platform_device *pdev)  	struct max8998_rtc_info *info;  	int ret; -	info = kzalloc(sizeof(struct max8998_rtc_info), GFP_KERNEL); +	info = devm_kzalloc(&pdev->dev, sizeof(struct max8998_rtc_info), +			GFP_KERNEL);  	if (!info)  		return -ENOMEM; @@ -267,7 +268,7 @@ static int max8998_rtc_probe(struct platform_device *pdev)  	platform_set_drvdata(pdev, info); -	info->rtc_dev = rtc_device_register("max8998-rtc", &pdev->dev, +	info->rtc_dev = devm_rtc_device_register(&pdev->dev, "max8998-rtc",  			&max8998_rtc_ops, THIS_MODULE);  	if (IS_ERR(info->rtc_dev)) { @@ -276,8 +277,8 @@ static int max8998_rtc_probe(struct platform_device *pdev)  		goto out_rtc;  	} -	ret = request_threaded_irq(info->irq, NULL, max8998_rtc_alarm_irq, 0, -			"rtc-alarm0", info); +	ret = devm_request_threaded_irq(&pdev->dev, info->irq, NULL, +				max8998_rtc_alarm_irq, 0, "rtc-alarm0", info);  	if (ret < 0)  		dev_err(&pdev->dev, "Failed to request alarm IRQ: %d: %d\n", @@ -294,20 +295,11 @@ static int max8998_rtc_probe(struct platform_device *pdev)  out_rtc:  	platform_set_drvdata(pdev, NULL); -	kfree(info);  	return ret;  }  static int max8998_rtc_remove(struct platform_device *pdev)  { -	struct max8998_rtc_info *info = platform_get_drvdata(pdev); - -	if (info) { -		free_irq(info->irq, info); -		rtc_device_unregister(info->rtc_dev); -		kfree(info); -	} -  	return 0;  } | 
