root/drivers/pinctrl/pinconf.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. pinconf_check_ops
  2. pinconf_validate_map
  3. pinconf_map_to_setting
  4. pinconf_free_setting
  5. pinconf_apply_setting
  6. pinconf_set_config
  7. pinconf_show_map
  8. pinconf_show_setting
  9. pinconf_init_device_debugfs
  10. pinconf_generic_dump_pins
  11. pinconf_generic_dump_config

   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 
  15 int pinconf_check_ops(struct pinctrl_dev *pctldev);
  16 int pinconf_validate_map(const struct pinctrl_map *map, int i);
  17 int pinconf_map_to_setting(const struct pinctrl_map *map,
  18                           struct pinctrl_setting *setting);
  19 void pinconf_free_setting(const struct pinctrl_setting *setting);
  20 int pinconf_apply_setting(const struct pinctrl_setting *setting);
  21 
  22 int 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  */
  29 int pin_config_get_for_pin(struct pinctrl_dev *pctldev, unsigned pin,
  30                            unsigned long *config);
  31 int pin_config_group_get(const char *dev_name, const char *pin_group,
  32                          unsigned long *config);
  33 
  34 #else
  35 
  36 static inline int pinconf_check_ops(struct pinctrl_dev *pctldev)
  37 {
  38         return 0;
  39 }
  40 
  41 static inline int pinconf_validate_map(const struct pinctrl_map *map, int i)
  42 {
  43         return 0;
  44 }
  45 
  46 static inline int pinconf_map_to_setting(const struct pinctrl_map *map,
  47                           struct pinctrl_setting *setting)
  48 {
  49         return 0;
  50 }
  51 
  52 static inline void pinconf_free_setting(const struct pinctrl_setting *setting)
  53 {
  54 }
  55 
  56 static inline int pinconf_apply_setting(const struct pinctrl_setting *setting)
  57 {
  58         return 0;
  59 }
  60 
  61 static 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 
  71 void pinconf_show_map(struct seq_file *s, const struct pinctrl_map *map);
  72 void pinconf_show_setting(struct seq_file *s,
  73                           const struct pinctrl_setting *setting);
  74 void pinconf_init_device_debugfs(struct dentry *devroot,
  75                                  struct pinctrl_dev *pctldev);
  76 
  77 #else
  78 
  79 static inline void pinconf_show_map(struct seq_file *s,
  80                                     const struct pinctrl_map *map)
  81 {
  82 }
  83 
  84 static inline void pinconf_show_setting(struct seq_file *s,
  85                                         const struct pinctrl_setting *setting)
  86 {
  87 }
  88 
  89 static 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 
 103 void pinconf_generic_dump_pins(struct pinctrl_dev *pctldev,
 104                                struct seq_file *s, const char *gname,
 105                                unsigned pin);
 106 
 107 void pinconf_generic_dump_config(struct pinctrl_dev *pctldev,
 108                                  struct seq_file *s, unsigned long config);
 109 #else
 110 
 111 static 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 
 118 static 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)
 127 int pinconf_generic_parse_dt_config(struct device_node *np,
 128                                     struct pinctrl_dev *pctldev,
 129                                     unsigned long **configs,
 130                                     unsigned int *nconfigs);
 131 #endif

/* [<][>][^][v][top][bottom][index][help] */