diff mbox series

[U-Boot,v4,02/17] reset: Return 0 if no request ops

Message ID 20180826123826.19243-3-jagan@amarulasolutions.com
State Changes Requested
Delegated to: Jagannadha Sutradharudu Teki
Headers show
Series clk: Add Allwinner CLK, RESET support | expand

Commit Message

Jagan Teki Aug. 26, 2018, 12:38 p.m. UTC
Missing request ops from respective uclass driver
generating "synchronous abort" in Allwinner platform,
may be in arm. So return 0 if request ops is not used
for those uclass drivers.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
---
 drivers/reset/reset-uclass.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Simon Glass Aug. 30, 2018, 12:28 a.m. UTC | #1
Hi Jagan,

On 26 August 2018 at 06:38, Jagan Teki <jagan@amarulasolutions.com> wrote:
> Missing request ops from respective uclass driver
> generating "synchronous abort" in Allwinner platform,
> may be in arm. So return 0 if request ops is not used
> for those uclass drivers.
>
> Cc: Simon Glass <sjg@chromium.org>
> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
> ---
>  drivers/reset/reset-uclass.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c
> index 3899537635..867dc8d596 100644
> --- a/drivers/reset/reset-uclass.c
> +++ b/drivers/reset/reset-uclass.c
> @@ -69,6 +69,9 @@ int reset_get_by_index(struct udevice *dev, int index,
>                 return ret;
>         }
>
> +       if (!ops->request)
> +               return 0;
> +

Shouldn't this return -ENOSYS? The system call is missing.

>         ret = ops->request(reset_ctl);
>         if (ret) {
>                 debug("ops->request() failed: %d\n", ret);
> --
> 2.18.0.321.gffc6fa0e3
>

Regards,
Simon
diff mbox series

Patch

diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c
index 3899537635..867dc8d596 100644
--- a/drivers/reset/reset-uclass.c
+++ b/drivers/reset/reset-uclass.c
@@ -69,6 +69,9 @@  int reset_get_by_index(struct udevice *dev, int index,
 		return ret;
 	}
 
+	if (!ops->request)
+		return 0;
+
 	ret = ops->request(reset_ctl);
 	if (ret) {
 		debug("ops->request() failed: %d\n", ret);