Linux Audio

Check our new training course

Loading...
v5.9
  1/* SPDX-License-Identifier: GPL-2.0-only */
  2/*
  3 * Internal interface between the core pin control system and the
  4 * pin config portions
  5 *
  6 * Copyright (C) 2011 ST-Ericsson SA
  7 * Written on behalf of Linaro for ST-Ericsson
  8 * Based on bits of regulator core, gpio core and clk core
  9 *
 10 * Author: Linus Walleij <linus.walleij@linaro.org>
 
 
 11 */
 12
 13#ifdef CONFIG_PINCONF
 14
 15int pinconf_check_ops(struct pinctrl_dev *pctldev);
 16int pinconf_validate_map(const struct pinctrl_map *map, int i);
 17int pinconf_map_to_setting(const struct pinctrl_map *map,
 18			  struct pinctrl_setting *setting);
 19void pinconf_free_setting(const struct pinctrl_setting *setting);
 20int pinconf_apply_setting(const struct pinctrl_setting *setting);
 21
 22int pinconf_set_config(struct pinctrl_dev *pctldev, unsigned pin,
 23		       unsigned long *configs, size_t nconfigs);
 24
 25/*
 26 * You will only be interested in these if you're using PINCONF
 27 * so don't supply any stubs for these.
 28 */
 29int pin_config_get_for_pin(struct pinctrl_dev *pctldev, unsigned pin,
 30			   unsigned long *config);
 31int pin_config_group_get(const char *dev_name, const char *pin_group,
 32			 unsigned long *config);
 33
 34#else
 35
 36static inline int pinconf_check_ops(struct pinctrl_dev *pctldev)
 37{
 38	return 0;
 39}
 40
 41static inline int pinconf_validate_map(const struct pinctrl_map *map, int i)
 42{
 43	return 0;
 44}
 45
 46static inline int pinconf_map_to_setting(const struct pinctrl_map *map,
 47			  struct pinctrl_setting *setting)
 48{
 49	return 0;
 50}
 51
 52static inline void pinconf_free_setting(const struct pinctrl_setting *setting)
 53{
 54}
 55
 56static inline int pinconf_apply_setting(const struct pinctrl_setting *setting)
 57{
 58	return 0;
 59}
 60
 61static inline int pinconf_set_config(struct pinctrl_dev *pctldev, unsigned pin,
 62				     unsigned long *configs, size_t nconfigs)
 63{
 64	return -ENOTSUPP;
 65}
 66
 67#endif
 68
 69#if defined(CONFIG_PINCONF) && defined(CONFIG_DEBUG_FS)
 70
 71void pinconf_show_map(struct seq_file *s, const struct pinctrl_map *map);
 72void pinconf_show_setting(struct seq_file *s,
 73			  const struct pinctrl_setting *setting);
 74void pinconf_init_device_debugfs(struct dentry *devroot,
 75				 struct pinctrl_dev *pctldev);
 76
 77#else
 78
 79static inline void pinconf_show_map(struct seq_file *s,
 80				    const struct pinctrl_map *map)
 81{
 82}
 83
 84static inline void pinconf_show_setting(struct seq_file *s,
 85					const struct pinctrl_setting *setting)
 86{
 87}
 88
 89static inline void pinconf_init_device_debugfs(struct dentry *devroot,
 90					       struct pinctrl_dev *pctldev)
 91{
 92}
 93
 94#endif
 95
 96/*
 97 * The following functions are available if the driver uses the generic
 98 * pin config.
 99 */
