1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Generic GPIO card-detect helper header |
4 | * |
5 | * Copyright (C) 2011, Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
6 | */ |
7 | |
8 | #ifndef MMC_SLOT_GPIO_H |
9 | #define MMC_SLOT_GPIO_H |
10 | |
11 | #include <linux/types.h> |
12 | #include <linux/irqreturn.h> |
13 | |
14 | struct mmc_host; |
15 | |
16 | int mmc_gpio_get_ro(struct mmc_host *host); |
17 | int mmc_gpio_get_cd(struct mmc_host *host); |
18 | void mmc_gpio_set_cd_irq(struct mmc_host *host, int irq); |
19 | int mmc_gpiod_request_cd(struct mmc_host *host, const char *con_id, |
20 | unsigned int idx, bool override_active_level, |
21 | unsigned int debounce); |
22 | int mmc_gpiod_request_ro(struct mmc_host *host, const char *con_id, |
23 | unsigned int idx, unsigned int debounce); |
24 | void mmc_gpio_set_cd_isr(struct mmc_host *host, |
25 | irqreturn_t (*isr)(int irq, void *dev_id)); |
26 | int mmc_gpio_set_cd_wake(struct mmc_host *host, bool on); |
27 | void mmc_gpiod_request_cd_irq(struct mmc_host *host); |
28 | bool mmc_can_gpio_cd(struct mmc_host *host); |
29 | bool mmc_can_gpio_ro(struct mmc_host *host); |
30 | |
31 | #endif |
32 | |