xref: /linux/drivers/pinctrl/devicetree.h (revision 32786fdc9506aeba98278c1844d4bfb766863832)
1 /*
2  * Internal interface to pinctrl device tree integration
3  *
4  * Copyright (C) 2012 NVIDIA CORPORATION. All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 struct of_phandle_args;
20 
21 #ifdef CONFIG_OF
22 
23 void pinctrl_dt_free_maps(struct pinctrl *p);
24 int pinctrl_dt_to_map(struct pinctrl *p);
25 
26 int pinctrl_count_index_with_args(const struct device_node *np,
27 				  const char *list_name);
28 
29 int pinctrl_parse_index_with_args(const struct device_node *np,
30 				  const char *list_name, int index,
31 				  struct of_phandle_args *out_args);
32 
33 #else
34 
35 static inline int pinctrl_dt_to_map(struct pinctrl *p)
36 {
37 	return 0;
38 }
39 
40 static inline void pinctrl_dt_free_maps(struct pinctrl *p)
41 {
42 }
43 
44 static inline int pinctrl_count_index_with_args(const struct device_node *np,
45 						const char *list_name)
46 {
47 	return -ENODEV;
48 }
49 
50 static inline int
51 pinctrl_parse_index_with_args(const struct device_node *np,
52 			      const char *list_name, int index,
53 			      struct of_phandle_args *out_args)
54 {
55 	return -ENODEV;
56 }
57 
58 #endif
59