aboutsummaryrefslogtreecommitdiff
path: root/drivers/power
AgeCommit message (Collapse)AuthorFilesLines
2009-07-02power_supply: Add a charge_type property, and use it for olpc driverAndres Salomon2-0/+15
This adds a new sysfs file called 'charge_type' which displays the type of charging (unknown, n/a, trickle charge, or fast charging). This allows things like battery diagnostics to determine what the battery/EC is doing without resorting to changing the 'status' sysfs output. Signed-off-by: Andres Salomon <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-07-01olpc_battery: Add an 'error' sysfs device that displays raw errorsAndres Salomon1-0/+32
Grab the error code from EC_BAT_ERRCODE and let the user see it (rather than attempting to decode it as we do with PROP_HEALTH) with a separate error sysfs file. Signed-off-by: Andres Salomon <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-07-01Revert "power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL"Andres Salomon2-0/+15
This reverts commit 8efe444038a205e79b38b7ad03878824901849a8 and 4cbc76eadf56399cd11fb736b33c53aec9caab8c. [email protected] was apparently using CAPACITY_LEVEL for debugging battery/EC problems, and was upset that it was removed. This readds it. Conflicts: Documentation/power_supply_class.txt Signed-off-by: Andres Salomon <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-07-01Add ds2782 battery gas gauge driverRyan Mallon3-0/+338
This patch adds a driver for ds2782 battery devices. Signed-off-by: Ryan Mallon <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-07-01olpc_battery: Ensure that the TRICKLE bit is checkedAndres Salomon1-3/+6
There are times when the battery is present but trickle charging, and the EC sets only the TRICKLE bit. So we must check for the bit when we're checking the charging/present status. Signed-off-by: Andres Salomon <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-07-01olpc_battery: Fix up eeprom read functionAndres Salomon1-8/+9
The eeprom read function was placing values into the wrong place in 'buf'; we were starting from buf[off], rather than buf[0]. Also, the for loop that we were using was much uglier than it needed to be. This cleans it up a bit. Signed-off-by: Andres Salomon <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-06-09da9030_battery: Fix race between event handler and monitorMike Rapoport1-7/+12
There are cases when charging monitor and the event handler try to change the charger state simultaneously. For instance, a charger is connected to the system, there's the detection event and the event handler tries to enable charging. It is possible that the periodic charging monitor runs at the same time and it still thinks there's no external charger. So it tries to disable the charging. As the result, even if the conditions necessary to charge the battery hold, there will be no actual charging. The patch changes the event handler so that instead of enabling/ disabling the charger immediately it would rather make the monitor run. The monitor code then decides what should be the charger state. Signed-off-by: Mike Rapoport <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-06-09Add MAX17040 Fuel Gauge driverMinkyu Kang3-1/+319
The MAX17040 is a I2C interfaced Fuel Gauge systems for lithium-ion batteries This patch adds support the MAX17040 Fuel Gauge Signed-off-by: Minkyu Kang <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-06-08w1: ds2760_battery: add support for sleep mode featureDaniel Mack1-0/+26
This adds support for ds2760's sleep mode feature. With this feature enabled, the chip enters a deep sleep mode and disconnects from the battery when the w1 line is held down for more than 2 seconds. This new behaviour can be switched on and off using a new module parameter. Signed-off-by: Daniel Mack <[email protected]> Cc: Szabolcs Gyurko <[email protected]> Acked-by: Matt Reimer <[email protected]> Acked-by: Evgeniy Polyakov <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-06-08ds2760_battery: cleanups in ds2760_battery_probe()Daniel Mack1-9/+7
Removed struct ds2760_platform_data which wasn't defined anywhere. Indentation cleanups. Signed-off-by: Daniel Mack <[email protected]> Cc: Szabolcs Gyurko <[email protected]> Acked-by: Matt Reimer <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-04-08Merge git://git.infradead.org/battery-2.6Linus Torvalds2-29/+148
* git://git.infradead.org/battery-2.6: pda_power: Add optional OTG transceiver and voltage regulator support pcf50633_charger: Remove unused mbc_set_status function pcf50633_charger: Enable periodic charging restart
2009-04-05Merge branch 'linus' into releaseLen Brown1-1/+1
Conflicts: arch/x86/kernel/cpu/cpufreq/longhaul.c Signed-off-by: Len Brown <[email protected]>
2009-03-30trivial: Fix misspelling of "Celsius".Adam Buchbinder1-1/+1
A few comments say "Celcius"; this fixes them. No code changes. Signed-off-by: Adam Buchbinder <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2009-03-27ACPI: battery: add power_{now,avg} properties to power_classAlexey Starikovskiy1-0/+2
ACPI has smart batteries, which work in units of energy and measure rate of (dis)charge as power, thus it is not appropriate to export it as a current_now. Current_now will still be exported to allow for userland applications to match. Signed-off-by: Alexey Starikovskiy <[email protected]> Signed-off-by: Len Brown <[email protected]>
2009-03-12ds2760_battery.c: fix division by zeroDaniel Mack1-4/+7
The 'battery remaining capacity' calculation in drivers/power/ds2760_battery.c lacks a parameter check to a division operation which causes the kernel to oops on my board. [ 21.233750] Division by zero in kernel. [ 21.237646] [<c002955c>] (__div0+0x0/0x20) from [<c012561c>] (Ldiv0+0x8/0x10) [ 21.244816] [<c01bef34>] (ds2760_battery_read_status+0x0/0x2a4) from [<c01bf3a4>] (ds2760_battery_get_property+0x30/0xdc) [ 21.255803] r8:c03a22c0 r7:c7886100 r6:00000009 r5:c782fe7c r4:c7886084 [ 21.262518] [<c01bf374>] (ds2760_battery_get_property+0x0/0xdc) from [<c01bde98>] (power_supply_show_property+0x48/0x114) [ 21.273480] r6:c7996000 r5:00000009 r4:00000000 [ 21.278111] [<c01bde50>] (power_supply_show_property+0x0/0x114) from [<c01be158>] (power_supply_uevent+0x188/0x280) [ 21.288537] r8:00000001 r7:c7886100 r6:c7996000 r5:000000b4 r4:00000000 [ 21.295222] [<c01bdfd0>] (power_supply_uevent+0x0/0x280) from [<c015c664>] (dev_uevent+0xd4/0x10c) [ 21.304199] [<c015c590>] (dev_uevent+0x0/0x10c) from [<c0128440>] (kobject_uevent_env+0x180/0x390) [ 21.313170] r5:00000000 r4:c78860ac [ 21.316725] [<c01282c0>] (kobject_uevent_env+0x0/0x390) from [<c0128664>] (kobject_uevent+0x14/0x18) [ 21.325850] [<c0128650>] (kobject_uevent+0x0/0x18) from [<c01bdc34>] (power_supply_changed_work+0x5c/0x70) [ 21.335506] [<c01bdbd8>] (power_supply_changed_work+0x0/0x70) from [<c004d290>] (run_workqueue+0xbc/0x144) [ 21.345167] r4:c7812040 [ 21.347716] [<c004d1d4>] (run_workqueue+0x0/0x144) from [<c004d94c>] (worker_thread+0xa8/0xbc) [ 21.356296] r7:c7812040 r6:c7820b00 r5:c782ffa4 r4:c7812048 [ 21.361957] [<c004d8a4>] (worker_thread+0x0/0xbc) from [<c0051008>] (kthread+0x5c/0x94) [ 21.369971] r7:00000000 r6:c004d8a4 r5:c7812040 r4:c782e000 [ 21.375612] [<c0050fac>] (kthread+0x0/0x94) from [<c00403d0>] (do_exit+0x0/0x688) Signed-off-by: Daniel Mack <[email protected]> Cc: Szabolcs Gyurko <[email protected]> Acked-by: Matt Reimer <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Cc: David Woodhouse <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-02-02pda_power: Add optional OTG transceiver and voltage regulator supportPhilipp Zabel1-12/+77
This patch allows machines to use an OTG transceiver driver instead of supplying a custom is_usb_online callback to check USB power. Also, in the case that the OTG transceiver handles charger control when connected to USB, a regulator named "ac_draw" can be supplied instead of the custom set_charge callback to control the charger when connected to AC. The check for (transceiver->state == OTG_STATE_B_PERIPHERAL) in otg_is_usb_online is probably too simple, I'm just using this with a peripheral only device and gpio_vbus + bq24022. I'm not sure which other OTG states can supply power. Signed-off-by: Philipp Zabel <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-02-02pcf50633_charger: Remove unused mbc_set_status functionBalaji Rao1-15/+0
The 'pcf50633_mbc_set_status' function is unused, so remove it. Signed-off-by: Balaji Rao <[email protected]> Cc: Andy Green <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-02-02pcf50633_charger: Enable periodic charging restartBalaji Rao1-2/+71
The battery charger state machine switches into charging mode when the battery voltage falls below 96% of a battery float voltage. But the voltage drop in Li-ion batteries is marginal(1~2 %) till about 80% of its capacity - which means, after a BATFULL, charging won't be restarted until 80%. This work_struct function restarts charging at regular intervals to make sure the battery doesn't discharge too much. Signed-off-by: Balaji Rao <[email protected]> Cc: Andy Green <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-02-02pcf50633_charger: Fix typoBalaji Rao1-1/+2
container_of(psy, struct pcf50633_mbc, usb); should be container_of(psy, struct pcf50633_mbc, adapter); Signed-off-by: Balaji Rao <[email protected]> Cc: Andy Green <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-01-26power_supply: pda_power: Don't request shared IRQs w/ IRQF_DISABLEDPhilipp Zabel1-1/+1
IRQF_DISABLED is not guaranteed for shared IRQs. I think power_changed_isr doesn't need it anyway, as it only fires a timer. This patch enables IRQF_SAMPLE_RANDOM instead. Signed-off-by: Philipp Zabel <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2009-01-11power_supply: PCF50633 battery charger driverBalaji Rao3-0/+365
Signed-off-by: Balaji Rao <[email protected]> Cc: Andy Green <[email protected]> Cc: David Woodhouse <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2009-01-06power-supply: struct device - replace bus_id with dev_name(), dev_set_name()Kay Sievers1-2/+2
CC: Anton Vorontsov <[email protected]> Signed-off-by: Kay Sievers <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-01-04power_supply: Add Dialog DA9030 battery charger driverMike Rapoport3-0/+608
Driver for battery charger integrated into Dialog Semiconductor DA9030 PMIC Signed-off-by: Mike Rapoport <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2009-01-04power_supply: Add battery health reporting for WM8350Mark Brown1-8/+25
Implement support for reporting battery health in the WM8350 battery interface. Since we are now able to report this via the classs remove the diagnostics from the interrupt handler. Signed-off-by: Mark Brown <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2009-01-04power_supply: Add cold to the POWER_SUPPLY_HEALTH report valuesMark Brown1-1/+1
Some systems are able to report problems with batteries being under temperature. Signed-off-by: Mark Brown <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2009-01-04mfd: Switch WM8350 revision detection to a feature based modelMark Brown1-1/+1
Rather than check for chip revisions in the WM8350 drivers have the core code set flags for relevant differences. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2009-01-04power_supply: Add support for WM8350 PMUMark Brown3-0/+523
This patch adds support for the PMU provided by the WM8350 which implements battery, line and USB supplies including a battery charger. The hardware functions largely autonomously, with minimal software control required to initiate fast charging. Support for configuration of the USB supply is not yet implemented. This means that the hardware will remain in the mode configured at startup, by default limiting the current drawn from USB to 100mA. This driver was originally written by Liam Girdwood with subsequent updates for submission by Mark Brown. Signed-off-by: Mark Brown <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2008-10-20Merge git://git.infradead.org/battery-2.6Linus Torvalds5-6/+422
* git://git.infradead.org/battery-2.6: bq27x00_battery: use unaligned access helper power_supply: fix dependency of tosa_battery power_supply: Support for Texas Instruments BQ27200 battery managers power_supply: Add function to return system-wide power state pda_power: Check and handle return value of set_irq_wake
2008-10-20x86: sysfs: kill owner field from attributeParag Warudkar1-1/+1
Tejun's commit 7b595756ec1f49e0049a9e01a1298d53a7faaa15 made sysfs attribute->owner unnecessary. But the field was left in the structure to ease the merge. It's been over a year since that change and it is now time to start killing attribute->owner along with its users - one arch at a time! This patch is attempt #1 to get rid of attribute->owner only for CONFIG_X86_64 or CONFIG_X86_32 . We will deal with other arches later on as and when possible - avr32 will be the next since that is something I can test. Compile (make allyesconfig / make allmodconfig / custom config) and boot tested. akpm: the idea is that we put the declaration of sttribute.owner inside `#ifndef CONFIG_X86'. But that proved to be too ambitious for now because new usages kept on turning up in subsystem trees. [akpm: remove the ifdef for now] Signed-off-by: Parag Warudkar <[email protected]> Cc: Greg KH <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Len Brown <[email protected]> Cc: Jens Axboe <[email protected]> Cc: Jean Delvare <[email protected]> Cc: Roland Dreier <[email protected]> Cc: David Brownell <[email protected]> Cc: Alessandro Zummo <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-10-18Merge branch 'master' of ↵Anton Vorontsov6-217/+287
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/power/Makefile
2008-10-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6Linus Torvalds1-2/+2
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (46 commits) UIO: Fix mapping of logical and virtual memory UIO: add automata sercos3 pci card support UIO: Change driver name of uio_pdrv UIO: Add alignment warnings for uio-mem Driver core: add bus_sort_breadthfirst() function NET: convert the phy_device file to use bus_find_device_by_name kobject: Cleanup kobject_rename and !CONFIG_SYSFS kobject: Fix kobject_rename and !CONFIG_SYSFS sysfs: Make dir and name args to sysfs_notify() const platform: add new device registration helper sysfs: use ilookup5() instead of ilookup5_nowait() PNP: create device attributes via default device attributes Driver core: make bus_find_device_by_name() more robust usb: turn dev_warn+WARN_ON combos into dev_WARN debug: use dev_WARN() rather than WARN_ON() in device_pm_add() debug: Introduce a dev_WARN() function sysfs: fix deadlock device model: Do a quickcheck for driver binding before doing an expensive check Driver core: Fix cleanup in device_create_vargs(). Driver core: Clarify device cleanup. ...
2008-10-16olpc: olpc_battery.c sparse endian annotationsHarvey Harrison1-12/+8
Signed-off-by: Harvey Harrison <[email protected]> Acked-by: Andres Salomon <[email protected]> Cc: David Woodhouse <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-10-16device create: misc: convert device_create_drvdata to device_createGreg Kroah-Hartman1-2/+2
Now that device_create() has been audited, rename things back to the original call to be sane. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2008-10-12Fix Kconfig dependency for WM97xx battery driverLinus Torvalds1-1/+1
It needs the WM97xx touchscreen driver to be compiled in, not as a module. And it cannot itself be a module, due to some unfortunate interactions with platform data. Reported-by: Herbert Xu <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-10-02[ARM] 5248/1: wm97xx generic battery driverMarek Vašut4-203/+277
This patch adds generic battery driver for wm97xx chips. Signed-off-by: Marek Vasut <[email protected]> Acked-by: Anton Vorontsov <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Russell King <[email protected]>
2008-09-26bq27x00_battery: use unaligned access helperHarvey Harrison1-3/+2
Remove hand-rolled get_unaligned_be16, this points to a possible bug as bq27x00_read does another endian byteswap which sparse notices: drivers/power/bq27x00_battery.c:81:14: warning: cast to restricted __be16 Which should probably be checked. Signed-off-by: Harvey Harrison <[email protected]> Cc: Rodolfo Giometti <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2008-09-26power_supply: fix dependency of tosa_batteryDmitry Baryshkov1-1/+1
tosa_battery should also depend on wm97xx_ts as it uses dac-accessing functions from that module. Signed-off-by: Dmitry Baryshkov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2008-09-01power_supply: Support for Texas Instruments BQ27200 battery managersRodolfo Giometti3-0/+389
These battery managers came in two different packages: one for I2C busses (BQ27200) and one for HDQ busses (BQ27000). This driver currently supports only the I2C chip version but the code is designed in order to easily allow the HDQ chip version integration. [[email protected]: coding-style fixes] [[email protected]: make things static, use kasprintf()] Signed-off-by: Rodolfo Giometti <[email protected]> Cc: David Woodhouse <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2008-09-01power_supply: Add function to return system-wide power stateMatthew Garrett1-0/+25
Certain drivers benefit from knowing whether the system is on ac or battery, for instance when determining which backlight registers to read. This adds a simple call to determine whether there's an online power supply other than any batteries. Signed-off-by: Matthew Garrett <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2008-09-01pda_power: Check and handle return value of set_irq_wakeRobert Jarzmik1-4/+7
The recent change in commit 2db873211ba47ef704c301f9ecf4a33413a0b649 forces the calls enable_irq_wake() and disable_irq_wake() to be balanced. But if in pda_power_suspend() the call to enable_irq_wake() fails (because attached gpio cannot wake up the CPU), the corresponding disable_irq_wake will WARN(). Fix it by storing success/failure of enable_irq_wake(). Signed-off-by: Robert Jarzmik <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2008-08-07[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/machRussell King2-2/+2
This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <[email protected]>
2008-07-30Merge branch 'master' of /home/cbou/linux-2.6Anton Vorontsov8-8/+215
Conflicts: drivers/power/Kconfig drivers/power/Makefile
2008-07-25drivers/power: fix platform driver hotplug/coldplugKay Sievers2-0/+4
Since 43cc71eed1250755986da4c0f9898f9a635cb3bf ("platform: prefix MODALIAS with "platform:"), the platform modalias is prefixed with "platform:". Add MODULE_ALIAS() to the hotpluggable "power" drivers drivers, to re-enable auto loading. [[email protected]: one was missing] Signed-off-by: Kay Sievers <[email protected]> Signed-off-by: David Brownell <[email protected]> Cc: Greg KH <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-07-23Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds3-0/+205
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (85 commits) [ARM] pxa: add base support for PXA930 Handheld Platform (aka SAAR) [ARM] pxa: add base support for PXA930 Evaluation Board (aka TavorEVB) [ARM] pxa: add base support for PXA930 (aka Tavor-P) [ARM] Update mach-types [ARM] pxa: make littleton to use the new smc91x platform data [ARM] pxa: make zylonite to use the new smc91x platform data [ARM] pxa: make mainstone to use the new smc91x platform data [ARM] pxa: make lubbock to use new smc91x platform data [NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data [NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable [NET] smc91x: add SMC91X_NOWAIT flag to platform data [NET] smc91x: favor the use of SMC91X_USE_* instead of SMC_CAN_USE_* [NET] smc91x: remove "irq_flags" from "struct smc91x_platdata" [ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper Support for LCD on e740 e750 e400 and e800 e-series PDAs E-series UDC support PXA UDC - allow use of inverted GPIO for pullup Add e350 support Fix broken e-series build E-series GPIO / IRQ definitions. ...
2008-07-21Driver Core: add ability for class_for_each_device to start in middle of listGreg Kroah-Hartman2-3/+3
This mirrors the functionality that driver_for_each_device has as well. We add a start variable, and all callers of the function are fixed up at the same time. The block layer will be using this new functionality in a follow-on patch. Cc: Kay Sievers <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2008-07-10[ARM] 5155/1: PalmTX battery monitorMarek Vašut3-0/+205
This patch adds battery monitoring driver for PalmTX. It can read voltage from the battery and temperature. It also monitors charging/discharging status. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Russell King <[email protected]>
2008-07-01power_supply: Sharp SL-6000 (tosa) batteries supportDmitry Baryshkov3-0/+494
This patch adds common battery interface support for Sharp SL-6000 (tosa). Signed-off-by: Dmitry Baryshkov <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2008-06-10power_supply: Fix race in power_supply_ueventDmitry Baryshkov1-1/+1
Commit 54d29ad33e3483bcc7ca433a21cf294854e5154a (Power Supply: fix race in device_create) introduced a race in power_supply_uevent. Previously it checked that power_supply is available by checking for dev->driver_data. But now dev->driver_data is set before power_supply->dev is initialised. Signed-off-by: Dmitry Baryshkov <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2008-05-20Power Supply: fix race in device_createGreg Kroah-Hartman1-4/+2
There is a race from when a device is created with device_create() and then the drvdata is set with a call to dev_set_drvdata() in which a sysfs file could be open, yet the drvdata will be NULL, causing all sorts of bad things to happen. This patch fixes the problem by using the new function, device_create_drvdata(). Cc: Kay Sievers <[email protected]> Cc: Anton Vorontsov <[email protected]> Cc: David Woodhouse <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2008-05-19power_supply: fix up CHARGE_COUNTER output to be more preciseAndres Salomon1-2/+2
As Richard Smith pointed out, ACR * 6250 / 15 provides for less precision loss than ACR * 4167 / 10, _and_ it doesn't overflow. Switch to using that equation for CHARGE_COUNTER. Signed-off-by: Andres Salomon <[email protected]> Cc: "Richard A. Smith" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>