Re: lm90 driver no longer working on PCs in 3.13

From: Guenter Roeck
Date: Sun Jan 26 2014 - 16:40:39 EST


On 01/26/2014 01:22 PM, Mark Brown wrote:
On Sun, Jan 26, 2014 at 09:49:36PM +0100, Jean Delvare wrote:
On Sun, 26 Jan 2014 12:44:38 -0800, Guenter Roeck wrote:

Maybe there is some configuration option, or maybe something needs to be
configured from user space. I found neither.

Neither would be acceptable to my eyes anyway. Things worked out of the
box before, they should keep working out of the box.

They only worked with a debug option turned on and generated warnings
every time they were used... that kernel config would've been actively
broken for devices that wanted to do anything at all interesting with
the regulators and would've been prone to issues with init ordering and
races in any cases where there are actually regulators.

Another possible fix would be to have the regulator core return -ENODEV
instead of -EPROBE_DEFER on non-dt systems. No idea if this would be acceptable
or even feasible.

Well, either the regulator subsystem gets fixed (or provides a suitable
API for drivers like lm90 and we update the lm90 driver to use it), or
I'll just revert the problematic commit for now. This is a severe
regression, we just can't leave things that way.

It's not an issue in the driver, it's an issue in the combination of the
platform and the kernel config. If the regulator API is going to be
turned on for the platform then either the platform needs to configure
the supplies or it needs to tell the regulator core that it's safe to
start using dummy regulators.

What is this platform and why does it have the regulator API enabled in
the first place?


It is a PC running Ubuntu. you'd have to ask the distro maintainers why they
turn on regulators.

config-3.8.0-26-generic:CONFIG_REGULATOR=y
config-3.8.0-35-generic:CONFIG_REGULATOR=y
config-3.11.0-13-generic:CONFIG_REGULATOR=y

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/