diff options
| author | Baolin Wang <baolin.wang@linaro.org> | 2018-10-18 04:52:28 -0400 |
|---|---|---|
| committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2018-10-24 20:35:39 -0400 |
| commit | b2ddc48582efa157635f7ef815c9d4a657e2cabd (patch) | |
| tree | 75e45229469995cf98a4d716856109ef1d8c63cf | |
| parent | 7db5adfa63167dac548022c973e00da7f56ffb72 (diff) | |
rtc: sc27xx: Remove interrupts disable and clear in probe()
When registering one rtc device, it will check to see if there is an
alarm already set in rtc hardware by issuing __rtc_read_alarm(). So
we should not disable the RTC interrupts and clear the interrupts
status in probe() function.
Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
| -rw-r--r-- | drivers/rtc/rtc-sc27xx.c | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/drivers/rtc/rtc-sc27xx.c b/drivers/rtc/rtc-sc27xx.c index 6ac56538682e..4ecabe6c9429 100644 --- a/drivers/rtc/rtc-sc27xx.c +++ b/drivers/rtc/rtc-sc27xx.c | |||
| @@ -129,19 +129,6 @@ static int sprd_rtc_clear_alarm_ints(struct sprd_rtc *rtc) | |||
| 129 | SPRD_RTC_ALM_INT_MASK); | 129 | SPRD_RTC_ALM_INT_MASK); |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | static int sprd_rtc_disable_ints(struct sprd_rtc *rtc) | ||
| 133 | { | ||
| 134 | int ret; | ||
| 135 | |||
| 136 | ret = regmap_update_bits(rtc->regmap, rtc->base + SPRD_RTC_INT_EN, | ||
| 137 | SPRD_RTC_INT_MASK, 0); | ||
| 138 | if (ret) | ||
| 139 | return ret; | ||
| 140 | |||
| 141 | return regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR, | ||
| 142 | SPRD_RTC_INT_MASK); | ||
| 143 | } | ||
| 144 | |||
| 145 | static int sprd_rtc_lock_alarm(struct sprd_rtc *rtc, bool lock) | 132 | static int sprd_rtc_lock_alarm(struct sprd_rtc *rtc, bool lock) |
| 146 | { | 133 | { |
| 147 | int ret; | 134 | int ret; |
| @@ -609,13 +596,6 @@ static int sprd_rtc_probe(struct platform_device *pdev) | |||
| 609 | rtc->dev = &pdev->dev; | 596 | rtc->dev = &pdev->dev; |
| 610 | platform_set_drvdata(pdev, rtc); | 597 | platform_set_drvdata(pdev, rtc); |
| 611 | 598 | ||
| 612 | /* clear all RTC interrupts and disable all RTC interrupts */ | ||
| 613 | ret = sprd_rtc_disable_ints(rtc); | ||
| 614 | if (ret) { | ||
| 615 | dev_err(&pdev->dev, "failed to disable RTC interrupts\n"); | ||
| 616 | return ret; | ||
| 617 | } | ||
| 618 | |||
| 619 | /* check if RTC time values are valid */ | 599 | /* check if RTC time values are valid */ |
| 620 | ret = sprd_rtc_check_power_down(rtc); | 600 | ret = sprd_rtc_check_power_down(rtc); |
| 621 | if (ret) { | 601 | if (ret) { |
