summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/devres.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2017-02-05 17:14:23 -0500
committerLinus Walleij <linus.walleij@linaro.org>2017-02-05 17:14:23 -0500
commite4df1ebdfeb4c68523046667b2d8ef8ab20ae066 (patch)
tree9a518146b64289e304412279b59466fad3799ed6 /drivers/gpio/devres.c
parente8e1a5b5679b1ae1ff03a3883b011b84e7226171 (diff)
parent537b94dafce29af6a3e923d216472cfc2f3659af (diff)
Merge branch 'ib-gpiod-flags' into devel
Diffstat (limited to 'drivers/gpio/devres.c')
-rw-r--r--drivers/gpio/devres.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/gpio/devres.c b/drivers/gpio/devres.c
index d196be7ac352..7031eea165c9 100644
--- a/drivers/gpio/devres.c
+++ b/drivers/gpio/devres.c
@@ -125,9 +125,11 @@ struct gpio_desc *__must_check devm_gpiod_get_index(struct device *dev,
125EXPORT_SYMBOL(devm_gpiod_get_index); 125EXPORT_SYMBOL(devm_gpiod_get_index);
126 126
127/** 127/**
128 * devm_get_gpiod_from_child - get a GPIO descriptor from a device's child node 128 * devm_fwnode_get_index_gpiod_from_child - get a GPIO descriptor from a
129 * device's child node
129 * @dev: GPIO consumer 130 * @dev: GPIO consumer
130 * @con_id: function within the GPIO consumer 131 * @con_id: function within the GPIO consumer
132 * @index: index of the GPIO to obtain in the consumer
131 * @child: firmware node (child of @dev) 133 * @child: firmware node (child of @dev)
132 * @flags: GPIO initialization flags 134 * @flags: GPIO initialization flags
133 * 135 *
@@ -137,11 +139,11 @@ EXPORT_SYMBOL(devm_gpiod_get_index);
137 * On successfull request the GPIO pin is configured in accordance with 139 * On successfull request the GPIO pin is configured in accordance with
138 * provided @flags. 140 * provided @flags.
139 */ 141 */
140struct gpio_desc *devm_get_gpiod_from_child(struct device *dev, 142struct gpio_desc *devm_fwnode_get_index_gpiod_from_child(struct device *dev,
141 const char *con_id, 143 const char *con_id, int index,
142 struct fwnode_handle *child, 144 struct fwnode_handle *child,
143 enum gpiod_flags flags, 145 enum gpiod_flags flags,
144 const char *label) 146 const char *label)
145{ 147{
146 char prop_name[32]; /* 32 is max size of property name */ 148 char prop_name[32]; /* 32 is max size of property name */
147 struct gpio_desc **dr; 149 struct gpio_desc **dr;
@@ -161,7 +163,8 @@ struct gpio_desc *devm_get_gpiod_from_child(struct device *dev,
161 snprintf(prop_name, sizeof(prop_name), "%s", 163 snprintf(prop_name, sizeof(prop_name), "%s",
162 gpio_suffixes[i]); 164 gpio_suffixes[i]);
163 165
164 desc = fwnode_get_named_gpiod(child, prop_name, flags, label); 166 desc = fwnode_get_named_gpiod(child, prop_name, index, flags,
167 label);
165 if (!IS_ERR(desc) || (PTR_ERR(desc) != -ENOENT)) 168 if (!IS_ERR(desc) || (PTR_ERR(desc) != -ENOENT))
166 break; 169 break;
167 } 170 }
@@ -175,7 +178,7 @@ struct gpio_desc *devm_get_gpiod_from_child(struct device *dev,
175 178
176 return desc; 179 return desc;
177} 180}
178EXPORT_SYMBOL(devm_get_gpiod_from_child); 181EXPORT_SYMBOL(devm_fwnode_get_index_gpiod_from_child);
179 182
180/** 183/**
181 * devm_gpiod_get_index_optional - Resource-managed gpiod_get_index_optional() 184 * devm_gpiod_get_index_optional - Resource-managed gpiod_get_index_optional()