On 28.07.22 15:15, Pali Rohár wrote:
On Thursday 28 July 2022 15:07:51 Stefan Roese wrote:
Hi Pali.

On 25.07.22 13:56, Pali Rohár wrote:
This change allows to use pinctrl_gpio_request() function as a direct
pointer for dm_gpio_ops's .request callback.

Signed-off-by: Pali Rohár <p...@kernel.org>

Running a CI build on Azure, I see these errors at least for this
target:

rzg2_beacon

drivers/gpio/gpio-rcar.c: In function 'rcar_gpio_request':
drivers/gpio/gpio-rcar.c:136:16: error: too few arguments to function
'pinctrl_gpio_request'
   136 |         return pinctrl_gpio_request(dev, offset);
       |                ^~~~~~~~~~~~~~~~~~~~
In file included from drivers/gpio/gpio-rcar.c:12:
include/dm/pinctrl.h:618:5: note: declared here
   618 | int pinctrl_gpio_request(struct udevice *dev, unsigned offset, const
char *label);
       |     ^~~~~~~~~~~~~~~~~~~~
drivers/gpio/gpio-rcar.c:137:1: warning: control reaches end of non-void
function [-Wreturn-type]
   137 | }
       | ^

Ou... I think that this fixup should fix this error:

diff --git a/drivers/gpio/gpio-rcar.c b/drivers/gpio/gpio-rcar.c
index 76f47027a3ea..138801850d3e 100644
--- a/drivers/gpio/gpio-rcar.c
+++ b/drivers/gpio/gpio-rcar.c
@@ -133,7 +133,7 @@ static int rcar_gpio_get_function(struct udevice *dev, 
unsigned offset)
  static int rcar_gpio_request(struct udevice *dev, unsigned offset,
                             const char *label)
  {
-       return pinctrl_gpio_request(dev, offset);
+       return pinctrl_gpio_request(dev, offset, label);
  }
static int rcar_gpio_free(struct udevice *dev, unsigned offset)

Please run this (and if possible all more complex) patchset via some
world build / CI.

I opened pull request on github, it should run CI tests:
https://github.com/u-boot/u-boot/pull/202

I included there also above fixup.

Thanks. Let's see, if this now runs fine.

Thanks,
Stefan

Thanks,
Stefan

---
   drivers/pinctrl/pinctrl-uclass.c | 3 ++-
   include/dm/pinctrl.h             | 3 ++-
   2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c
index 38ce2b5e0ad9..ce2d5ddf6d92 100644
--- a/drivers/pinctrl/pinctrl-uclass.c
+++ b/drivers/pinctrl/pinctrl-uclass.c
@@ -222,9 +222,10 @@ pinctrl_gpio_get_pinctrl_and_offset(struct udevice *dev, 
unsigned offset,
    *
    * @dev: GPIO peripheral device
    * @offset: the GPIO pin offset from the GPIO controller
+ * @label: the GPIO pin label
    * @return: 0 on success, or negative error code on failure
    */
-int pinctrl_gpio_request(struct udevice *dev, unsigned offset)
+int pinctrl_gpio_request(struct udevice *dev, unsigned offset, const char 
*label)
   {
        const struct pinctrl_ops *ops;
        struct udevice *pctldev;
diff --git a/include/dm/pinctrl.h b/include/dm/pinctrl.h
index 5436dc4a9a71..e3e50afeaff0 100644
--- a/include/dm/pinctrl.h
+++ b/include/dm/pinctrl.h
@@ -611,10 +611,11 @@ int pinctrl_get_pin_name(struct udevice *dev, int 
selector, char *buf,
    * pinctrl_gpio_request() - Request a single pin to be used as GPIO
    * @dev:     GPIO peripheral device
    * @offset:  GPIO pin offset from the GPIO controller
+ * @label:     GPIO label
    *
    * Return: 0 on success, or negative error code on failure
    */
-int pinctrl_gpio_request(struct udevice *dev, unsigned offset);
+int pinctrl_gpio_request(struct udevice *dev, unsigned offset, const char 
*label);
   /**
    * pinctrl_gpio_free() - Free a single pin used as GPIO

Viele Grüße,
Stefan Roese

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de

Viele Grüße,
Stefan Roese

--
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de

Reply via email to