Re: power_supply class/framework question

From: Brian Swetland
Date: Mon Aug 10 2009 - 12:14:16 EST


On Mon, Aug 10, 2009 at 8:28 AM, Anton
Vorontsov<avorontsov@xxxxxxxxxxxxx> wrote:
> On Mon, Aug 10, 2009 at 05:00:11PM +0200, Pavel Machek wrote:
>> > I'm working on cleaning up some code to more correctly use the power
>> > supply framework (have the battery driver receive notification from
>> > the wall/usb power supplies, etc), and ran into a slight snag. ÂFor
>> > mobile usb powered devices, we need to know how much current can
>> > safely be consumed by the charge circuit -- generally this is one of:
>> > none, <500mA or 1000mA, which correspond to "no power supply", "usb
>> > power supply", or "wall power supply".
>>
>> Actuallly, it is one of 'none', 100mA (min power USB has to supplly),
>> 500mA (max powe USB can supply by spec), 1A (wall).
>>
>> > I can use power_supply_am_i_supplied() to determine if I'm receiving
>> > power, but there's no way to determine either how much (if I have one
>> > power supply that indicates max current available) or which supply (if
>> > I define a separate "ac" and "usb" power supply).
>>
>> Should am_i_supplied() just return miliamps?
>
> Or enum power_supply_type, with the following priority:
> mains (wall), usb, battery?

Either of those would work, though in the case of USB, as Pavel
correctly points out, we'd need to differentiate between
non-enumerated and enumerated, so perhaps max available milliamps
would be best. Or USB could just not indicate that it's supplied
until after enumeration is successful.

Brian
--
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/