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)
unsigned long time;
int ret;
if (data->clk) {
ret = clk_enable(data->clk);
if (ret)
return ret;
}
ret = clk_enable(data->clk);
if (ret)
return ret;
time = rtc_read_lp_counter(data);
rtc_time64_to_tm(time, tm);
if (data->clk)
clk_disable(data->clk);
clk_disable(data->clk);
return 0;
}
......@@ -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);
int ret;
if (data->clk) {
ret = clk_enable(data->clk);
if (ret)
return ret;
}
ret = clk_enable(data->clk);
if (ret)
return ret;
/* Disable RTC first */
ret = snvs_rtc_enable(data, false);
......@@ -190,8 +185,7 @@ static int snvs_rtc_set_time(struct device *dev, struct rtc_time *tm)
/* Enable RTC again */
ret = snvs_rtc_enable(data, true);
if (data->clk)
clk_disable(data->clk);
clk_disable(data->clk);
return ret;
}
......@@ -202,11 +196,9 @@ static int snvs_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
u32 lptar, lpsr;
int ret;
if (data->clk) {
ret = clk_enable(data->clk);
if (ret)
return ret;
}
ret = clk_enable(data->clk);
if (ret)
return ret;
regmap_read(data->regmap, data->offset + SNVS_LPTAR, &lptar);
rtc_time64_to_tm(lptar, &alrm->time);
......@@ -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);
alrm->pending = (lpsr & SNVS_LPSR_LPTA) ? 1 : 0;
if (data->clk)
clk_disable(data->clk);
clk_disable(data->clk);
return 0;
}
......@@ -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);
int ret;
if (data->clk) {
ret = clk_enable(data->clk);
if (ret)
return ret;
}
ret = clk_enable(data->clk);
if (ret)
return ret;
regmap_update_bits(data->regmap, data->offset + SNVS_LPCR,
(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)
ret = rtc_write_sync_lp(data);
if (data->clk)
clk_disable(data->clk);
clk_disable(data->clk);
return ret;
}
......@@ -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);
int ret;
if (data->clk) {
ret = clk_enable(data->clk);
if (ret)
return ret;
}
ret = clk_enable(data->clk);
if (ret)
return ret;
regmap_update_bits(data->regmap, data->offset + SNVS_LPCR, SNVS_LPCR_LPTA_EN, 0);
ret = rtc_write_sync_lp(data);
......@@ -264,8 +250,7 @@ static int snvs_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
/* Clear alarm interrupt status bit */
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);
}
......@@ -285,8 +270,7 @@ static irqreturn_t snvs_rtc_irq_handler(int irq, void *dev_id)
u32 lpsr;
u32 events = 0;
if (data->clk)
clk_enable(data->clk);
clk_enable(data->clk);
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)
/* clear interrupt status */
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;
}
......@@ -316,8 +299,7 @@ static const struct regmap_config snvs_rtc_config = {
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)
......@@ -412,8 +394,7 @@ static int __maybe_unused snvs_rtc_suspend_noirq(struct device *dev)
{
struct snvs_rtc_data *data = dev_get_drvdata(dev);
if (data->clk)
clk_disable(data->clk);
clk_disable(data->clk);
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