linux/include/linux/gpio.h
<<
>>
Prefs
   1#ifndef __LINUX_GPIO_H
   2#define __LINUX_GPIO_H
   3
   4/* see Documentation/gpio.txt */
   5
   6#ifdef CONFIG_GENERIC_GPIO
   7#include <asm/gpio.h>
   8
   9#else
  10
  11#include <linux/kernel.h>
  12#include <linux/types.h>
  13#include <linux/errno.h>
  14
  15/*
  16 * Some platforms don't support the GPIO programming interface.
  17 *
  18 * In case some driver uses it anyway (it should normally have
  19 * depended on GENERIC_GPIO), these routines help the compiler
  20 * optimize out much GPIO-related code ... or trigger a runtime
  21 * warning when something is wrongly called.
  22 */
  23
  24static inline int gpio_is_valid(int number)
  25{
  26        return 0;
  27}
  28
  29static inline int gpio_request(unsigned gpio, const char *label)
  30{
  31        return -ENOSYS;
  32}
  33
  34static inline void gpio_free(unsigned gpio)
  35{
  36        might_sleep();
  37
  38        /* GPIO can never have been requested */
  39        WARN_ON(1);
  40}
  41
  42static inline int gpio_direction_input(unsigned gpio)
  43{
  44        return -ENOSYS;
  45}
  46
  47static inline int gpio_direction_output(unsigned gpio, int value)
  48{
  49        return -ENOSYS;
  50}
  51
  52static inline int gpio_get_value(unsigned gpio)
  53{
  54        /* GPIO can never have been requested or set as {in,out}put */
  55        WARN_ON(1);
  56        return 0;
  57}
  58
  59static inline void gpio_set_value(unsigned gpio, int value)
  60{
  61        /* GPIO can never have been requested or set as output */
  62        WARN_ON(1);
  63}
  64
  65static inline int gpio_cansleep(unsigned gpio)
  66{
  67        /* GPIO can never have been requested or set as {in,out}put */
  68        WARN_ON(1);
  69        return 0;
  70}
  71
  72static inline int gpio_get_value_cansleep(unsigned gpio)
  73{
  74        /* GPIO can never have been requested or set as {in,out}put */
  75        WARN_ON(1);
  76        return 0;
  77}
  78
  79static inline void gpio_set_value_cansleep(unsigned gpio, int value)
  80{
  81        /* GPIO can never have been requested or set as output */
  82        WARN_ON(1);
  83}
  84
  85static inline int gpio_export(unsigned gpio, bool direction_may_change)
  86{
  87        /* GPIO can never have been requested or set as {in,out}put */
  88        WARN_ON(1);
  89        return -EINVAL;
  90}
  91
  92static inline void gpio_unexport(unsigned gpio)
  93{
  94        /* GPIO can never have been exported */
  95        WARN_ON(1);
  96}
  97
  98static inline int gpio_to_irq(unsigned gpio)
  99{
 100        /* GPIO can never have been requested or set as input */
 101        WARN_ON(1);
 102        return -EINVAL;
 103}
 104
 105static inline int irq_to_gpio(unsigned irq)
 106{
 107        /* irq can never have been returned from gpio_to_irq() */
 108        WARN_ON(1);
 109        return -EINVAL;
 110}
 111
 112#endif
 113
 114#endif /* __LINUX_GPIO_H */
 115
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.