| /* SPDX-License-Identifier: GPL-2.0-only */ |
| /* |
| * Generic GPIO card-detect helper header |
| * |
| * Copyright (C) 2011, Guennadi Liakhovetski <g.liakhovetski@gmx.de> |
| */ |
| |
| #ifndef MMC_SLOT_GPIO_H |
| #define MMC_SLOT_GPIO_H |
| |
| #include <linux/types.h> |
| #include <linux/irqreturn.h> |
| |
| struct mmc_host; |
| |
| int mmc_gpio_get_ro(struct mmc_host *host); |
| int mmc_gpio_get_cd(struct mmc_host *host); |
| int mmc_gpiod_request_cd(struct mmc_host *host, const char *con_id, |
| unsigned int idx, bool override_active_level, |
| unsigned int debounce); |
| int mmc_gpiod_request_ro(struct mmc_host *host, const char *con_id, |
| unsigned int idx, unsigned int debounce); |
| void mmc_gpio_set_cd_isr(struct mmc_host *host, |
| irqreturn_t (*isr)(int irq, void *dev_id)); |
| int mmc_gpio_set_cd_wake(struct mmc_host *host, bool on); |
| void mmc_gpiod_request_cd_irq(struct mmc_host *host); |
| bool mmc_can_gpio_cd(struct mmc_host *host); |
| bool mmc_can_gpio_ro(struct mmc_host *host); |
| |
| #endif |