100
101#if defined(CONFIG_GENERIC_PINCONF) && defined(CONFIG_DEBUG_FS)
102
103void pinconf_generic_dump_pins(struct pinctrl_dev *pctldev,
104			       struct seq_file *s, const char *gname,
105			       unsigned pin);
106
107void pinconf_generic_dump_config(struct pinctrl_dev *pctldev,
108				 struct seq_file *s, unsigned long config);
109#else
110
111static inline void pinconf_generic_dump_pins(struct pinctrl_dev *pctldev,
112					     struct seq_file *s,
113					     const char *gname, unsigned pin)
114{
115	return;
116}
117
118static inline void pinconf_generic_dump_config(struct pinctrl_dev *pctldev,
119					       struct seq_file *s,
120					       unsigned long config)
121{
122	return;
123}
124#endif
125
126#if defined(CONFIG_GENERIC_PINCONF) && defined(CONFIG_OF)
127int pinconf_generic_parse_dt_config(struct device_node *np,
128				    struct pinctrl_dev *pctldev,
129				    unsigned long **configs,
130				    unsigned int *nconfigs);
131#endif
v4.6
 
  1/*
  2 * Internal interface between the core pin control system and the
  3 * pin config portions
  4 *
  5 * Copyright (C) 2011 ST-Ericsson SA
  6 * Written on behalf of Linaro for ST-Ericsson
  7 * Based on bits of regulator core, gpio core and clk core
  8 *
  9 * Author: Linus Walleij <linus.walleij@linaro.org>
 10 *
 11 * License terms: GNU General Public License (GPL) version 2
 12 */
 13
 14#ifdef CONFIG_PINCONF
 15
 16int pinconf_check_ops(struct pinctrl_dev *pctldev);
 17int pinconf_validate_map(struct pinctrl_map const *map, int i);
 18int pinconf_map_to_setting(struct pinctrl_map const *map,
 19			  struct pinctrl_setting *setting);
 20void pinconf_free_setting(struct pinctrl_setting const *setting);
 21int pinconf_apply_setting(struct pinctrl_setting const *setting);
 
 
 
 22
 23/*
 24 * You will only be interested in these if you're using PINCONF
 25 * so don't supply any stubs for these.
 26 */
 27int pin_config_get_for_pin(struct pinctrl_dev *pctldev, unsigned pin,
 28			   unsigned long *config);
 29int pin_config_group_get(const char *dev_name, const char *pin_group,
 30			 unsigned long *config);
 31
 32#else
 33
 34static inline int pinconf_check_ops(struct pinctrl_dev *pctldev)
 35{
 36	return 0;
 37}
 38
 39static inline int pinconf_validate_map(struct pinctrl_map const *map, int i)
 40{
 41	return 0;
 42}
 43
 44static inline int pinconf_map_to_setting(struct pinctrl_map const *map,
 45			  struct pinctrl_setting *setting)
 46{
 47	return 0;
 48}
 49
 50static inline void pinconf_free_setting(struct pinctrl_setting const *setting)
 51{
 52}
 53
 54static inline int pinconf_apply_setting(struct pinctrl_setting const *setting)
 55{
 56	return 0;
 57}
 58
 
 
 
 
 
 
 59#endif
 60
 61#if defined(CONFIG_PINCONF) && defined(CONFIG_DEBUG_FS)
 62
 63void pinconf_show_map(struct seq_file *s, struct pinctrl_map const *map);
 64void pinconf_show_setting(struct seq_file *s,
 65			  struct pinctrl_setting const *setting);
 66void pinconf_init_device_debugfs(struct dentry *devroot,
 67				 struct pinctrl_dev *pctldev);
 68
 69#else
 70
 71static inline void pinconf_show_map(struct seq_file *s,
 72				    struct pinctrl_map const *map)
 73{
 74}
 75
 76static inline void pinconf_show_setting(struct seq_file *s,
 77			  struct pinctrl_setting const *setting)
 78{
 79}
 80
 81static inline void pinconf_init_device_debugfs(struct dentry *devroot,
 82					       struct pinctrl_dev *pctldev)
 83{
 84}
 85
 86#endif
 87
 88/*
 89 * The following functions are available if the driver uses the generic
 90 * pin config.
 91 */
 92
 93#if defined(CONFIG_GENERIC_PINCONF) && defined(CONFIG_DEBUG_FS)
 94
 95void pinconf_generic_dump_pins(struct pinctrl_dev *pctldev,
 96			       struct seq_file *s, const char *gname,
 97			       unsigned pin);
 98
 99void pinconf_generic_dump_config(struct pinctrl_dev *pctldev,
100				 struct seq_file *s, unsigned long config);
101#else
102
103static inline void pinconf_generic_dump_pins(struct pinctrl_dev *pctldev,
104					     struct seq_file *s,
105					     const char *gname, unsigned pin)
106{
107	return;
108}
109
110static inline void pinconf_generic_dump_config(struct pinctrl_dev *pctldev,
111					       struct seq_file *s,
112					       unsigned long config)
113{
114	return;
115}
116#endif
117
118#if defined(CONFIG_GENERIC_PINCONF) && defined(CONFIG_OF)
119int pinconf_generic_parse_dt_config(struct device_node *np,
120				    struct pinctrl_dev *pctldev,
121				    unsigned long **configs,
122				    unsigned int *nconfigs);
123#endif