Commit 433302dd authored by Minghao Chi's avatar Minghao Chi Committed by Dmitry Torokhov
Browse files

Input: omap4-keypad - switch to using pm_runtime_resume_and_get()



Use pm_runtime_resume_and_get() to replace pm_runtime_get_sync and
pm_runtime_put_noidle. This change is just to simplify the code, no
actual functional changes.

Reported-by: default avatarZeal Robot <zealci@zte.com.cn>
Signed-off-by: default avatarMinghao Chi <chi.minghao@zte.com.cn>
Link: https://lore.kernel.org/r/20220414085710.2541867-1-chi.minghao@zte.com.cn


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 690e1790
Loading
Loading
Loading
Loading
+11 −15
Original line number Diff line number Diff line
@@ -179,11 +179,9 @@ static irqreturn_t omap4_keypad_irq_thread_fn(int irq, void *dev_id)
	int error;
	u64 keys;

	error = pm_runtime_get_sync(dev);
	if (error < 0) {
		pm_runtime_put_noidle(dev);
	error = pm_runtime_resume_and_get(dev);
	if (error)
		return IRQ_NONE;
	}

	low = kbd_readl(keypad_data, OMAP4_KBD_FULLCODE31_0);
	high = kbd_readl(keypad_data, OMAP4_KBD_FULLCODE63_32);
@@ -207,11 +205,9 @@ static int omap4_keypad_open(struct input_dev *input)
	struct device *dev = input->dev.parent;
	int error;

	error = pm_runtime_get_sync(dev);
	if (error < 0) {
		pm_runtime_put_noidle(dev);
	error = pm_runtime_resume_and_get(dev);
	if (error)
		return error;
	}

	disable_irq(keypad_data->irq);

@@ -254,9 +250,10 @@ static void omap4_keypad_close(struct input_dev *input)
	struct device *dev = input->dev.parent;
	int error;

	error = pm_runtime_get_sync(dev);
	if (error < 0)
		pm_runtime_put_noidle(dev);
	error = pm_runtime_resume_and_get(dev);
	if (error)
		dev_err(dev, "%s: pm_runtime_resume_and_get() failed: %d\n",
			__func__, error);

	disable_irq(keypad_data->irq);
	omap4_keypad_stop(keypad_data);
@@ -392,10 +389,9 @@ static int omap4_keypad_probe(struct platform_device *pdev)
	 * Enable clocks for the keypad module so that we can read
	 * revision register.
	 */
	error = pm_runtime_get_sync(dev);
	if (error < 0) {
		dev_err(dev, "pm_runtime_get_sync() failed\n");
		pm_runtime_put_noidle(dev);
	error = pm_runtime_resume_and_get(dev);
	if (error) {
		dev_err(dev, "pm_runtime_resume_and_get() failed\n");
		return error;
	}