mmc: core: Always allow the card detect uevent to be consumed
authorUlf Hansson <ulf.hansson@linaro.org>
Fri, 29 May 2020 10:23:41 +0000 (12:23 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 13 Jul 2020 10:18:22 +0000 (12:18 +0200)
commitb52fb259dff8d0da76d38005464edf4201b01d76
tree15bfb0017d4840ab8ed8efa2fe0cfdf168fd5b36
parent11ba468877bb23f28956a35e896356252d63c983
mmc: core: Always allow the card detect uevent to be consumed

The approach to allow userspace ~5s to consume the uevent, which is
triggered when a new card is inserted/initialized, currently requires the
mmc host to support system wakeup.

This is unnecessary limiting, especially for an mmc host that relies on a
GPIO IRQ for card detect. More precisely, the mmc host may not support
system wakeup for its corresponding struct device, while the GPIO IRQ still
could be configured as a wakeup IRQ via enable_irq_wake().

To support all various cases, let's simply drop the need for the wakeup
support. Instead let's always register a wakeup source and activate it for
all card detect IRQs by calling __pm_wakeup_event().

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20200529102341.12529-1-ulf.hansson@linaro.org
drivers/mmc/core/core.c
drivers/mmc/core/host.c
include/linux/mmc/host.h