Re: twl4030_charger: need changes to get probed?

NeilBrown
2015-03-09T00:07:11Z

[-- Attachment #1: Type: text/plain, Size: 1804 bytes --]

On Sat, 7 Mar 2015 22:01:02 +0100 Sebastian Reichel <sre@debian.org> 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 #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 811 bytes --]