| Age | Commit message (Collapse) | Author | Files | Lines |
|
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]>
|
|
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]>
|
|
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]>
|
|
This patch adds a driver for ds2782 battery devices.
Signed-off-by: Ryan Mallon <[email protected]>
Signed-off-by: Anton Vorontsov <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
* 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
|
|
Conflicts:
arch/x86/kernel/cpu/cpufreq/longhaul.c
Signed-off-by: Len Brown <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
CC: Anton Vorontsov <[email protected]>
Signed-off-by: Kay Sievers <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
* 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
|
|
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]>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
drivers/power/Makefile
|
|
* 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.
...
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
This just leaves include/asm-arm/plat-* to deal with.
Signed-off-by: Russell King <[email protected]>
|
|
Conflicts:
drivers/power/Kconfig
drivers/power/Makefile
|
|
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]>
|
|
* '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.
...
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|