blob: 00e645d7fac798bab62addc855919eccc37d5206 [file] [log] [blame]
Thomas Gleixner9952f692019-05-28 10:10:04 -07001/* SPDX-License-Identifier: GPL-2.0-only */
Stephen Warren57291ce2012-03-23 10:29:46 -06002/*
3 * Internal interface to pinctrl device tree integration
4 *
5 * Copyright (C) 2012 NVIDIA CORPORATION. All rights reserved.
Stephen Warren57291ce2012-03-23 10:29:46 -06006 */
7
Tony Lindgren42124bc2016-11-03 09:35:47 -07008struct of_phandle_args;
9
Stephen Warren57291ce2012-03-23 10:29:46 -060010#ifdef CONFIG_OF
11
Tony Lindgren99e4f672016-12-27 09:19:59 -080012bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev);
13
Stephen Warren57291ce2012-03-23 10:29:46 -060014void pinctrl_dt_free_maps(struct pinctrl *p);
Tony Lindgren99e4f672016-12-27 09:19:59 -080015int pinctrl_dt_to_map(struct pinctrl *p, struct pinctrl_dev *pctldev);
Stephen Warren57291ce2012-03-23 10:29:46 -060016
Tony Lindgren42124bc2016-11-03 09:35:47 -070017int pinctrl_count_index_with_args(const struct device_node *np,
18 const char *list_name);
19
20int pinctrl_parse_index_with_args(const struct device_node *np,
21 const char *list_name, int index,
22 struct of_phandle_args *out_args);
23
Stephen Warren57291ce2012-03-23 10:29:46 -060024#else
25
Tony Lindgren99e4f672016-12-27 09:19:59 -080026static inline bool pinctrl_dt_has_hogs(struct pinctrl_dev *pctldev)
27{
28 return false;
29}
30
31static inline int pinctrl_dt_to_map(struct pinctrl *p,
32 struct pinctrl_dev *pctldev)
Stephen Warren57291ce2012-03-23 10:29:46 -060033{
34 return 0;
35}
36
37static inline void pinctrl_dt_free_maps(struct pinctrl *p)
38{
39}
40
Tony Lindgren42124bc2016-11-03 09:35:47 -070041static inline int pinctrl_count_index_with_args(const struct device_node *np,
42 const char *list_name)
43{
44 return -ENODEV;
45}
46
47static inline int
48pinctrl_parse_index_with_args(const struct device_node *np,
49 const char *list_name, int index,
50 struct of_phandle_args *out_args)
51{
52 return -ENODEV;
53}
54
Stephen Warren57291ce2012-03-23 10:29:46 -060055#endif