diff mbox series

[v6,1/3] gpio-uclass.c: save the GPIOD flags also in the gpio descriptor

Message ID 20200522090858.2569904-2-hs@denx.de
State Accepted
Commit cd2faeba1abc08e5adba736e75dc665742cc310c
Headers show
Series gpio: add possibility to search for gpio label name | expand

Commit Message

Heiko Schocher May 22, 2020, 9:08 a.m. UTC
save the GPIOD_ flags also in the gpio descriptor.

Signed-off-by: Heiko Schocher <hs at denx.de>
Reviewed-by: Patrick Delaunay <patrick.delaunay at st.com>
Fixes: 788ea834124b ("gpio: add function _dm_gpio_set_dir_flags")

---

Changes in v6:
- add reviewed by from Patrick and Fixes tag

Changes in v5:
- add comment from patrick, update the descriptor flags
  in _dm_gpio_set_dir_flags() if setting direction was OK.

Changes in v4:
- new in version 4

Changes in v3: None
Changes in v2: None

 drivers/gpio/gpio-uclass.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Simon Glass May 22, 2020, 11:13 p.m. UTC | #1
On Fri, 22 May 2020 at 03:09, Heiko Schocher <hs at denx.de> wrote:
>
> save the GPIOD_ flags also in the gpio descriptor.
>
> Signed-off-by: Heiko Schocher <hs at denx.de>
> Reviewed-by: Patrick Delaunay <patrick.delaunay at st.com>
> Fixes: 788ea834124b ("gpio: add function _dm_gpio_set_dir_flags")
>
> ---
>
> Changes in v6:
> - add reviewed by from Patrick and Fixes tag
>
> Changes in v5:
> - add comment from patrick, update the descriptor flags
>   in _dm_gpio_set_dir_flags() if setting direction was OK.
>
> Changes in v4:
> - new in version 4
>
> Changes in v3: None
> Changes in v2: None
>
>  drivers/gpio/gpio-uclass.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>
diff mbox series

Patch

diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
index 9eeab22eef..f016532354 100644
--- a/drivers/gpio/gpio-uclass.c
+++ b/drivers/gpio/gpio-uclass.c
@@ -600,6 +600,10 @@  static int _dm_gpio_set_dir_flags(struct gpio_desc *desc, ulong flags)
 		}
 	}
 
+	/* save the flags also in descriptor */
+	if (!ret)
+		desc->flags = flags;
+
 	return ret;
 }
 
@@ -615,10 +619,6 @@  int dm_gpio_set_dir_flags(struct gpio_desc *desc, ulong flags)
 	flags |= desc->flags;
 	ret = _dm_gpio_set_dir_flags(desc, flags);
 
-	/* update the descriptor flags */
-	if (ret)
-		desc->flags = flags;
-
 	return ret;
 }