Re: [PATCH] i2c/synquacer: Deal with optional PCLK correctly

From: Ard Biesheuvel
Date: Thu Sep 12 2024 - 13:14:20 EST


On Thu, 12 Sept 2024 at 19:11, Marion & Christophe JAILLET
<christophe.jaillet@xxxxxxxxxx> wrote:
>
> (trying to merge t and cc fields from Ard's and Andy's messages)
>
>
> Le 12/09/2024 à 12:46, Ard Biesheuvel a écrit :
> > From: Ard Biesheuvel <ardb@xxxxxxxxxx>
> >
> > ACPI boot does not provide clocks and regulators, but instead, provides
> > the PCLK rate directly, and enables the clock in firmware. So deal
> > gracefully with this.
> >
> > Fixes: 55750148e559 ("i2c: synquacer: Fix an error handling path in synquacer_i2c_probe()")
>
> Hi,
>
> If that matters, I'm not sure that the Fixes tag is correct.
>
> IIUC, either it is a new functionally that is added (now it works with
> ACPI...), or if considered as a fix, then I think that it is linked to
> commit 0d676a6c4390 ("i2c: add support for Socionext SynQuacer I2C
> controller").
>
> I don't think that 55750148e559 introduced a regression. The issue seems
> to be there since the beginning. Agreed?
>

No.

The original code used IS_ERR_OR_NULL() to explicitly permit the case
where no clock exists at all.

This has worked fine with ACPI boot for many years before this fix was applied.

> If yes, then it may be needed to backport it in older kernels too.
>

No, it used to work. The fix is what broke ACPI boot.

--
Ard.