Lines Matching +full:pinctrl +full:- +full:pin +full:- +full:array

1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Interface the pinctrl subsystem
5 * Copyright (C) 2011 ST-Ericsson SA
6 * Written on behalf of Linaro for ST-Ericsson
14 #include <linux/radix-tree.h>
17 #include <linux/pinctrl/pinctrl-state.h>
18 #include <linux/pinctrl/devinfo.h>
30 * struct pinctrl_pin_desc - boards/machines provide information on their
32 * @number: unique pin number from the global pin number space
33 * @name: a name for this pin
34 * @drv_data: driver-defined per-pin data. pinctrl core does not touch this
42 /* Convenience macro to define a single named or anonymous pin descriptor */
47 * struct pinctrl_gpio_range - each pin controller can provide subranges of
53 * @pin_base: base pin number of the GPIO range if pins == NULL
70 * struct pinctrl_ops - global pin control operations, to be implemented by
71 * pin controller drivers.
73 * @get_group_name: return the group name of the pin group
74 * @get_group_pins: return an array of pins corresponding to a certain
75 * group selector @pins, and the size of the array in @num_pins
76 * @pin_dbg_show: optional debugfs display hook that will provide per-device
77 * info for a certain pin in debugfs
78 * @dt_node_to_map: parse a device tree "pin configuration node", and create
81 * omitted for pinctrl drivers that do not support device tree.
83 * top-level @map pointer must be freed, along with any dynamically
85 * function is optional, and may be omitted for pinctrl drivers that do
106 * struct pinctrl_desc - pin controller descriptor, register this to pin
108 * @name: name for the pin controller
109 * @pins: an array of pin descriptors describing all the pins handled by
110 * this pin controller
111 * @npins: number of descriptors in the array, usually just ARRAY_SIZE()
113 * @pctlops: pin control operation vtable, to support global concepts like
116 * @confops: pin config operations vtable, if you support pin configuration in
118 * @owner: module providing the pin controller, used for refcounting
119 * @num_custom_params: Number of driver-specific custom parameters to be parsed
125 * @link_consumers: If true create a device link between pinctrl and its
126 * consumers (i.e. the devices requesting pin control states). This is
146 /* External interface to pin controller */
184 unsigned int pin);