]>
Commit | Line | Data |
---|---|---|
664e3e5a MW |
1 | /* |
2 | * Internal GPIO functions. | |
3 | * | |
4 | * Copyright (C) 2013, Intel Corporation | |
5 | * Author: Mika Westerberg <mika.westerberg@linux.intel.com> | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License version 2 as | |
9 | * published by the Free Software Foundation. | |
10 | */ | |
11 | ||
12 | #ifndef GPIOLIB_H | |
13 | #define GPIOLIB_H | |
14 | ||
5ccff852 MW |
15 | #include <linux/err.h> |
16 | #include <linux/device.h> | |
17 | ||
f01d9075 AC |
18 | enum of_gpio_flags; |
19 | ||
5ccff852 MW |
20 | /** |
21 | * struct acpi_gpio_info - ACPI GPIO specific information | |
22 | * @gpioint: if %true this GPIO is of type GpioInt otherwise type is GpioIo | |
23 | * @active_low: in case of @gpioint, the pin is active low | |
24 | */ | |
25 | struct acpi_gpio_info { | |
26 | bool gpioint; | |
27 | bool active_low; | |
28 | }; | |
29 | ||
664e3e5a MW |
30 | #ifdef CONFIG_ACPI |
31 | void acpi_gpiochip_add(struct gpio_chip *chip); | |
32 | void acpi_gpiochip_remove(struct gpio_chip *chip); | |
5ccff852 MW |
33 | |
34 | struct gpio_desc *acpi_get_gpiod_by_index(struct device *dev, int index, | |
35 | struct acpi_gpio_info *info); | |
664e3e5a MW |
36 | #else |
37 | static inline void acpi_gpiochip_add(struct gpio_chip *chip) { } | |
38 | static inline void acpi_gpiochip_remove(struct gpio_chip *chip) { } | |
5ccff852 MW |
39 | |
40 | static inline struct gpio_desc * | |
41 | acpi_get_gpiod_by_index(struct device *dev, int index, | |
42 | struct acpi_gpio_info *info) | |
43 | { | |
44 | return ERR_PTR(-ENOSYS); | |
45 | } | |
664e3e5a MW |
46 | #endif |
47 | ||
77c2d792 MW |
48 | int gpiochip_request_own_desc(struct gpio_desc *desc, const char *label); |
49 | void gpiochip_free_own_desc(struct gpio_desc *desc); | |
50 | ||
f01d9075 AC |
51 | struct gpio_desc *of_get_named_gpiod_flags(struct device_node *np, |
52 | const char *list_name, int index, enum of_gpio_flags *flags); | |
53 | ||
664e3e5a | 54 | #endif /* GPIOLIB_H */ |