xref: /openbmc/linux/drivers/pinctrl/devicetree.h (revision 4da722ca)
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 bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev);
24 
25 void pinctrl_dt_free_maps(struct pinctrl *p);
26 int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev);
27 
28 int pinctrl_count_index_with_args(const struct device_node *np,
29 				  const char *list_name);
30 
31 int pinctrl_parse_index_with_args(const struct device_node *np,
32 				  const char *list_name, int index,
33 				  struct of_phandle_args *out_args);
34 
35 #else
36 
37 static inline bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev)
38 {
39 	return false;
40 }
41 
42 static inline int pinctrl_dt_to_map(struct pinctrl *p,
43 				    struct pinctrl_dev *pctldev)
44 {
45 	return 0;
46 }
47 
48 static inline void pinctrl_dt_free_maps(struct pinctrl *p)
49 {
50 }
51 
52 static inline int pinctrl_count_index_with_args(const struct device_node *np,
53 						const char *list_name)
54 {
55 	return -ENODEV;
56 }
57 
58 static inline int
59 pinctrl_parse_index_with_args(const struct device_node *np,
60 			      const char *list_name, int index,
61 			      struct of_phandle_args *out_args)
62 {
63 	return -ENODEV;
64 }
65 
66 #endif
67