pinctrl-utils.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  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. #include <linux/pinctrl/machine.h>
  12. struct pinctrl_dev;
  13. struct pinctrl_map;
  14. int pinctrl_utils_reserve_map(struct pinctrl_dev *pctldev,
  15. struct pinctrl_map **map, unsigned int *reserved_maps,
  16. unsigned int *num_maps, unsigned int reserve);
  17. int pinctrl_utils_add_map_mux(struct pinctrl_dev *pctldev,
  18. struct pinctrl_map **map, unsigned int *reserved_maps,
  19. unsigned int *num_maps, const char *group,
  20. const char *function);
  21. int pinctrl_utils_add_map_configs(struct pinctrl_dev *pctldev,
  22. struct pinctrl_map **map, unsigned int *reserved_maps,
  23. unsigned int *num_maps, const char *group,
  24. unsigned long *configs, unsigned int num_configs,
  25. enum pinctrl_map_type type);
  26. int pinctrl_utils_add_config(struct pinctrl_dev *pctldev,
  27. unsigned long **configs, unsigned int *num_configs,
  28. unsigned long config);
  29. void pinctrl_utils_free_map(struct pinctrl_dev *pctldev,
  30. struct pinctrl_map *map, unsigned int num_maps);
  31. #endif /* __PINCTRL_UTILS_H__ */