]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
dm: gpio: Rename get_dir_flags() method to get_flags()
authorSimon Glass <sjg@chromium.org>
Fri, 5 Feb 2021 04:21:56 +0000 (21:21 -0700)
committerTom Rini <trini@konsulko.com>
Wed, 3 Mar 2021 19:51:06 +0000 (14:51 -0500)
It is more useful to be able to read all the flags, not just the direction
ones. In fact this is what the STM32 driver does. Update the method name
to reflect this.

Tweak the docs a little and use 'flagsp' as the return argument, as is
common in driver model, to indicate it returns a value.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
drivers/gpio/gpio-uclass.c
drivers/gpio/sandbox.c
drivers/gpio/stm32_gpio.c
drivers/pinctrl/pinctrl-stmfx.c
include/asm-generic/gpio.h

index d42e778ed88410e0a2b847c77a6abfdd61d1a685..4d15162bc4d80edaf3f59d03c66883838e1c58d6 100644 (file)
@@ -683,39 +683,39 @@ int dm_gpio_set_dir(struct gpio_desc *desc)
        return _dm_gpio_set_flags(desc, desc->flags);
 }
 
-int dm_gpio_get_dir_flags(struct gpio_desc *desc, ulong *flags)
+int dm_gpio_get_dir_flags(struct gpio_desc *desc, ulong *flagsp)
 {
        struct udevice *dev = desc->dev;
        int ret, value;
        struct dm_gpio_ops *ops = gpio_get_ops(dev);
-       ulong dir_flags;
+       ulong flags;
 
-       ret = check_reserved(desc, "get_dir_flags");
+       ret = check_reserved(desc, "get_flags");
        if (ret)
                return ret;
 
        /* GPIOD_ are directly provided by driver except GPIOD_ACTIVE_LOW */
-       if (ops->get_dir_flags) {
-               ret = ops->get_dir_flags(dev, desc->offset, &dir_flags);
+       if (ops->get_flags) {
+               ret = ops->get_flags(dev, desc->offset, &flags);
                if (ret)
                        return ret;
 
                /* GPIOD_ACTIVE_LOW is saved in desc->flags */
-               value = dir_flags & GPIOD_IS_OUT_ACTIVE ? 1 : 0;
+               value = flags & GPIOD_IS_OUT_ACTIVE ? 1 : 0;
                if (desc->flags & GPIOD_ACTIVE_LOW)
                        value = !value;
-               dir_flags &= ~(GPIOD_ACTIVE_LOW | GPIOD_IS_OUT_ACTIVE);
-               dir_flags |= (desc->flags & GPIOD_ACTIVE_LOW);
+               flags &= ~(GPIOD_ACTIVE_LOW | GPIOD_IS_OUT_ACTIVE);
+               flags |= (desc->flags & GPIOD_ACTIVE_LOW);
                if (value)
-                       dir_flags |= GPIOD_IS_OUT_ACTIVE;
+                       flags |= GPIOD_IS_OUT_ACTIVE;
        } else {
-               dir_flags = desc->flags;
+               flags = desc->flags;
                /* only GPIOD_IS_OUT_ACTIVE is provided by uclass */
-               dir_flags &= ~GPIOD_IS_OUT_ACTIVE;
+               flags &= ~GPIOD_IS_OUT_ACTIVE;
                if ((desc->flags & GPIOD_IS_OUT) && _gpio_get_value(desc))
-                       dir_flags |= GPIOD_IS_OUT_ACTIVE;
+                       flags |= GPIOD_IS_OUT_ACTIVE;
        }
-       *flags = dir_flags;
+       *flagsp = flags;
 
        return 0;
 }
@@ -1310,8 +1310,8 @@ static int gpio_post_bind(struct udevice *dev)
                        ops->xlate += gd->reloc_off;
                if (ops->set_flags)
                        ops->set_flags += gd->reloc_off;
-               if (ops->get_dir_flags)
-                       ops->get_dir_flags += gd->reloc_off;
+               if (ops->get_flags)
+                       ops->get_flags += gd->reloc_off;
 
                reloc_done++;
        }
index 05f17928f0a7fc7f156160e19b9916111d7b8535..38dc34ee910db85b2849969f593cc59a06f63058 100644 (file)
@@ -199,11 +199,11 @@ static int sb_gpio_set_flags(struct udevice *dev, unsigned int offset,
        return 0;
 }
 
-static int sb_gpio_get_dir_flags(struct udevice *dev, unsigned int offset,
-                                ulong *flags)
+static int sb_gpio_get_flags(struct udevice *dev, unsigned int offset,
+                            ulong *flagsp)
 {
        debug("%s: offset:%u\n", __func__, offset);
-       *flags = *get_gpio_dir_flags(dev, offset);
+       *flagsp = *get_gpio_dir_flags(dev, offset);
 
        return 0;
 }
