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: Xu Wang <vulab@iscas.ac.cn> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20201113080305.65961-1-vulab@iscas.ac.cn
This commit is contained in:
parent
910d002d84
commit
081e2500df
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user