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 int mmc_gpiod_request_cd(struct mmc_host *host, const char *con_id, 19 unsigned int idx, bool override_active_level, 20 unsigned int debounce); 21 int mmc_gpiod_request_ro(struct mmc_host *host, const char *con_id, 22 unsigned int idx, unsigned int debounce); 23 void mmc_gpio_set_cd_isr(struct mmc_host *host, 24 irqreturn_t (*isr)(int irq, void *dev_id)); 25 int mmc_gpio_set_cd_wake(struct mmc_host *host, bool on); 26 void mmc_gpiod_request_cd_irq(struct mmc_host *host); 27 bool mmc_can_gpio_cd(struct mmc_host *host); 28 bool mmc_can_gpio_ro(struct mmc_host *host); 29 30 #endif 31