18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci#ifndef GPIOLIB_OF_H
48c2ecf20Sopenharmony_ci#define GPIOLIB_OF_H
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cistruct gpio_chip;
78c2ecf20Sopenharmony_cienum of_gpio_flags;
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#ifdef CONFIG_OF_GPIO
108c2ecf20Sopenharmony_cistruct gpio_desc *of_find_gpio(struct device *dev,
118c2ecf20Sopenharmony_ci			       const char *con_id,
128c2ecf20Sopenharmony_ci			       unsigned int idx,
138c2ecf20Sopenharmony_ci			       unsigned long *lookupflags);
148c2ecf20Sopenharmony_ciint of_gpiochip_add(struct gpio_chip *gc);
158c2ecf20Sopenharmony_civoid of_gpiochip_remove(struct gpio_chip *gc);
168c2ecf20Sopenharmony_ciint of_gpio_get_count(struct device *dev, const char *con_id);
178c2ecf20Sopenharmony_cibool of_gpio_need_valid_mask(const struct gpio_chip *gc);
188c2ecf20Sopenharmony_ci#else
198c2ecf20Sopenharmony_cistatic inline struct gpio_desc *of_find_gpio(struct device *dev,
208c2ecf20Sopenharmony_ci					     const char *con_id,
218c2ecf20Sopenharmony_ci					     unsigned int idx,
228c2ecf20Sopenharmony_ci					     unsigned long *lookupflags)
238c2ecf20Sopenharmony_ci{
248c2ecf20Sopenharmony_ci	return ERR_PTR(-ENOENT);
258c2ecf20Sopenharmony_ci}
268c2ecf20Sopenharmony_cistatic inline int of_gpiochip_add(struct gpio_chip *gc) { return 0; }
278c2ecf20Sopenharmony_cistatic inline void of_gpiochip_remove(struct gpio_chip *gc) { }
288c2ecf20Sopenharmony_cistatic inline int of_gpio_get_count(struct device *dev, const char *con_id)
298c2ecf20Sopenharmony_ci{
308c2ecf20Sopenharmony_ci	return 0;
318c2ecf20Sopenharmony_ci}
328c2ecf20Sopenharmony_cistatic inline bool of_gpio_need_valid_mask(const struct gpio_chip *gc)
338c2ecf20Sopenharmony_ci{
348c2ecf20Sopenharmony_ci	return false;
358c2ecf20Sopenharmony_ci}
368c2ecf20Sopenharmony_ci#endif /* CONFIG_OF_GPIO */
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciextern struct notifier_block gpio_of_notifier;
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci#endif /* GPIOLIB_OF_H */
41