[PATCH 4/8] pinctrl: Add third argument label for pinctrl_gpio_request() function
Stefan Roese
sr at denx.de
Thu Jul 28 15:18:46 CEST 2022
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 <pali at 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: sr at 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: sr at denx.de
More information about the U-Boot
mailing list