1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Utils functions to implement the pincontrol driver. 4 * 5 * Copyright (c) 2013, NVIDIA Corporation. 6 * 7 * Author: Laxman Dewangan <ldewangan@nvidia.com> 8 */ 9#ifndef __PINCTRL_UTILS_H__ 10#define __PINCTRL_UTILS_H__ 11 12#include <linux/pinctrl/machine.h> 13 14struct pinctrl_dev; 15struct pinctrl_map; 16 17int 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); 20int 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); 24int 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); 29int pinctrl_utils_add_config(struct pinctrl_dev *pctldev, 30 unsigned long **configs, unsigned int *num_configs, 31 unsigned long config); 32void pinctrl_utils_free_map(struct pinctrl_dev *pctldev, 33 struct pinctrl_map *map, unsigned int num_maps); 34 35#endif /* __PINCTRL_UTILS_H__ */ 36