Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * ACPI helpers for GPIO API
 4 *
 5 * Copyright (C) 2012,2019 Intel Corporation
 6 */
 7
 8#ifndef GPIOLIB_ACPI_H
 9#define GPIOLIB_ACPI_H
10
11#include <linux/err.h>
12#include <linux/errno.h>
13#include <linux/types.h>
14
15#include <linux/gpio/consumer.h>
16
17struct device;
18struct fwnode_handle;
19
20struct gpio_chip;
21struct gpio_desc;
22struct gpio_device;
23
24#ifdef CONFIG_ACPI
25void acpi_gpiochip_add(struct gpio_chip *chip);
26void acpi_gpiochip_remove(struct gpio_chip *chip);
27
28void acpi_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev);
29
30void acpi_gpiochip_request_interrupts(struct gpio_chip *chip);
31void acpi_gpiochip_free_interrupts(struct gpio_chip *chip);
32
33struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
34				 const char *con_id,
35				 unsigned int idx,
36				 enum gpiod_flags *dflags,
37				 unsigned long *lookupflags);
38
39int acpi_gpio_count(struct device *dev, const char *con_id);
40#else
41static inline void acpi_gpiochip_add(struct gpio_chip *chip) { }
42static inline void acpi_gpiochip_remove(struct gpio_chip *chip) { }
43
44static inline void acpi_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev) { }
45
46static inline void
47acpi_gpiochip_request_interrupts(struct gpio_chip *chip) { }
48
49static inline void
50acpi_gpiochip_free_interrupts(struct gpio_chip *chip) { }
51
52static inline struct gpio_desc *
53acpi_find_gpio(struct fwnode_handle *fwnode, const char *con_id,
54	       unsigned int idx, enum gpiod_flags *dflags,
55	       unsigned long *lookupflags)
56{
57	return ERR_PTR(-ENOENT);
58}
59static inline int acpi_gpio_count(struct device *dev, const char *con_id)
60{
61	return -ENODEV;
62}
63#endif
64
65#endif /* GPIOLIB_ACPI_H */