Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4101ecc2 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

power: reset: ltc2952: Remove bogus hrtimer_start() return value checks



The return value of hrtimer_start() tells whether the timer was
inactive or active already when hrtimer_start() was called.

The code emits a bogus warning if the timer was active already
claiming that the timer could not be started.

Remove it along with the bogus comment in the else path.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarFrans Klaver <frans.klaver@xsens.com>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Wolfram Sang <wsa@the-dreams.de>
Cc: linux-pm@vger.kernel.org
parent b484403b
Loading
Loading
Loading
Loading
+3 −16
Original line number Diff line number Diff line
@@ -120,18 +120,7 @@ static enum hrtimer_restart ltc2952_poweroff_timer_wde(struct hrtimer *timer)

static void ltc2952_poweroff_start_wde(struct ltc2952_poweroff *data)
{
	if (hrtimer_start(&data->timer_wde, data->wde_interval,
			  HRTIMER_MODE_REL)) {
		/*
		 * The device will not toggle the watchdog reset,
		 * thus shut down is only safe if the PowerPath controller
		 * has a long enough time-off before triggering a hardware
		 * power-off.
		 *
		 * Only sending a warning as the system will power-off anyway
		 */
		dev_err(data->dev, "unable to start the timer\n");
	}
	hrtimer_start(&data->timer_wde, data->wde_interval, HRTIMER_MODE_REL);
}

static enum hrtimer_restart
@@ -165,12 +154,10 @@ static irqreturn_t ltc2952_poweroff_handler(int irq, void *dev_id)
	}

	if (gpiod_get_value(data->gpio_trigger)) {
		if (hrtimer_start(&data->timer_trigger, data->trigger_delay,
				  HRTIMER_MODE_REL))
			dev_err(data->dev, "unable to start the wait timer\n");
		hrtimer_start(&data->timer_trigger, data->trigger_delay,
			      HRTIMER_MODE_REL);
	} else {
		hrtimer_cancel(&data->timer_trigger);
		/* omitting return value check, timer should have been valid */
	}
	return IRQ_HANDLED;
}