1664e3e5aSMika Westerberg /* 2664e3e5aSMika Westerberg * Internal GPIO functions. 3664e3e5aSMika Westerberg * 4664e3e5aSMika Westerberg * Copyright (C) 2013, Intel Corporation 5664e3e5aSMika Westerberg * Author: Mika Westerberg <mika.westerberg@linux.intel.com> 6664e3e5aSMika Westerberg * 7664e3e5aSMika Westerberg * This program is free software; you can redistribute it and/or modify 8664e3e5aSMika Westerberg * it under the terms of the GNU General Public License version 2 as 9664e3e5aSMika Westerberg * published by the Free Software Foundation. 10664e3e5aSMika Westerberg */ 11664e3e5aSMika Westerberg 12664e3e5aSMika Westerberg #ifndef GPIOLIB_H 13664e3e5aSMika Westerberg #define GPIOLIB_H 14664e3e5aSMika Westerberg 155ccff852SMika Westerberg #include <linux/err.h> 165ccff852SMika Westerberg #include <linux/device.h> 175ccff852SMika Westerberg 185ccff852SMika Westerberg /** 195ccff852SMika Westerberg * struct acpi_gpio_info - ACPI GPIO specific information 205ccff852SMika Westerberg * @gpioint: if %true this GPIO is of type GpioInt otherwise type is GpioIo 215ccff852SMika Westerberg * @active_low: in case of @gpioint, the pin is active low 225ccff852SMika Westerberg */ 235ccff852SMika Westerberg struct acpi_gpio_info { 245ccff852SMika Westerberg bool gpioint; 255ccff852SMika Westerberg bool active_low; 265ccff852SMika Westerberg }; 275ccff852SMika Westerberg 28664e3e5aSMika Westerberg #ifdef CONFIG_ACPI 29664e3e5aSMika Westerberg void acpi_gpiochip_add(struct gpio_chip *chip); 30664e3e5aSMika Westerberg void acpi_gpiochip_remove(struct gpio_chip *chip); 315ccff852SMika Westerberg 325ccff852SMika Westerberg struct gpio_desc *acpi_get_gpiod_by_index(struct device *dev, int index, 335ccff852SMika Westerberg struct acpi_gpio_info *info); 34664e3e5aSMika Westerberg #else 35664e3e5aSMika Westerberg static inline void acpi_gpiochip_add(struct gpio_chip *chip) { } 36664e3e5aSMika Westerberg static inline void acpi_gpiochip_remove(struct gpio_chip *chip) { } 375ccff852SMika Westerberg 385ccff852SMika Westerberg static inline struct gpio_desc * 395ccff852SMika Westerberg acpi_get_gpiod_by_index(struct device *dev, int index, 405ccff852SMika Westerberg struct acpi_gpio_info *info) 415ccff852SMika Westerberg { 425ccff852SMika Westerberg return ERR_PTR(-ENOSYS); 435ccff852SMika Westerberg } 44664e3e5aSMika Westerberg #endif 45664e3e5aSMika Westerberg 46664e3e5aSMika Westerberg #endif /* GPIOLIB_H */ 47