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