
On Mon, 13 Jan 2020 at 03:35, Patrick Delaunay patrick.delaunay@st.com wrote:
Add the ops for GPIO driver get_dir_flags(), allows to get dynamically the current gpio configuration; it is used by the API function dm_gpio_get_dir_flags().
When these optional ops are absent, the gpio uclass continues to use the mandatory ops (direction_output, direction_input, get_value) and value of desc->flags to manage only the main dir flags:
- GPIOD_IS_IN
- GPIOD_IS_OUT
- GPIOD_IS_OUT_ACTIVE
- GPIOD_ACTIVE_LOW
Signed-off-by: Patrick Delaunay patrick.delaunay@st.com
This patch was part of v2 08/14 = gpio: add ops for configuration with dir flags
Changes in v3:
- Split the previous patch [PATCH v2 08/14] to help review
Changes in v2:
- change the proposed ops for pin config to set_dir_flags/get_dir_flags
- reused the existing API dm_gpio_set_dir_flags/dm_gpio_set_dir
- add a new API dm_gpio_get_dir_flags
drivers/gpio/gpio-uclass.c | 31 +++++++++++++++++++++++++------ include/asm-generic/gpio.h | 15 +++++++++++++++ 2 files changed, 40 insertions(+), 6 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
But please see below
diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h index 4f7b43f163..ac30c3ee4e 100644 --- a/include/asm-generic/gpio.h +++ b/include/asm-generic/gpio.h @@ -297,6 +297,21 @@ struct dm_gpio_ops { */ int (*xlate)(struct udevice *dev, struct gpio_desc *desc, struct ofnode_phandle_args *args);
/**
* get_dir_flags() - Get GPIO dir flags
*
* This function return the GPIO direction flags used.
returns
used by what? This is too vague.
*
* This method is optional.
Please expand this (perhaps in a follow-up patch) to explain what happens when not implemented.
*
* @dev: GPIO device
* @offset: GPIO offset within that device
* @flags: place to put the used direction flags by GPIO
* @return 0 if OK, -ve on error
*/
int (*get_dir_flags)(struct udevice *dev, unsigned int offset,
ulong *flags);
};
/**
2.17.1