summaryrefslogtreecommitdiffstats
path: root/drivers/power
AgeCommit message (Collapse)AuthorFilesLines
2008-02-02apm_power: check I.intval for zero value, we use it as the divisorAnton Vorontsov1-0/+3
Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02pda_power: implement pollingAnton Vorontsov1-1/+45
Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02pda_power: various cleanupsAnton Vorontsov1-55/+92
- handle spurious interrupts correctly; - get rid of pda_power_supplies array, use two variables instead; - factor out psy_changed() function, it will be used for polling. Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02apm_power: support using VOLTAGE_* properties for apm calculationsDmitry Baryshkov1-21/+70
It's pretty dummy, but useful for batteries for which we can only get voltages. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02pda_power: add suspend/resume supportDmitry Baryshkov1-0/+33
Add suspend/resume/wakeup support for pda_power. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02power_supply: add few more values and propsDmitry Baryshkov1-1/+4
Add LiMn (one of the most common for small non-rechargable batteries) battery technology and voltage_min/_max properties support. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02pda_power: only register available psuDmitry Baryshkov1-36/+44
Currently pda-power adds both ac and usb power supply units. This patch fixes it so that psu are added only if they are enabled. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02power: fix incorrect unregistration in power_supply_create_attrs error pathAndres Salomon1-4/+2
In power_supply_create_attrs(), we create static attributes as referenced by power_supply_static_attrs[i]. After that, if we fail, we unregister via power_supply_static_attrs[psy->properties[i]]. This is incorrect, as psy->properties has absolutely no bearing on static attribs. This patch fixes it to unregister the correct attrib. Another line which was unnecessarily line wrapped is also unwrapped. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-02-02power: remove POWER_SUPPLY_PROP_CAPACITY_LEVELAndres Salomon2-15/+0
The CAPACITY_LEVEL stuff defines various levels of charge; however, what is the difference between them? What differentiates between HIGH and NORMAL, LOW and CRITICAL, etc? As it appears that these are fairly arbitrary, we end up making such policy decisions in the kernel (or in hardware). This is the sort of decision that should be made in userspace, not in the kernel. If the hardware does not support _CAPACITY and it cannot be easily calculated, then perhaps the driver should register a custom CAPACITY_LEVEL attribute; however, userspace should not become accustomed to looking for such a thing, and we should certainly not encourage drivers to provide CAPACITY_LEVEL stubs. The following removes support for POWER_SUPPLY_PROP_CAPACITY_LEVEL. The OLPC battery driver is the only driver making use of this, so it's removed from there as well. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2008-02-02[BATTERY] power_supply_leds: use kasprintfAkinobu Mita1-18/+7
Use kasprintf instead of kmalloc()-strcpy()-strcat(). Cc: Anton Vorontsov <cbou@mail.ru> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-02-02[BATTERY] Every file should include the headers containing the prototypes ↵Adrian Bunk2-0/+4
for its global functions. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2008-01-24power supply : use class iteration apiDave Young2-83/+107
Convert to use the class iteration api. Signed-off-by: Dave Young <hidave.darkstar@gmail.com> Cc: Anton Vorontsov <cbou@mail.ru> Cc: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-22Merge git://git.infradead.org/battery-2.6Linus Torvalds1-39/+102
* git://git.infradead.org/battery-2.6: apm_power: calculate to_full/to_empty time using energy apm_power: improve battery finding algorithm apm_power: fix obviously wrong logic for time reporting
2007-10-18Add missing newlines to some uses of dev_<level> messagesJoe Perches1-1/+1
Found these while looking at printk uses. Add missing newlines to dev_<level> uses Add missing KERN_<level> prefixes to multiline dev_<level>s Fixed a wierd->weird spelling typo Added a newline to a printk Signed-off-by: Joe Perches <joe@perches.com> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Mark M. Hoffman <mhoffman@lightlink.com> Cc: Roland Dreier <rolandd@cisco.com> Cc: Tilman Schmidt <tilman@imap.cc> Cc: David Woodhouse <dwmw2@infradead.org> Cc: Jeff Garzik <jeff@garzik.org> Cc: Stephen Hemminger <shemminger@linux-foundation.org> Cc: Greg KH <greg@kroah.com> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Cc: James Smart <James.Smart@Emulex.Com> Cc: Andrew Vasquez <andrew.vasquez@qlogic.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Jaroslav Kysela <perex@suse.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-12Driver core: change add_uevent_var to use a structKay Sievers2-14/+6
This changes the uevent buffer functions to use a struct instead of a long list of parameters. It does no longer require the caller to do the proper buffer termination and size accounting, which is currently wrong in some places. It fixes a known bug where parts of the uevent environment are overwritten because of wrong index calculations. Many thanks to Mathieu Desnoyers for finding bugs and improving the error handling. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Cc: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-05apm_power: calculate to_full/to_empty time using energyAnton Vorontsov1-25/+53
This patch adds ability to calculate time using energy. Needed to calculate time_to_full for PMU batteries. Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2007-10-05apm_power: improve battery finding algorithmAnton Vorontsov1-10/+47
Prior to this patch, if use_for_apm unspecified, apm_power able to choice batteries according to their charge only. This patch adds ability to choice batteries according to their charge, energy, use_for_apm flag, and fallback to any battery if it failed to decide. Patch is mandatory to report Apple PMU batteries through legacy /proc/apm interface using power supply class. Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2007-10-05apm_power: fix obviously wrong logic for time reportingAnton Vorontsov1-12/+10
Prior to this patch, apm_power was unable to report "to empty"/"to full" time for batteries that hardware-report these values, such as Apple PMU batteries. Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2007-09-21[PATCH] missing null termination in power supply ueventStephen Hemminger1-0/+1
Need to null terminate environment. Found by inspection while looking for similar problems to platform uevent bug Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
2007-07-23Don't compile the PMU power driver on 64-bit PowerPCPaul Mackerras1-1/+1
As reported by Stephen Rothwell, an allmodconfig build on 64-bit PowerPC reports these errors: ERROR: "pmu_batteries" [drivers/power/pmu_battery.ko] undefined! ERROR: "pmu_battery_count" [drivers/power/pmu_battery.ko] undefined! ERROR: "pmu_power_flags" [drivers/power/pmu_battery.ko] undefined! This fixes the problem by not building pmu_battery.ko on ppc64. There are no battery-powered ppc64 machines with an Apple PMU, and we can be reasonably confident there never will be. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-07-15Merge git://git.infradead.org/battery-2.6Linus Torvalds8-44/+8
* git://git.infradead.org/battery-2.6: git-battery vs git-acpi Power supply class and drivers: remove non obligatory return statements pda_power: clean up irq, timer MAINTAINERS: Add maintainers for power supply subsystem and drivers Fixed up trivial conflict in drivers/w1/slaves/w1_ds2760.c manually
2007-07-15PDA_POWER depends on having request_irq()Al Viro1-0/+1
... so all proud owners of s390-based PDAs will have to live without that one Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-15Power supply class and drivers: remove non obligatory return statementsAnton Vorontsov8-35/+0
Per Jeff Garzik request. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2007-07-15pda_power: clean up irq, timerJeff Garzik1-9/+8
Clean up pda_power interrupt handling: Prior to this patch, the driver would pass information it needed to the interrupt handler dev_id pointer, and then prompt forget it ever did so, recreating that same information after a couple passes through the timer-based state machine. This patch removes the redundant checks by passing the pda_power_supply[] pointer through the state machine. The current code passed 'irq' through the state machine, as an index to recreate the pointer, when we could more simply pass around the pointer itself. This patch makes it easier to remove the 'irq' argument in the future, in addition to cleaning up the driver today. Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-10[BATTERY] One Laptop Per Child power/battery driverDavid Woodhouse3-0/+359
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2007-07-10[BATTERY] Apple PMU driverDavid Woodhouse3-0/+223
Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Anton Vorontsov <cbou@mail.ru>
2007-07-10[BATTERY] 1-Wire ds2760 chip battery driverAnton Vorontsov3-0/+479
This is driver for batteries with ds2760 chip inside, found inside almost every HP iPaq and HTC PDAs/phones. Signed-off-by: Anton Vorontsov <cbou@mail.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-07-10[BATTERY] APM emulation driver for class batteriesAnton Vorontsov3-0/+251
Signed-off-by: Eugeny Boger <eugenyboger@dgap.mipt.ru> Signed-off-by: Anton Vorontsov <cbou@mail.ru> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-07-10[BATTERY] pda_power platform driverAnton Vorontsov3-0/+270
Common power driver for PDAs and phones with one or two external power supplies (AC/USB) connected to main and backup batteries, and optional builtin charger. It's used to stop logic duplication through different embedded devices. So, power supply *logic* is here. pda_power register power supplies, and will take care about notifying batteries about power changes through external power interface. Currently, power consumption legal limits (including USB power consumption) should be handled by platform code, inside set_charge function. Signed-off-by: Anton Vorontsov <cbou@mail.ru> Signed-off-by: Roman Moravcik <roman.moravcik@gmail.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2007-07-10[BATTERY] Universal power supply class (was: battery class)Anton Vorontsov6-0/+717
This class is result of "external power" and "battery" classes merge, as suggested by David Woodhouse. He also implemented uevent support. Here how userspace seeing it now: # ls /sys/class/power\ supply/ ac main-battery usb # cat /sys/class/power\ supply/ac/type AC # cat /sys/class/power\ supply/usb/type USB # cat /sys/class/power\ supply/main-battery/type Battery # cat /sys/class/power\ supply/ac/online 1 # cat /sys/class/power\ supply/usb/online 0 # cat /sys/class/power\ supply/main-battery/status Charging # cat /sys/class/leds/h5400\:red-left/trigger none h5400-radio timer hwtimer ac-online usb-online main-battery-charging-or-full [main-battery-charging] main-battery-full Signed-off-by: Anton Vorontsov <cbou@mail.ru> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>