Merge tag 'mt76-for-kvalo-2020-06-07' of https://github.com/nbd168/wireless
[linux-2.6-block.git] / include / linux / mmc / slot-gpio.h
CommitLineData
d2912cb1 1/* SPDX-License-Identifier: GPL-2.0-only */
349ab524
GL
2/*
3 * Generic GPIO card-detect helper header
4 *
5 * Copyright (C) 2011, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
349ab524
GL
6 */
7
fd0ea65d
GL
8#ifndef MMC_SLOT_GPIO_H
9#define MMC_SLOT_GPIO_H
349ab524 10
8da00734
UH
11#include <linux/types.h>
12#include <linux/irqreturn.h>
13
349ab524 14struct mmc_host;
befe4048 15
5aa7dad3 16int mmc_gpio_get_ro(struct mmc_host *host);
befe4048 17int mmc_gpio_get_cd(struct mmc_host *host);
740a221e
AH
18int mmc_gpiod_request_cd(struct mmc_host *host, const char *con_id,
19 unsigned int idx, bool override_active_level,
d0052ad9 20 unsigned int debounce);
9d2fa242 21int mmc_gpiod_request_ro(struct mmc_host *host, const char *con_id,
d0052ad9 22 unsigned int idx, unsigned int debounce);
c7ea834d
N
23void mmc_gpio_set_cd_isr(struct mmc_host *host,
24 irqreturn_t (*isr)(int irq, void *dev_id));
36f1d7e8 25int mmc_gpio_set_cd_wake(struct mmc_host *host, bool on);
740a221e 26void mmc_gpiod_request_cd_irq(struct mmc_host *host);
50fcbbbb 27bool mmc_can_gpio_cd(struct mmc_host *host);
85f9ef8c 28bool mmc_can_gpio_ro(struct mmc_host *host);
740a221e 29
349ab524 30#endif