Re: twl4030_charger: need changes to get probed?

From: NeilBrown
Date: Sun Mar 08 2015 - 20:07:14 EST


On Sat, 7 Mar 2015 22:01:02 +0100 Sebastian Reichel <sre@xxxxxxxxxx> wrote:

> Hi,
>
> On Fri, Mar 06, 2015 at 10:24:17PM +0100, Pavel Machek wrote:
> > According to n900 dts, twl4030-bci (aka charger) should be
> > included.
>
> its part of twl, but not used on N900 afaik.
>
> > (But it does not seem to do anything useful on n900. I was hoping for
> > measurement of input voltage, but .. no.)
>
> check for rx51-battery.
>
> > Any ideas why the patch below is needed?
>
> platform_driver_probe() does not support deferred probing.
>
> Neil, can you take this patch into your series for the next round?

I could, but I do wonder if it is the right thing to do.

Shouldn't we fix platform_driver_probe() to support deferred probing.

As I understand it, it refused to retry a probe if there is an error, and the
comments suggest that such retrying is avoided because it would be a waste
of time:

/*
* Prevent driver from requesting probe deferral to avoid further
* futile probe attempts.
*/

In this case, it isn't futile.

Earlier there is a comment saying:

* Use this instead of platform_driver_register() when you know the device
* is not hotpluggable and has already been registered, and you want to
* remove its run-once probe() infrastructure from memory after the driver
* has bound to the device.

I presume all this applies. I assume that the only problem is a probe-order
thing. So maybe we should fix platform_driver_probe() to do the right thing
with -EPROBEDEFER??

Trouble is, I really don't understand the point or mechanism for
platform_driver_probe(), so I cannot suggest anything.
But I have been annoyed before that platform_driver_probe doesn't cope with
EPROBEDEFER, so I would like it fixed.

NeilBrown

Attachment: pgpP9ViUErAKW.pgp
Description: OpenPGP digital signature