> 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