Re: [PATCH v6 2/7] reset: mchp: sparx5: Use the second reg item when cpu-syscon is not present

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Herve,

On Mon, 2024-09-30 at 14:15 +0200, Herve Codina wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> In the LAN966x PCI device use case, syscon cannot be used as syscon
> devices do not support removal [1]. A syscon device is a core
> "system"
> device and not a device available in some addon boards and so, it is
> not
> supposed to be removed.
> 
> In order to remove the syscon usage, use a local mapping of a reg
> address range when cpu-syscon is not present.
> 
> Link:
> https://lore.kernel.org/all/20240923100741.11277439@xxxxxxxxxxx/ [1]
> Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx>
> ---
>  drivers/reset/reset-microchip-sparx5.c | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/reset/reset-microchip-sparx5.c
> b/drivers/reset/reset-microchip-sparx5.c
> index 636e85c388b0..1c095fa41d69 100644
> --- a/drivers/reset/reset-microchip-sparx5.c
> +++ b/drivers/reset/reset-microchip-sparx5.c
> @@ -114,8 +114,22 @@ static int mchp_sparx5_reset_probe(struct
> platform_device *pdev)
>                 return -ENOMEM;
> 
>         err = mchp_sparx5_map_syscon(pdev, "cpu-syscon", &ctx-
> >cpu_ctrl);
> -       if (err)
> +       switch (err) {
> +       case 0:
> +               break;
> +       case -ENODEV:
> +               /*
> +                * The cpu-syscon device is not available.
> +                * Fall back with IO mapping (i.e. mapping from reg
> property).
> +                */
> +               err = mchp_sparx5_map_io(pdev, 1, &ctx->cpu_ctrl);
> +               if (err)
> +                       return err;
> +               break;
> +       default:
>                 return err;
> +       }
> +
>         err = mchp_sparx5_map_io(pdev, 0, &ctx->gcb_ctrl);
>         if (err)
>                 return err;
> --
> 2.46.1
> 

LGTM

Reviewed-by: Steen Hegelund <Steen.Hegelund@xxxxxxxxxxxxx>

BR
Steen




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux