RE: [PATCH v2] spi: spi-nxp-fspi: Add ACPI support

From: Kuldip Dwivedi
Date: Fri Sep 11 2020 - 08:03:07 EST


> -----Original Message-----
> From: Ard Biesheuvel <ard.biesheuvel@xxxxxxx>
> Sent: Friday, September 11, 2020 4:46 PM
> To: Mark Brown <broonie@xxxxxxxxxx>; kuldip dwivedi
> <kuldip.dwivedi@xxxxxxxxxxxxxxxx>
> Cc: Ashish Kumar <ashish.kumar@xxxxxxx>; Yogesh Gaur
> <yogeshgaur.83@xxxxxxxxx>; linux-spi@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Varun Sethi <V.Sethi@xxxxxxx>; Arokia Samy
> <arokia.samy@xxxxxxx>; Samer El-Haj-Mahmoud <Samer.El-Haj-
> Mahmoud@xxxxxxx>; Paul Yang <Paul.Yang@xxxxxxx>
> Subject: Re: [PATCH v2] spi: spi-nxp-fspi: Add ACPI support
>
> On 9/11/20 1:00 PM, Mark Brown wrote:
> > On Fri, Sep 11, 2020 at 01:58:06PM +0530, kuldip dwivedi wrote:
> >
> >> /* find the resources - configuration register address space */
> >> res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
> >> "fspi_base");
> >> +#ifdef CONFIG_ACPI
> >> + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); #endif
> >
> > This is buggy, it is equivalent to just removing the name based lookup
> > since we'll do the name based lookup then unconditionally overwrite
> > the results with an index based lookup.
> >
>
> Also, note that CONFIG_ACPI kernels may still boot in DT mode.
In case of ACPI we need to use indexed based lookup.
For reference Please see , Line :23 and Line:24
https://source.codeaurora.org/external/qoriq/qoriq-components/edk2-platfor
ms/tree/Platform/NXP/LX2160aRdbPkg/AcpiTables/Dsdt/FSPI.asl?h=LX2160_UEFI_
ACPI_EAR3
Here I can think two possible approaches
1. Changes in DT to use indexed based lookup
2. We Can check for ACPI fw node to distinguish between DT and ACPI like
below..
if (is_acpi_node(f->dev->fwnode))
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
else
res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
"fspi_base");
Please share your thoughts

Thanks