1 /* 2 * Utils functions to implement the pincontrol driver. 3 * 4 * Copyright (c) 2013, NVIDIA Corporation. 5 * 6 * Author: Laxman Dewangan <ldewangan@nvidia.com> 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation version 2. 11 * 12 * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind, 13 * whether express or implied; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 20 * 02111-1307, USA 21 */ 22 #ifndef __PINCTRL_UTILS_H__ 23 #define __PINCTRL_UTILS_H__ 24 25 int pinctrl_utils_reserve_map(struct pinctrl_dev *pctldev, 26 struct pinctrl_map **map, unsigned *reserved_maps, 27 unsigned *num_maps, unsigned reserve); 28 int pinctrl_utils_add_map_mux(struct pinctrl_dev *pctldev, 29 struct pinctrl_map **map, unsigned *reserved_maps, 30 unsigned *num_maps, const char *group, 31 const char *function); 32 int pinctrl_utils_add_map_configs(struct pinctrl_dev *pctldev, 33 struct pinctrl_map **map, unsigned *reserved_maps, 34 unsigned *num_maps, const char *group, 35 unsigned long *configs, unsigned num_configs, 36 enum pinctrl_map_type type); 37 int pinctrl_utils_add_config(struct pinctrl_dev *pctldev, 38 unsigned long **configs, unsigned *num_configs, 39 unsigned long config); 40 void pinctrl_utils_dt_free_map(struct pinctrl_dev *pctldev, 41 struct pinctrl_map *map, unsigned num_maps); 42 43 #endif /* __PINCTRL_UTILS_H__ */ 44