staging: wfx: repair external IRQ for SDIO
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Tue, 5 May 2020 12:37:47 +0000 (14:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 May 2020 11:26:40 +0000 (13:26 +0200)
commit5561770f80b11786602726bf1fa172c8009e542b
treeab6678577ecd5648682d8014bfc2aad092b007c6
parentba52eddcbbde566803d51d5c8b004e70b4dc92ed
staging: wfx: repair external IRQ for SDIO

When used over SDIO bus, device is able to use an external line to
signal IRQs (also called Out-Of-Band IRQ). The current code have several
problems:
  1. The ISR cannot directly acknowledge IRQ since access to the bus is
     not atomic. This patch use a threaded IRQ to solve that issue.
  2. On certain platforms, it is necessary to keep SDIO interruption
     enabled (with register SDIO_CCCR_IENx) (this part has inspired from
     the brcmfmac driver).

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200505123757.39506-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/bus_sdio.c