[PATCH] sysreset: Fix unsupported request return values

Simon Glass sjg at chromium.org
Thu Nov 9 02:15:24 CET 2023


On Wed, 8 Nov 2023 at 01:51, Paul Barker <paul.barker.ct at bp.renesas.com> wrote:
>
> The description of the sysreset request method in <sysreset.h> says that
> the return value should be -EPROTONOSUPPORT if the requested reset type
> is not supported by this device.
>
> Signed-off-by: Paul Barker <paul.barker.ct at bp.renesas.com>
> ---
>  drivers/sysreset/poweroff_gpio.c     | 2 +-
>  drivers/sysreset/sysreset_psci.c     | 2 +-
>  drivers/sysreset/sysreset_sandbox.c  | 4 ++--
>  drivers/sysreset/sysreset_watchdog.c | 2 +-
>  drivers/sysreset/sysreset_x86.c      | 2 +-
>  test/dm/sysreset.c                   | 6 +++---
>  6 files changed, 9 insertions(+), 9 deletions(-)

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


>
> diff --git a/drivers/sysreset/poweroff_gpio.c b/drivers/sysreset/poweroff_gpio.c
> index a5c24fd85bca..ad04e4b1a85e 100644
> --- a/drivers/sysreset/poweroff_gpio.c
> +++ b/drivers/sysreset/poweroff_gpio.c
> @@ -33,7 +33,7 @@ static int poweroff_gpio_request(struct udevice *dev, enum sysreset_t type)
>         int r;
>
>         if (type != SYSRESET_POWER_OFF)
> -               return -ENOSYS;
> +               return -EPROTONOSUPPORT;
>
>         debug("GPIO poweroff\n");
>
> diff --git a/drivers/sysreset/sysreset_psci.c b/drivers/sysreset/sysreset_psci.c
> index a8a41528a849..aa09d0b88271 100644
> --- a/drivers/sysreset/sysreset_psci.c
> +++ b/drivers/sysreset/sysreset_psci.c
> @@ -25,7 +25,7 @@ static int psci_sysreset_request(struct udevice *dev, enum sysreset_t type)
>                 psci_sys_poweroff();
>                 break;
>         default:
> -               return -ENOSYS;
> +               return -EPROTONOSUPPORT;
>         }
>
>         return -EINPROGRESS;
> diff --git a/drivers/sysreset/sysreset_sandbox.c b/drivers/sysreset/sysreset_sandbox.c
> index f485a1352993..c12eda81d03e 100644
> --- a/drivers/sysreset/sysreset_sandbox.c
> +++ b/drivers/sysreset/sysreset_sandbox.c
> @@ -21,7 +21,7 @@ static int sandbox_warm_sysreset_request(struct udevice *dev,
>                 state->last_sysreset = type;
>                 break;
>         default:
> -               return -ENOSYS;
> +               return -EPROTONOSUPPORT;
>         }
>         if (!state->sysreset_allowed[type])
>                 return -EACCES;
> @@ -70,7 +70,7 @@ static int sandbox_sysreset_request(struct udevice *dev, enum sysreset_t type)
>                         return -EACCES;
>                 sandbox_exit();
>         default:
> -               return -ENOSYS;
> +               return -EPROTONOSUPPORT;
>         }
>         if (!state->sysreset_allowed[type])
>                 return -EACCES;
> diff --git a/drivers/sysreset/sysreset_watchdog.c b/drivers/sysreset/sysreset_watchdog.c
> index ceada2e47b54..6db5aa75b541 100644
> --- a/drivers/sysreset/sysreset_watchdog.c
> +++ b/drivers/sysreset/sysreset_watchdog.c
> @@ -29,7 +29,7 @@ static int wdt_reboot_request(struct udevice *dev, enum sysreset_t type)
>                         return ret;
>                 break;
>         default:
> -               return -ENOSYS;
> +               return -EPROTONOSUPPORT;
>         }
>
>         return -EINPROGRESS;
> diff --git a/drivers/sysreset/sysreset_x86.c b/drivers/sysreset/sysreset_x86.c
> index 4936fdb76c72..dc772b5ff9e3 100644
> --- a/drivers/sysreset/sysreset_x86.c
> +++ b/drivers/sysreset/sysreset_x86.c
> @@ -87,7 +87,7 @@ static int x86_sysreset_request(struct udevice *dev, enum sysreset_t type)
>                         return ret;
>                 return -EINPROGRESS;
>         default:
> -               return -ENOSYS;
> +               return -EPROTONOSUPPORT;
>         }
>
>         outb(value, IO_PORT_RESET);
> diff --git a/test/dm/sysreset.c b/test/dm/sysreset.c
> index 691683c56740..5aa69e046186 100644
> --- a/test/dm/sysreset.c
> +++ b/test/dm/sysreset.c
> @@ -27,8 +27,8 @@ static int dm_test_sysreset_base(struct unit_test_state *uts)
>         /* Device 1 is the warm sysreset device */
>         ut_assertok(uclass_get_device(UCLASS_SYSRESET, 1, &dev));
>         ut_asserteq(-EACCES, sysreset_request(dev, SYSRESET_WARM));
> -       ut_asserteq(-ENOSYS, sysreset_request(dev, SYSRESET_COLD));
> -       ut_asserteq(-ENOSYS, sysreset_request(dev, SYSRESET_POWER));
> +       ut_asserteq(-EPROTONOSUPPORT, sysreset_request(dev, SYSRESET_COLD));
> +       ut_asserteq(-EPROTONOSUPPORT, sysreset_request(dev, SYSRESET_POWER));
>
>         state->sysreset_allowed[SYSRESET_WARM] = true;
>         ut_asserteq(-EINPROGRESS, sysreset_request(dev, SYSRESET_WARM));
> @@ -36,7 +36,7 @@ static int dm_test_sysreset_base(struct unit_test_state *uts)
>
>         /* Device 2 is the cold sysreset device */
>         ut_assertok(uclass_get_device(UCLASS_SYSRESET, 2, &dev));
> -       ut_asserteq(-ENOSYS, sysreset_request(dev, SYSRESET_WARM));
> +       ut_asserteq(-EPROTONOSUPPORT, sysreset_request(dev, SYSRESET_WARM));
>         state->sysreset_allowed[SYSRESET_COLD] = false;
>         ut_asserteq(-EACCES, sysreset_request(dev, SYSRESET_COLD));
>         state->sysreset_allowed[SYSRESET_COLD] = true;
>
> base-commit: e17d174773e9ba9447596708e702b7382e47a6cf
> --
> 2.39.2
>


More information about the U-Boot mailing list