Re: [PATCH 2/6] regulator: anatop: only set supply regulator when it actually exists
From: Dong Aisheng
Date: Wed Apr 12 2017 - 11:14:20 EST
Hi Mark,
On Tue, Apr 11, 2017 at 09:31:24PM +0100, Mark Brown wrote:
> On Wed, Apr 12, 2017 at 09:58:43AM +0800, Dong Aisheng wrote:
> > Mandatorily set the initdata->supply_regulator while it actually not
> > exist will cause regulator core to resolve supply each time whenever
> > a new regulator registered which is meaningless and waste CPU mips.
> >
> > We can observe more than one hundred times of iteration of resolving
> > during a MX6Q SDB board booting up.
> >
> > This patch adds the condition check for vin-supply to avoid the issue.
>
> This is an obvious abstraction failure - there is nothing magical about
> your driver which means that we need special casing in it to handle
> badly written DTs that don't specify supplies. Exactly the same
> argument applies to all other regulators so if this is worth fixing it's
> worth fixing in the core so we substitute in a dummy regulator if the
> supply is genuinely missing. Which is something we in fact have code to
> do already though for some reason I can't see we bypass it, I'll send a
> patch just now...
You're absolutely right!
I did this because there're some where else did the same thing.
e.g. drivers/regulator/fixed.c.
But it's obviously none of any platform specific and is perfectly
to be handled in regulator core.
Regards
Dong Aisheng