[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BN6PR12MB124927C4F4FAF53B59C2A23CC3679@BN6PR12MB1249.namprd12.prod.outlook.com>
Date: Tue, 30 Nov 2021 01:50:07 +0000
From: Krishna Yarlagadda <kyarlagadda@...dia.com>
To: Mark Brown <broonie@...nel.org>,
Philipp Zabel <p.zabel@...gutronix.de>
CC: Laxman Dewangan <ldewangan@...dia.com>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Sowjanya Komatineni <skomatineni@...dia.com>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"linux-spi@...r.kernel.org" <linux-spi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 2/2] spi: tegra210-quad: add acpi support
> -----Original Message-----
> From: Mark Brown <broonie@...nel.org>
> Sent: 29 November 2021 17:57
> To: Krishna Yarlagadda <kyarlagadda@...dia.com>; Philipp Zabel
> <p.zabel@...gutronix.de>
> Cc: Laxman Dewangan <ldewangan@...dia.com>; Thierry Reding
> <thierry.reding@...il.com>; Jonathan Hunter <jonathanh@...dia.com>;
> Sowjanya Komatineni <skomatineni@...dia.com>; linux-
> tegra@...r.kernel.org; linux-spi@...r.kernel.org; linux-
> kernel@...r.kernel.org
> Subject: Re: [PATCH 2/2] spi: tegra210-quad: add acpi support
>
> On Mon, Nov 29, 2021 at 09:09:30AM +0000, Krishna Yarlagadda wrote:
>
> > > > +#ifdef CONFIG_ACPI
> > > > + if (ACPI_FAILURE(acpi_evaluate_object(ACPI_HANDLE(tqspi->dev),
> > > > + "_RST", NULL, NULL)))
> > > > + dev_err(tqspi->dev, "failed to reset device\n"); #endif
>
> > > What happens when this runs on a DT system?
>
> > For a DT system reset handle would be present and this code will not
> > run
>
> This code is really unclearly structured, the early return doesn't match the
> normal kernel style and the ifdefs aren't helping with clarity. Please
> restructure it so it's clear that *both* cases have checks for the correct
> firmware type being present.
I will move each reset method into their own function for readability.
>
> That said frankly I'd expect this handling of ACPI reset to be pushed into the
> reset code, it's obviously not good to be open coding this in drivers when this
> looks like it's completely generic to any ACPI object so shouldn't be being
> open coded in individual driers especially with the ifdefery. Shouldn't the
> reset API be able to figure out that an object with _RST has a reset control
> and provide access to it through the reset API?
Common reset apis are not handling _RST. Each driver is implementing
_RST method in ACPI and calling from drivers.
Powered by blists - more mailing lists