RE: Re: [PATCH] extcon : callback function to read cable property

From: Tc, Jenny
Date: Thu Nov 22 2012 - 13:29:53 EST


> The "RFC" patch for this feature is now shown at:
> http://git.kernel.org/?p=linux/kernel/git/mzx/extcon.git;a=commit;h=5655a
> eef83addaec77a3b9387a3dd18b6c146dd5
> (Note that "for-add-feature" branch is sort of "RFC" branch)
>
> I'm now considering relaying notifications of data updates possible via the
> notifier block of register-interest. Any inputs are welcomed.
>
>
> Anyway, for the USB issue of "suspend/resume at host-side and current-limit
> at device-side", we will need to 1. update regulator subsystem to have
> notification for current change (it does for enable/disable/voltage-changes)
> 2. let the charger use current-regulator 3. let the one who detects (usb
> driver?) changes at host-side change the current limit of that current-
> regulator 4. let the event from current-regulator relayed via extcon.
> We may use power-supply class as well for this issue. (may need to update if
> power-supply class does not have notifications and suspend/resume states)
>

For this solution to work, the cable provider itself
need to register with any of these subsystems - power_supply/regulator/charger manager
IMHO a cable provider shouldn't register itself with any of the subsystem.

For example it cannot register with power_supply subsystem
since it's not a power_supply. It's just source for a power_supply.
We register either charger/battery with power supply. I couldn't find a way
to register the cable with power supply subsystem.

Anton,
Do you have any suggestion here?

I think the same case with regulator framework also. A cable doesn’t belong
to a regulator framework. A cable doesn’t expose any control attribute (current control/voltage
control). It just have properties (eg current) controlled by external agents (Host machine/wall charger)

And charger manager is a consumer and not a provider. It cannot decide the charger cable capabilities.

I have a modified version of the above patch which uses properties directly.
https://gitorious.org/linux-charging-framework/linux-charging-framework/commit/ff358373dcb32027ebe1a267fc8b8999a3bd37e4

-jtc
?移»®&Þ~º&¶¬–+-깁負¥Šw®왢쎉喝méb욎dz받–)í끾èw*jgП¨¶‰šŽ듶¢j/곴äz받–듺2듷솳鈺Ú&¢)傘«a뛴®G«앶h®æj:+v돣Šwè녪¥>W슧違iÛaxPjØm¶Ÿÿà -»+껠dš_