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 Hervé,

On Mon, Sep 30, 2024 at 2:16 PM Herve Codina <herve.codina@xxxxxxxxxxx> wrote:
> 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>

Thanks for your patch!

> --- 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;
> +       }
> +

This can be shortened to:

    if (err == -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;

>         err = mchp_sparx5_map_io(pdev, 0, &ctx->gcb_ctrl);
>         if (err)
>                 return err;

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux