mmc: core: SDXC speed class support
[linux-2.6.git] / include / linux / gpio.h
index 4e949a5..6e20df0 100644 (file)
@@ -3,6 +3,23 @@
 
 /* see Documentation/gpio.txt */
 
+/* make these flag values available regardless of GPIO kconfig options */
+#define GPIOF_DIR_OUT  (0 << 0)
+#define GPIOF_DIR_IN   (1 << 0)
+
+#define GPIOF_INIT_LOW (0 << 1)
+#define GPIOF_INIT_HIGH        (1 << 1)
+
+#define GPIOF_IN               (GPIOF_DIR_IN)
+#define GPIOF_OUT_INIT_LOW     (GPIOF_DIR_OUT | GPIOF_INIT_LOW)
+#define GPIOF_OUT_INIT_HIGH    (GPIOF_DIR_OUT | GPIOF_INIT_HIGH)
+
+/* Gpio pin is open drain */
+#define GPIOF_OPEN_DRAIN       (1 << 2)
+
+/* Gpio pin is open source */
+#define GPIOF_OPEN_SOURCE      (1 << 3)
+
 #ifdef CONFIG_GENERIC_GPIO
 #include <asm/gpio.h>
 
@@ -13,6 +30,8 @@
 #include <linux/errno.h>
 
 struct device;
+struct gpio;
+struct gpio_chip;
 
 /*
  * Some platforms don't support the GPIO programming interface.
@@ -23,9 +42,9 @@ struct device;
  * warning when something is wrongly called.
  */
 
-static inline int gpio_is_valid(int number)
+static inline bool gpio_is_valid(int number)
 {
-       return 0;
+       return false;
 }
 
 static inline int gpio_request(unsigned gpio, const char *label)
@@ -33,6 +52,17 @@ static inline int gpio_request(unsigned gpio, const char *label)
        return -ENOSYS;
 }
 
+static inline int gpio_request_one(unsigned gpio,
+                                       unsigned long flags, const char *label)
+{
+       return -ENOSYS;
+}
+
+static inline int gpio_request_array(const struct gpio *array, size_t num)
+{
+       return -ENOSYS;
+}
+
 static inline void gpio_free(unsigned gpio)
 {
        might_sleep();
@@ -41,6 +71,14 @@ static inline void gpio_free(unsigned gpio)
        WARN_ON(1);
 }
 
+static inline void gpio_free_array(const struct gpio *array, size_t num)
+{
+       might_sleep();
+
+       /* GPIO can never have been requested */
+       WARN_ON(1);
+}
+
 static inline int gpio_direction_input(unsigned gpio)
 {
        return -ENOSYS;
@@ -51,6 +89,11 @@ static inline int gpio_direction_output(unsigned gpio, int value)
        return -ENOSYS;
 }
 
+static inline int gpio_set_debounce(unsigned gpio, unsigned debounce)
+{
+       return -ENOSYS;
+}
+
 static inline int gpio_get_value(unsigned gpio)
 {
        /* GPIO can never have been requested or set as {in,out}put */