cregit-Linux how code gets into the kernel

Release 4.11 drivers/pinctrl/pinmux.h

Directory: drivers/pinctrl
/*
 * Internal interface between the core pin control system and the
 * pinmux portions
 *
 * Copyright (C) 2011 ST-Ericsson SA
 * Written on behalf of Linaro for ST-Ericsson
 * Based on bits of regulator core, gpio core and clk core
 *
 * Author: Linus Walleij <linus.walleij@linaro.org>
 *
 * License terms: GNU General Public License (GPL) version 2
 */
#ifdef CONFIG_PINMUX

int pinmux_check_ops(struct pinctrl_dev *pctldev);

int pinmux_validate_map(struct pinctrl_map const *map, int i);

int pinmux_request_gpio(struct pinctrl_dev *pctldev,
			struct pinctrl_gpio_range *range,
			unsigned pin, unsigned gpio);
void pinmux_free_gpio(struct pinctrl_dev *pctldev, unsigned pin,
		      struct pinctrl_gpio_range *range);
int pinmux_gpio_direction(struct pinctrl_dev *pctldev,
			  struct pinctrl_gpio_range *range,
			  unsigned pin, bool input);

int pinmux_map_to_setting(struct pinctrl_map const *map,
			  struct pinctrl_setting *setting);
void pinmux_free_setting(struct pinctrl_setting const *setting);
int pinmux_enable_setting(struct pinctrl_setting const *setting);
void pinmux_disable_setting(struct pinctrl_setting const *setting);

#else


static inline int pinmux_check_ops(struct pinctrl_dev *pctldev) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij1386.67%150.00%
Tony Lindgren213.33%150.00%
Total15100.00%2100.00%


static inline int pinmux_validate_map(struct pinctrl_map const *map, int i) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Stephen Warren19100.00%1100.00%
Total19100.00%1100.00%


static inline int pinmux_request_gpio(struct pinctrl_dev *pctldev, struct pinctrl_gpio_range *range, unsigned pin, unsigned gpio) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij26100.00%1100.00%
Total26100.00%1100.00%


static inline void pinmux_free_gpio(struct pinctrl_dev *pctldev, unsigned pin, struct pinctrl_gpio_range *range) { }

Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij19100.00%2100.00%
Total19100.00%2100.00%


static inline int pinmux_gpio_direction(struct pinctrl_dev *pctldev, struct pinctrl_gpio_range *range, unsigned pin, bool input) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij26100.00%2100.00%
Total26100.00%2100.00%


static inline int pinmux_map_to_setting(struct pinctrl_map const *map, struct pinctrl_setting *setting) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij1676.19%266.67%
Stephen Warren523.81%133.33%
Total21100.00%3100.00%


static inline void pinmux_free_setting(struct pinctrl_setting const *setting) { }

Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij866.67%150.00%
Stephen Warren433.33%150.00%
Total12100.00%2100.00%


static inline int pinmux_enable_setting(struct pinctrl_setting const *setting) { return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Stephen Warren956.25%150.00%
Linus Walleij743.75%150.00%
Total16100.00%2100.00%


static inline void pinmux_disable_setting( struct pinctrl_setting const *setting) { }

Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij866.67%150.00%
Stephen Warren433.33%150.00%
Total12100.00%2100.00%

#endif #if defined(CONFIG_PINMUX) && defined(CONFIG_DEBUG_FS) void pinmux_show_map(struct seq_file *s, struct pinctrl_map const *map); void pinmux_show_setting(struct seq_file *s, struct pinctrl_setting const *setting); void pinmux_init_device_debugfs(struct dentry *devroot, struct pinctrl_dev *pctldev); #else
static inline void pinmux_show_map(struct seq_file *s, struct pinctrl_map const *map) { }

Contributors

PersonTokensPropCommitsCommitProp
Stephen Warren17100.00%2100.00%
Total17100.00%2100.00%


static inline void pinmux_show_setting(struct seq_file *s, struct pinctrl_setting const *setting) { }

Contributors

PersonTokensPropCommitsCommitProp
Stephen Warren952.94%266.67%
Linus Walleij847.06%133.33%
Total17100.00%3100.00%


static inline void pinmux_init_device_debugfs(struct dentry *devroot, struct pinctrl_dev *pctldev) { }

Contributors

PersonTokensPropCommitsCommitProp
Stephen Warren1381.25%133.33%
Linus Walleij318.75%266.67%
Total16100.00%3100.00%

#endif #ifdef CONFIG_GENERIC_PINMUX_FUNCTIONS /** * struct function_desc - generic function descriptor * @name: name of the function * @group_names: array of pin group names * @num_group_names: number of pin group names * @data: pin controller driver specific data */ struct function_desc { const char *name; const char **group_names; int num_group_names; void *data; }; int pinmux_generic_get_function_count(struct pinctrl_dev *pctldev); const char * pinmux_generic_get_function_name(struct pinctrl_dev *pctldev, unsigned int selector); int pinmux_generic_get_function_groups(struct pinctrl_dev *pctldev, unsigned int selector, const char * const **groups, unsigned * const num_groups); struct function_desc *pinmux_generic_get_function(struct pinctrl_dev *pctldev, unsigned int selector); int pinmux_generic_add_function(struct pinctrl_dev *pctldev, const char *name, const char **groups, unsigned const num_groups, void *data); int pinmux_generic_remove_function(struct pinctrl_dev *pctldev, unsigned int selector);
static inline int pinmux_generic_remove_last_function(struct pinctrl_dev *pctldev) { return pinmux_generic_remove_function(pctldev, pctldev->num_functions - 1); }

Contributors

PersonTokensPropCommitsCommitProp
Tony Lindgren24100.00%1100.00%
Total24100.00%1100.00%

void pinmux_generic_free_functions(struct pinctrl_dev *pctldev); #else
static inline void pinmux_generic_free_functions(struct pinctrl_dev *pctldev) { }

Contributors

PersonTokensPropCommitsCommitProp
Tony Lindgren11100.00%1100.00%
Total11100.00%1100.00%

#endif /* CONFIG_GENERIC_PINMUX_FUNCTIONS */

Overall Contributors

PersonTokensPropCommitsCommitProp
Linus Walleij23439.73%225.00%
Tony Lindgren18631.58%225.00%
Stephen Warren16928.69%450.00%
Total589100.00%8100.00%
Directory: drivers/pinctrl
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.