diff options
Diffstat (limited to 'drivers/rtc/rtc-opal.c')
| -rw-r--r-- | drivers/rtc/rtc-opal.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/rtc/rtc-opal.c b/drivers/rtc/rtc-opal.c index 7061dcae2b09..6fbf9e617151 100644 --- a/drivers/rtc/rtc-opal.c +++ b/drivers/rtc/rtc-opal.c @@ -190,11 +190,9 @@ exit:  	return rc;  } -static const struct rtc_class_ops opal_rtc_ops = { +static struct rtc_class_ops opal_rtc_ops = {  	.read_time	= opal_get_rtc_time,  	.set_time	= opal_set_rtc_time, -	.read_alarm	= opal_get_tpo_time, -	.set_alarm	= opal_set_tpo_time,  };  static int opal_rtc_probe(struct platform_device *pdev) @@ -202,8 +200,11 @@ static int opal_rtc_probe(struct platform_device *pdev)  	struct rtc_device *rtc;  	if (pdev->dev.of_node && of_get_property(pdev->dev.of_node, "has-tpo", -						 NULL)) +						 NULL)) {  		device_set_wakeup_capable(&pdev->dev, true); +		opal_rtc_ops.read_alarm	= opal_get_tpo_time; +		opal_rtc_ops.set_alarm = opal_set_tpo_time; +	}  	rtc = devm_rtc_device_register(&pdev->dev, DRVNAME, &opal_rtc_ops,  				       THIS_MODULE); @@ -236,7 +237,6 @@ static struct platform_driver opal_rtc_driver = {  	.id_table	= opal_rtc_driver_ids,  	.driver		= {  		.name		= DRVNAME, -		.owner		= THIS_MODULE,  		.of_match_table	= opal_rtc_match,  	},  };  |