Commit 081e2500 authored by Xu Wang's avatar Xu Wang Committed by Alexandre Belloni

rtc: snvs: Remove NULL pointer check before clk_*

Because clk_* already checked NULL clock parameter,
so the additional checks are unnecessary, just remove them.
Signed-off-by: default avatarXu Wang <vulab@iscas.ac.cn>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20201113080305.65961-1-vulab@iscas.ac.cn
parent 910d002d
...@@ -151,17 +151,14 @@ static int snvs_rtc_read_time(struct device *dev, struct rtc_time *tm) ...@@ -151,17 +151,14 @@ static int snvs_rtc_read_time(struct device *dev, struct rtc_time *tm)
unsigned long time; unsigned long time;
int ret; int ret;
if (data->clk) { ret = clk_enable(data->clk);
ret = clk_enable(data->clk); if (ret)
if (ret) return ret;
return ret;
}
time = rtc_read_lp_counter(data); time = rtc_read_lp_counter(data);
rtc_time64_to_tm(time, tm); rtc_time64_to_tm(time, tm);
if (data->clk) clk_disable(data->clk);
clk_disable(data->clk);
return 0; return 0;
} }
...@@ -172,11 +169,9 @@ static int snvs_rtc_set_time(struct device *dev, struct rtc_time *tm) ...@@ -172,11 +169,9 @@ static int snvs_rtc_set_time(struct device *dev, struct rtc_time *tm)
unsigned long time = rtc_tm_to_time64(tm); unsigned long time = rtc_tm_to_time64(tm);
int ret; int ret;
if (data->clk) { ret = clk_enable(data->clk);
ret = clk_enable(data->clk); if (ret)
if (ret) return ret;
return ret;
}
/* Disable RTC first */ /* Disable RTC first */
ret = snvs_rtc_enable(data, false); ret = snvs_rtc_enable(data, false);
...@@ -190,8 +185,7 @@ static int snvs_rtc_set_time(struct device *dev, struct rtc_time *tm) ...@@ -190,8 +185,7 @@ static int snvs_rtc_set_time(struct device *dev, struct rtc_time *tm)
/* Enable RTC again */ /* Enable RTC again */
ret = snvs_rtc_enable(data, true); ret = snvs_rtc_enable(data, true);
if (data->clk) clk_disable(data->clk);
clk_disable(data->clk);
return ret; return ret;
} }
...@@ -202,11 +196,9 @@ static int snvs_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) ...@@ -202,11 +196,9 @@ static int snvs_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
u32 lptar, lpsr; u32 lptar, lpsr;
int ret; int ret;
if (data->clk) { ret = clk_enable(data->clk);
ret = clk_enable(data->clk); if (ret)
if (ret) return ret;
return ret;
}
regmap_read(data->regmap, data->offset + SNVS_LPTAR, &lptar); regmap_read(data->regmap, data->offset + SNVS_LPTAR, &lptar);
rtc_time64_to_tm(lptar, &alrm->time); rtc_time64_to_tm(lptar, &alrm->time);
...@@ -214,8 +206,7 @@ static int snvs_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm) ...@@ -214,8 +206,7 @@ static int snvs_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
regmap_read(data->regmap, data->offset + SNVS_LPSR, &lpsr); regmap_read(data->regmap, data->offset + SNVS_LPSR, &lpsr);
alrm->pending = (lpsr & SNVS_LPSR_LPTA) ? 1 : 0; alrm->pending = (lpsr & SNVS_LPSR_LPTA) ? 1 : 0;
if (data->clk) clk_disable(data->clk);
clk_disable(data->clk);
return 0; return 0;
} }
...@@ -225,11 +216,9 @@ static int snvs_rtc_alarm_irq_enable(struct device *dev, unsigned int enable) ...@@ -225,11 +216,9 @@ static int snvs_rtc_alarm_irq_enable(struct device *dev, unsigned int enable)
struct snvs_rtc_data *data = dev_get_drvdata(dev); struct snvs_rtc_data *data = dev_get_drvdata(dev);
int ret; int ret;
if (data->clk) { ret = clk_enable(data->clk);
ret = clk_enable(data->clk); if (ret)
if (ret) return ret;
return ret;
}
regmap_update_bits(data->regmap, data->offset + SNVS_LPCR, regmap_update_bits(data->regmap, data->offset + SNVS_LPCR,
(SNVS_LPCR_LPTA_EN | SNVS_LPCR_LPWUI_EN), (SNVS_LPCR_LPTA_EN | SNVS_LPCR_LPWUI_EN),
...@@ -237,8 +226,7 @@ static int snvs_rtc_alarm_irq_enable(struct device *dev, unsigned int enable) ...@@ -237,8 +226,7 @@ static int snvs_rtc_alarm_irq_enable(struct device *dev, unsigned int enable)
ret = rtc_write_sync_lp(data); ret = rtc_write_sync_lp(data);
if (data->clk) clk_disable(data->clk);
clk_disable(data->clk);
return ret; return ret;
} }
...@@ -249,11 +237,9 @@ static int snvs_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) ...@@ -249,11 +237,9 @@ static int snvs_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
unsigned long time = rtc_tm_to_time64(&alrm->time); unsigned long time = rtc_tm_to_time64(&alrm->time);
int ret; int ret;
if (data->clk) { ret = clk_enable(data->clk);
ret = clk_enable(data->clk); if (ret)
if (ret) return ret;
return ret;
}
regmap_update_bits(data->regmap, data->offset + SNVS_LPCR, SNVS_LPCR_LPTA_EN, 0); regmap_update_bits(data->regmap, data->offset + SNVS_LPCR, SNVS_LPCR_LPTA_EN, 0);
ret = rtc_write_sync_lp(data); ret = rtc_write_sync_lp(data);
...@@ -264,8 +250,7 @@ static int snvs_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm) ...@@ -264,8 +250,7 @@ static int snvs_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
/* Clear alarm interrupt status bit */ /* Clear alarm interrupt status bit */
regmap_write(data->regmap, data->offset + SNVS_LPSR, SNVS_LPSR_LPTA); regmap_write(data->regmap, data->offset + SNVS_LPSR, SNVS_LPSR_LPTA);
if (data->clk) clk_disable(data->clk);
clk_disable(data->clk);
return snvs_rtc_alarm_irq_enable(dev, alrm->enabled); return snvs_rtc_alarm_irq_enable(dev, alrm->enabled);
} }
...@@ -285,8 +270,7 @@ static irqreturn_t snvs_rtc_irq_handler(int irq, void *dev_id) ...@@ -285,8 +270,7 @@ static irqreturn_t snvs_rtc_irq_handler(int irq, void *dev_id)
u32 lpsr; u32 lpsr;
u32 events = 0; u32 events = 0;
if (data->clk) clk_enable(data->clk);
clk_enable(data->clk);
regmap_read(data->regmap, data->offset + SNVS_LPSR, &lpsr); regmap_read(data->regmap, data->offset + SNVS_LPSR, &lpsr);
...@@ -302,8 +286,7 @@ static irqreturn_t snvs_rtc_irq_handler(int irq, void *dev_id) ...@@ -302,8 +286,7 @@ static irqreturn_t snvs_rtc_irq_handler(int irq, void *dev_id)
/* clear interrupt status */ /* clear interrupt status */
regmap_write(data->regmap, data->offset + SNVS_LPSR, lpsr); regmap_write(data->regmap, data->offset + SNVS_LPSR, lpsr);
if (data->clk) clk_disable(data->clk);
clk_disable(data->clk);
return events ? IRQ_HANDLED : IRQ_NONE; return events ? IRQ_HANDLED : IRQ_NONE;
} }
...@@ -316,8 +299,7 @@ static const struct regmap_config snvs_rtc_config = { ...@@ -316,8 +299,7 @@ static const struct regmap_config snvs_rtc_config = {
static void snvs_rtc_action(void *data) static void snvs_rtc_action(void *data)
{ {
if (data) clk_disable_unprepare(data);
clk_disable_unprepare(data);
} }
static int snvs_rtc_probe(struct platform_device *pdev) static int snvs_rtc_probe(struct platform_device *pdev)
...@@ -412,8 +394,7 @@ static int __maybe_unused snvs_rtc_suspend_noirq(struct device *dev) ...@@ -412,8 +394,7 @@ static int __maybe_unused snvs_rtc_suspend_noirq(struct device *dev)
{ {
struct snvs_rtc_data *data = dev_get_drvdata(dev); struct snvs_rtc_data *data = dev_get_drvdata(dev);
if (data->clk) clk_disable(data->clk);
clk_disable(data->clk);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment