1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Utils functions to implement the pincontrol driver.
5 * Copyright (c) 2013, NVIDIA Corporation.
7 * Author: Laxman Dewangan <ldewangan@nvidia.com>
9 #ifndef __PINCTRL_UTILS_H__
10 #define __PINCTRL_UTILS_H__
12 #include <linux/pinctrl/machine.h>
17 int pinctrl_utils_reserve_map(struct pinctrl_dev
*pctldev
,
18 struct pinctrl_map
**map
, unsigned int *reserved_maps
,
19 unsigned int *num_maps
, unsigned int reserve
);
20 int pinctrl_utils_add_map_mux(struct pinctrl_dev
*pctldev
,
21 struct pinctrl_map
**map
, unsigned int *reserved_maps
,
22 unsigned int *num_maps
, const char *group
,
23 const char *function
);
24 int pinctrl_utils_add_map_configs(struct pinctrl_dev
*pctldev
,
25 struct pinctrl_map
**map
, unsigned int *reserved_maps
,
26 unsigned int *num_maps
, const char *group
,
27 unsigned long *configs
, unsigned int num_configs
,
28 enum pinctrl_map_type type
);
29 int pinctrl_utils_add_config(struct pinctrl_dev
*pctldev
,
30 unsigned long **configs
, unsigned int *num_configs
,
31 unsigned long config
);
32 void pinctrl_utils_free_map(struct pinctrl_dev
*pctldev
,
33 struct pinctrl_map
*map
, unsigned int num_maps
);
35 #endif /* __PINCTRL_UTILS_H__ */