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