Re: [PATCH] acpi-cpufreq: Skip initialization if a cpufreq driver exists

From: Viresh Kumar
Date: Mon Jun 07 2021 - 03:26:35 EST


Hi Rafael,

On Mon, May 24, 2021 at 7:47 PM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
> On Sat, May 22, 2021 at 12:19 AM Kyle Meyer <kyle.meyer@xxxxxxx> wrote:

> > diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c
> > index 7e7450453714..e79a945369d1 100644
> > --- a/drivers/cpufreq/acpi-cpufreq.c
> > +++ b/drivers/cpufreq/acpi-cpufreq.c
> > @@ -1003,7 +1003,7 @@ static int __init acpi_cpufreq_init(void)
> >
> > /* don't keep reloading if cpufreq_driver exists */
> > if (cpufreq_get_current_driver())
> > - return -EEXIST;
> > + return 0;
> >
> > pr_debug("%s\n", __func__);
> >
> > --
>
> Applied as 5.14 material with some edits in the subject and changelog, thanks!

I am not sure how this is supposed to work. If we return 0 from
acpi_cpufreq_init(),
then the driver will never be used, since it's acpi_cpufreq_init()
will never get
called again later.

cpufreq drivers don't follow the generic device/driver model where a driver gets
probed again if a device appears and so this is broken.

Please revert this patch.