blob: 43d8d19aa5ee3aab509d181935c7cd26be09e0a8 [file] [log] [blame]
Stephen Warren57291ce2012-03-23 10:29:46 -06001/*
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
Tony Lindgren42124bc2016-11-03 09:35:47 -070019struct of_phandle_args;
20
Stephen Warren57291ce2012-03-23 10:29:46 -060021#ifdef CONFIG_OF
22
Tony Lindgren99e4f672016-12-27 09:19:59 -080023bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev);
24
Stephen Warren57291ce2012-03-23 10:29:46 -060025void pinctrl_dt_free_maps(struct pinctrl *p);
Tony Lindgren99e4f672016-12-27 09:19:59 -080026int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev);
Stephen Warren57291ce2012-03-23 10:29:46 -060027
Tony Lindgren42124bc2016-11-03 09:35:47 -070028int pinctrl_count_index_with_args(const struct device_node *np,
29 const char *list_name);
30
31int 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
Stephen Warren57291ce2012-03-23 10:29:46 -060035#else
36
Tony Lindgren99e4f672016-12-27 09:19:59 -080037static inline bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev)
38{
39 return false;
40}
41
42static inline int pinctrl_dt_to_map(struct pinctrl *p,
43 struct pinctrl_dev *pctldev)
Stephen Warren57291ce2012-03-23 10:29:46 -060044{
45 return 0;
46}
47
48static inline void pinctrl_dt_free_maps(struct pinctrl *p)
49{
50}
51
Tony Lindgren42124bc2016-11-03 09:35:47 -070052static inline int pinctrl_count_index_with_args(const struct device_node *np,
53 const char *list_name)
54{
55 return -ENODEV;
56}
57
58static inline int
59pinctrl_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
Stephen Warren57291ce2012-03-23 10:29:46 -060066#endif