xref: /openbmc/linux/drivers/pinctrl/devicetree.h (revision cf9441ad)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Internal interface to pinctrl device tree integration
4  *
5  * Copyright (C) 2012 NVIDIA CORPORATION. All rights reserved.
6  */
7 
8 struct of_phandle_args;
9 
10 #ifdef CONFIG_OF
11 
12 bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev);
13 
14 void pinctrl_dt_free_maps(struct pinctrl *p);
15 int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev);
16 
17 int pinctrl_count_index_with_args(const struct device_node *np,
18 				  const char *list_name);
19 
20 int pinctrl_parse_index_with_args(const struct device_node *np,
21 				  const char *list_name, int index,
22 				  struct of_phandle_args *out_args);
23 
24 #else
25 
26 static inline bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev)
27 {
28 	return false;
29 }
30 
31 static inline int pinctrl_dt_to_map(struct pinctrl *p,
32 				    struct pinctrl_dev *pctldev)
33 {
34 	return 0;
35 }
36 
37 static inline void pinctrl_dt_free_maps(struct pinctrl *p)
38 {
39 }
40 
41 static inline int pinctrl_count_index_with_args(const struct device_node *np,
42 						const char *list_name)
43 {
44 	return -ENODEV;
45 }
46 
47 static inline int
48 pinctrl_parse_index_with_args(const struct device_node *np,
49 			      const char *list_name, int index,
50 			      struct of_phandle_args *out_args)
51 {
52 	return -ENODEV;
53 }
54 
55 #endif
56