Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

platform/surface: aggregator: Do not mark interrupt as shared

Having both IRQF_NO_AUTOEN and IRQF_SHARED set causes
request_threaded_irq() to return with -EINVAL (see comment in flag
validation in that function). As the interrupt is currently not shared
between multiple devices, drop the IRQF_SHARED flag.

Fixes: 507cf5a2f1e2 ("platform/surface: aggregator: move to use request_irq by IRQF_NO_AUTOEN flag")
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
Link: https://lore.kernel.org/r/20210505133635.1499703-1-luzmaximilian@gmail.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>

authored by

Maximilian Luz and committed by
Hans de Goede
647e6cc9 79d341e2

+1 -2
+1 -2
drivers/platform/surface/aggregator/controller.c
··· 2483 2483 * interrupt, and let the SAM resume callback during the controller 2484 2484 * resume process clear it. 2485 2485 */ 2486 - const int irqf = IRQF_SHARED | IRQF_ONESHOT | 2487 - IRQF_TRIGGER_RISING | IRQF_NO_AUTOEN; 2486 + const int irqf = IRQF_ONESHOT | IRQF_TRIGGER_RISING | IRQF_NO_AUTOEN; 2488 2487 2489 2488 gpiod = gpiod_get(dev, "ssam_wakeup-int", GPIOD_ASIS); 2490 2489 if (IS_ERR(gpiod))