From 41288dfaf1b8231bc21fd6966e7296b087e75969 Mon Sep 17 00:00:00 2001 From: Marc Dietrich Date: Sat, 6 Apr 2024 14:31:20 +0200 Subject: [PATCH] staging: nvec: make keyboard init synchronous Currently, we are constantly sending commands to the EC without waiting for them to be executed. This can lead to confusion, especially if we initialize several different devices one after the other. To avoid this, we are switching from asynchronous to synchronous command transmission. Signed-off-by: Marc Dietrich Link: https://lore.kernel.org/r/20240406123123.37148-3-marvin24@gmx.de Signed-off-by: Greg Kroah-Hartman --- drivers/staging/nvec/nvec_kbd.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/staging/nvec/nvec_kbd.c b/drivers/staging/nvec/nvec_kbd.c index f9a1da952c0a8..d0259c80f8105 100644 --- a/drivers/staging/nvec/nvec_kbd.c +++ b/drivers/staging/nvec/nvec_kbd.c @@ -148,15 +148,16 @@ static int nvec_kbd_probe(struct platform_device *pdev) nvec_register_notifier(nvec, &keys_dev.notifier, 0); /* Enable keyboard */ - nvec_write_async(nvec, enable_kbd, 2); + nvec_write_sync(nvec, enable_kbd, 2, NULL); /* configures wake on special keys */ - nvec_write_async(nvec, cnfg_wake, 4); + nvec_write_sync(nvec, cnfg_wake, 4, NULL); + /* enable wake key reporting */ - nvec_write_async(nvec, cnfg_wake_key_reporting, 3); + nvec_write_sync(nvec, cnfg_wake_key_reporting, 3, NULL); /* Disable caps lock LED */ - nvec_write_async(nvec, clear_leds, sizeof(clear_leds)); + nvec_write_sync(nvec, clear_leds, sizeof(clear_leds), NULL); return 0; } -- 2.30.2