diff options
| -rw-r--r-- | include/fdtdec.h | 16 | ||||
| -rw-r--r-- | lib/fdtdec.c | 5 | 
2 files changed, 18 insertions, 3 deletions
| diff --git a/include/fdtdec.h b/include/fdtdec.h index 341e6a18a..e70714b2f 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -345,6 +345,22 @@ int fdtdec_decode_gpio(const void *blob, int node, const char *prop_name,  		struct fdt_gpio_state *gpio);  /** + * Decode a list of GPIOs from an FDT. This creates a list of GPIOs with no + * terminating item. + * + * @param blob         FDT blob to use + * @param node         Node to look at + * @param prop_name    Node property name + * @param gpio         Array of gpio elements to fill from FDT. This will be + *                     untouched if either 0 or an error is returned + * @param max_count    Maximum number of elements allowed + * @return number of GPIOs read if ok, -FDT_ERR_BADLAYOUT if max_count would + * be exceeded, or -FDT_ERR_NOTFOUND if the property is missing. + */ +int fdtdec_decode_gpios(const void *blob, int node, const char *prop_name, +		struct fdt_gpio_state *gpio, int max_count); + +/**   * Set up a GPIO pin according to the provided gpio information. At present this   * just requests the GPIO.   * diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 557097217..32f03cc82 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -426,9 +426,8 @@ int fdtdec_get_bool(const void *blob, int node, const char *prop_name)   * @return number of GPIOs read if ok, -FDT_ERR_BADLAYOUT if max_count would   * be exceeded, or -FDT_ERR_NOTFOUND if the property is missing.   */ -static int fdtdec_decode_gpios(const void *blob, int node, -		const char *prop_name, struct fdt_gpio_state *gpio, -		int max_count) +int fdtdec_decode_gpios(const void *blob, int node, const char *prop_name, +		struct fdt_gpio_state *gpio, int max_count)  {  	const struct fdt_property *prop;  	const u32 *cell; |