slot-gpio.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * Generic GPIO card-detect helper header
  3. *
  4. * Copyright (C) 2011, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #ifndef MMC_SLOT_GPIO_H
  11. #define MMC_SLOT_GPIO_H
  12. #include <linux/types.h>
  13. #include <linux/irqreturn.h>
  14. struct mmc_host;
  15. int mmc_gpio_get_ro(struct mmc_host *host);
  16. int mmc_gpio_request_ro(struct mmc_host *host, unsigned int gpio);
  17. int mmc_gpio_get_cd(struct mmc_host *host);
  18. int mmc_gpio_request_cd(struct mmc_host *host, unsigned int gpio,
  19. unsigned int debounce);
  20. int mmc_gpiod_request_cd(struct mmc_host *host, const char *con_id,
  21. unsigned int idx, bool override_active_level,
  22. unsigned int debounce, bool *gpio_invert);
  23. int mmc_gpiod_request_ro(struct mmc_host *host, const char *con_id,
  24. unsigned int idx, bool override_active_level,
  25. unsigned int debounce, bool *gpio_invert);
  26. void mmc_gpio_set_cd_isr(struct mmc_host *host,
  27. irqreturn_t (*isr)(int irq, void *dev_id));
  28. void mmc_gpiod_request_cd_irq(struct mmc_host *host);
  29. bool mmc_can_gpio_cd(struct mmc_host *host);
  30. #endif