@@ -273,7 +273,7 @@ static const struct dm_gpio_ops gpio_sandbox_ops = {
        .get_function           = sb_gpio_get_function,
        .xlate                  = sb_gpio_xlate,
        .set_flags              = sb_gpio_set_flags,
-       .get_dir_flags          = sb_gpio_get_dir_flags,
+       .get_flags              = sb_gpio_get_flags,
 #if CONFIG_IS_ENABLED(ACPIGEN)
        .get_acpi               = sb_gpio_get_acpi,
 #endif
index 6d1bef63c36ed284b62bfb56db843eb77433f407..c2d7046c0ddce20f3c84f228ad83ad45710ed34a 100644 (file)
@@ -223,8 +223,8 @@ static int stm32_gpio_set_flags(struct udevice *dev, unsigned int offset,
        return 0;
 }
 
-static int stm32_gpio_get_dir_flags(struct udevice *dev, unsigned int offset,
-                                   ulong *flags)
+static int stm32_gpio_get_flags(struct udevice *dev, unsigned int offset,
+                               ulong *flagsp)
 {
        struct stm32_gpio_priv *priv = dev_get_priv(dev);
        struct stm32_gpio_regs *regs = priv->regs;
@@ -259,7 +259,7 @@ static int stm32_gpio_get_dir_flags(struct udevice *dev, unsigned int offset,
        default:
                break;
        }
-       *flags = dir_flags;
+       *flagsp = dir_flags;
 
        return 0;
 }
@@ -271,7 +271,7 @@ static const struct dm_gpio_ops gpio_stm32_ops = {
        .set_value              = stm32_gpio_set_value,
        .get_function           = stm32_gpio_get_function,
        .set_flags              = stm32_gpio_set_flags,
-       .get_dir_flags          = stm32_gpio_get_dir_flags,
+       .get_flags              = stm32_gpio_get_flags,
 };
 
 static int gpio_stm32_probe(struct udevice *dev)
index 6147e867dccbc038ce9097582de63e19a412adba..6ba56a16a3ac1b061087031d360efe0eb5afadaa 100644 (file)
@@ -199,8 +199,8 @@ static int stmfx_gpio_set_flags(struct udevice *dev, unsigned int offset,
        return ret;
 }
 
-static int stmfx_gpio_get_dir_flags(struct udevice *dev, unsigned int offset,
-                                   ulong *flags)
+static int stmfx_gpio_get_flags(struct udevice *dev, unsigned int offset,
+                               ulong *flagsp)
 {
        ulong dir_flags = 0;
        int ret;
@@ -233,7 +233,7 @@ static int stmfx_gpio_get_dir_flags(struct udevice *dev, unsigned int offset,
                                dir_flags |= GPIOD_PULL_DOWN;
                }
        }
-       *flags = dir_flags;
+       *flagsp = dir_flags;
 
        return 0;
 }
@@ -267,7 +267,7 @@ static const struct dm_gpio_ops stmfx_gpio_ops = {
        .direction_input = stmfx_gpio_direction_input,
        .direction_output = stmfx_gpio_direction_output,
        .set_flags = stmfx_gpio_set_flags,
-       .get_dir_flags = stmfx_gpio_get_dir_flags,
+       .get_flags = stmfx_gpio_get_flags,
 };
 
 U_BOOT_DRIVER(stmfx_gpio) = {
index de16cabcbf9cff45a0a96565bc052ab10742c7e1..153312d8af43b8b0aa50686a7edb42e97e048e17 100644 (file)
@@ -333,19 +333,20 @@ struct dm_gpio_ops {
        int (*set_flags)(struct udevice *dev, unsigned int offset, ulong flags);
 
        /**
-        * get_dir_flags() - Get GPIO dir flags
+        * get_flags() - Get GPIO flags
         *
-        * This function return the GPIO direction flags used.
+        * This function return the GPIO flags used. It should read this from
+        * the hardware directly.
         *
         * This method is optional.
         *
         * @dev:        GPIO device
         * @offset:     GPIO offset within that device
-        * @flags:      place to put the used direction flags by GPIO
+        * @flagsp:     place to put the current flags value
         * @return 0 if OK, -ve on error
         */
-       int (*get_dir_flags)(struct udevice *dev, unsigned int offset,
-                            ulong *flags);
+       int (*get_flags)(struct udevice *dev, unsigned int offset,
+                        ulong *flagsp);
 
 #if CONFIG_IS_ENABLED(ACPIGEN)
        /**