xref: /linux/drivers/pinctrl/devicetree.h (revision cbdb1f163af2bb90d01be1f0263df1d8d5c9d9d3)
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 #include <linux/errno.h>
9 
10 struct device_node;
11 struct of_phandle_args;
12 
13 struct pinctrl;
14 struct pinctrl_dev;
15 
16 #ifdef CONFIG_OF
17 
18 void pinctrl_dt_free_maps(struct pinctrl *p);
19 int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev);
20 
21 int pinctrl_count_index_with_args(const struct device_node *np,
22 				  const char *list_name);
23 
24 int pinctrl_parse_index_with_args(const struct device_node *np,
25 				  const char *list_name, int index,
26 				  struct of_phandle_args *out_args);
27 
28 #else
29 
30 static inline int pinctrl_dt_to_map(struct pinctrl *p,
31 				    struct pinctrl_dev *pctldev)
32 {
33 	return 0;
34 }
35 
36 static inline void pinctrl_dt_free_maps(struct pinctrl *p)
37 {
38 }
39 
40 static inline int pinctrl_count_index_with_args(const struct device_node *np,
41 						const char *list_name)
42 {
43 	return -ENODEV;
44 }
45 
46 static inline int
47 pinctrl_parse_index_with_args(const struct device_node *np,
48 			      const char *list_name, int index,
49 			      struct of_phandle_args *out_args)
50 {
51 	return -ENODEV;
52 }
53 
54 #endif
55