mbox series

[v7,0/3] mmc: mediatek: add support for SDIO async IRQ

Message ID 20220317100818.24908-1-axe.yang@mediatek.com (mailing list archive)
Headers show
Series mmc: mediatek: add support for SDIO async IRQ | expand

Message

Axe Yang (杨磊) March 17, 2022, 10:08 a.m. UTC
Change in v7:
- add device_init_wakeup() to register SDIO host as wakeup source

Change in v6:
- abandon cap-sdio-async-irq flag, use wakeup-source flag instead
- extend interrupts and pinctrls in mediatek mmc host controller DT documents
- add mmc_card_enable_async_irq() to access enable_async_irq flag
- simplify wakeup irq implementation with dedicate wake up irq related interface

Change in v5:
- resort variables to reversed xmas tree order
- restore old copyright year range and add current year back

Change in v4:
- add MMC_CAP2_SDIO_ASYNC_IRQ judge before lookup eint pinctrl
- replace spin_lock_irqsave() variant with spin_lock() in eint irq handler

Changes in v3:
- correct abbreviations with capital letters in commit message
- replace copyright year with 2022 in mtk-sd.c
- remove unnessary pointer casting
- adjust variable order to reversed xmas tree
- remove a redundant blank line
- refine if statement, following standard pattern

Change in v2:
- change flag name from 'cap-sdio-async-int' to 'cap-sdio-async-irq'
- change corresponding macro names from xxx_INT to xxx_IRQ
- resort new member in msdc_host structure
- refine function msdc_request_dat1_eint_irq()
- rename msdc_{suspend,resume} function names, add suffix '_noirq'
- add MMC_CAP2_NO_SDIO judgement before parse eint related pin setting

Axe Yang (3):
  dt-bindings: mmc: mtk-sd: extend interrupts and pinctrls properties
  mmc: core: Add support for SDIO wakeup interrupt
  mmc: mediatek: add support for SDIO eint wakup IRQ

 .../devicetree/bindings/mmc/mtk-sd.yaml       |  24 ++++-
 drivers/mmc/core/sdio.c                       |  17 +++
 drivers/mmc/host/mtk-sd.c                     | 100 ++++++++++++++++--
 include/linux/mmc/card.h                      |   8 +-
 include/linux/mmc/sdio.h                      |   5 +
 5 files changed, 144 insertions(+), 10 deletions(-)