13d0407baSopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
23d0407baSopenharmony_ci
33d0407baSopenharmony_ci#ifndef GPIOLIB_OF_H
43d0407baSopenharmony_ci#define GPIOLIB_OF_H
53d0407baSopenharmony_ci
63d0407baSopenharmony_cistruct gpio_chip;
73d0407baSopenharmony_cienum of_gpio_flags;
83d0407baSopenharmony_ci
93d0407baSopenharmony_ci#ifdef CONFIG_OF_GPIO
103d0407baSopenharmony_cistruct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, unsigned int idx, unsigned long *lookupflags);
113d0407baSopenharmony_ciint of_gpiochip_add(struct gpio_chip *gc);
123d0407baSopenharmony_civoid of_gpiochip_remove(struct gpio_chip *gc);
133d0407baSopenharmony_ciint of_gpio_get_count(struct device *dev, const char *con_id);
143d0407baSopenharmony_cibool of_gpio_need_valid_mask(const struct gpio_chip *gc);
153d0407baSopenharmony_civoid of_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev);
163d0407baSopenharmony_ci#else
173d0407baSopenharmony_cistatic inline struct gpio_desc *of_find_gpio(struct device *dev, const char *con_id, unsigned int idx,
183d0407baSopenharmony_ci                                             unsigned long *lookupflags)
193d0407baSopenharmony_ci{
203d0407baSopenharmony_ci    return ERR_PTR(-ENOENT);
213d0407baSopenharmony_ci}
223d0407baSopenharmony_cistatic inline int of_gpiochip_add(struct gpio_chip *gc)
233d0407baSopenharmony_ci{
243d0407baSopenharmony_ci    return 0;
253d0407baSopenharmony_ci}
263d0407baSopenharmony_cistatic inline void of_gpiochip_remove(struct gpio_chip *gc)
273d0407baSopenharmony_ci{
283d0407baSopenharmony_ci}
293d0407baSopenharmony_cistatic inline int of_gpio_get_count(struct device *dev, const char *con_id)
303d0407baSopenharmony_ci{
313d0407baSopenharmony_ci    return 0;
323d0407baSopenharmony_ci}
333d0407baSopenharmony_cistatic inline bool of_gpio_need_valid_mask(const struct gpio_chip *gc)
343d0407baSopenharmony_ci{
353d0407baSopenharmony_ci    return false;
363d0407baSopenharmony_ci}
373d0407baSopenharmony_cistatic inline void of_gpio_dev_init(struct gpio_chip *gc, struct gpio_device *gdev)
383d0407baSopenharmony_ci{
393d0407baSopenharmony_ci}
403d0407baSopenharmony_ci#endif /* CONFIG_OF_GPIO */
413d0407baSopenharmony_ci
423d0407baSopenharmony_ciextern struct notifier_block gpio_of_notifier;
433d0407baSopenharmony_ci
443d0407baSopenharmony_ci#endif /* GPIOLIB_OF_H */
45