Thread (19 messages) 19 messages, 8 authors, 2024-10-09

Re: [PATCH 20/51] Input: omap4-keypad: Switch to __pm_runtime_put_autosuspend()

From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2024-10-04 11:08:35

Hi Sakari,

On Fri, Oct 04, 2024 at 10:26:42AM +0000, Sakari Ailus wrote:
Hi Andreas,

On Fri, Oct 04, 2024 at 11:55:11AM +0200, Andreas Kemnade wrote:
quoted
Am Fri,  4 Oct 2024 12:41:23 +0300
schrieb Sakari Ailus [off-list ref]:
quoted
pm_runtime_put_autosuspend() will soon be changed to include a call to
pm_runtime_mark_last_busy(). This patch switches the current users to
__pm_runtime_put_autosuspend() which will continue to have the
functionality of old pm_runtime_put_autosuspend().

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 drivers/input/keyboard/omap4-keypad.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/input/keyboard/omap4-keypad.c
b/drivers/input/keyboard/omap4-keypad.c index
040b340995d8..cc8d77601fc7 100644 ---
a/drivers/input/keyboard/omap4-keypad.c +++
b/drivers/input/keyboard/omap4-keypad.c @@ -196,7 +196,7 @@ static
irqreturn_t omap4_keypad_irq_thread_fn(int irq, void *dev_id)
kbd_read_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS)); 
 	pm_runtime_mark_last_busy(dev);
-	pm_runtime_put_autosuspend(dev);
+	__pm_runtime_put_autosuspend(dev);
 
 	return IRQ_HANDLED;
 }
@@ -234,7 +234,7 @@ static int omap4_keypad_open(struct input_dev
*input) 
 out:
 	pm_runtime_mark_last_busy(dev);
-	pm_runtime_put_autosuspend(dev);
+	__pm_runtime_put_autosuspend(dev);
 
hmm, if pm_runtime_put_autosuspend() will include the call to
pm_runtime_mark_last_busy(), then why is this change needed?
After the change, the mark_last_busy could be removed.
It could, in which case we'd be living with pm_runtime_mark_last_busy()
called twice, for some time, and for some code, possibly even in a release
kernel, depending on how well the patches "stick". It likely wouldn't be
harmful. Still, to avoid making functional changes to more than 350 files I
know little about, I've instead posted this set to prepare for
pm_runtime_put_autosuspend() functionality change while keeping the
functionality of the code exactly the same.
pm_runtime_mark_last_busy() is pretty cheap (it fetches current time and
stores it in the device power-related structure), so doing it twice
back-to-back should not be a problem.

I would prefer what Andreas suggested in the first place: remove call to
pm_runtime_mark_last_busy() once pm_runtime_put_autosuspend() does it
for us. I'd be OK with such change being merged through the same tree
that changes to pm_runtime_put_autosuspend() will be merged through.

Thanks.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help