46 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2 3#ifndef GPIOLIB_OF_H4#define GPIOLIB_OF_H5 6#include <linux/err.h>7#include <linux/types.h>8 9#include <linux/notifier.h>10 11struct device;12struct fwnode_handle;13 14struct gpio_chip;15struct gpio_desc;16struct gpio_device;17 18#ifdef CONFIG_OF_GPIO19struct gpio_desc *of_find_gpio(struct device_node *np,20 const char *con_id,21 unsigned int idx,22 unsigned long *lookupflags);23int of_gpiochip_add(struct gpio_chip *gc);24void of_gpiochip_remove(struct gpio_chip *gc);25int of_gpio_count(const struct fwnode_handle *fwnode, const char *con_id);26#else27static inline struct gpio_desc *of_find_gpio(struct device_node *np,28 const char *con_id,29 unsigned int idx,30 unsigned long *lookupflags)31{32 return ERR_PTR(-ENOENT);33}34static inline int of_gpiochip_add(struct gpio_chip *gc) { return 0; }35static inline void of_gpiochip_remove(struct gpio_chip *gc) { }36static inline int of_gpio_count(const struct fwnode_handle *fwnode,37 const char *con_id)38{39 return 0;40}41#endif /* CONFIG_OF_GPIO */42 43extern struct notifier_block gpio_of_notifier;44 45#endif /* GPIOLIB_OF_H */46