Commit 081e2500 authored by vulab's avatar vulab Committed by Alexandre Belloni
Browse files

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
Loading
Loading
Loading
Loading
+24 −43
Original line number Diff line number Diff line
@@ -151,16 +151,13 @@ 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;
	}

	time = rtc_read_lp_counter(data);
	rtc_time64_to_tm(time, tm);

	if (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;
	}

	/* Disable RTC first */
	ret = snvs_rtc_enable(data, false);
@@ -190,7 +185,6 @@ 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);

	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;
	}

	regmap_read(data->regmap, data->offset + SNVS_LPTAR, &lptar);
	rtc_time64_to_tm(lptar, &alrm->time);
@@ -214,7 +206,6 @@ 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);

	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;
	}

	regmap_update_bits(data->regmap, data->offset + SNVS_LPCR,
			   (SNVS_LPCR_LPTA_EN | SNVS_LPCR_LPWUI_EN),
@@ -237,7 +226,6 @@ 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);

	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;
	}

	regmap_update_bits(data->regmap, data->offset + SNVS_LPCR, SNVS_LPCR_LPTA_EN, 0);
	ret = rtc_write_sync_lp(data);
@@ -264,7 +250,6 @@ 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);

	return snvs_rtc_alarm_irq_enable(dev, alrm->enabled);
@@ -285,7 +270,6 @@ static irqreturn_t snvs_rtc_irq_handler(int irq, void *dev_id)
	u32 lpsr;
	u32 events = 0;

	if (data->clk)
	clk_enable(data->clk);

	regmap_read(data->regmap, data->offset + SNVS_LPSR, &lpsr);
@@ -302,7 +286,6 @@ 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);

	return events ? IRQ_HANDLED : IRQ_NONE;
@@ -316,7 +299,6 @@ static const struct regmap_config snvs_rtc_config = {

static void snvs_rtc_action(void *data)
{
	if (data)
	clk_disable_unprepare(data);
}

@@ -412,7 +394,6 @@ 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);

	return 0;