linux/drivers/power
Anda-Maria Nicolae f5bbc91c88 power_supply: rt9455_charger: Properly notify userspace about charging events
Charging events this patch refers to are:
- charger is connected to/disconnected from the power source
- battery is reconnected to the charger, after it was absent.

When the charger is connected to/disconnected from the power source, CHRVPI
interrupt occurs and PWR_RDY bit is either set or cleared. PWR_RDY bit is
updated after 1-2 seconds CHRVPI interrupt has occurred.
power_supply_changed() should be called after PWR_RDY bit is updated.
/sys/class/power_supply/rt9455-charger/online file displays the value of
PWR_RDY bit.
This way, if the userspace is notified that a charging event has occurred
and the userspace reads /sys/class/power_supply/rt9455-charger/online file,
this file is properly updated when the userspace reads it.
This is the reason why power_supply_changed() is called in
rt9455_pwr_rdy_work_callback(), instead of being called in interrupt
handler.

Since no interrupt is triggered when the battery is reconnected to the
charger, the userspace is never notified that the battery is reconnected.
This is why power_supply_changed() is called in
rt9455_max_charging_time_work_callback(), so that the userspace is notified
that the battery is reconnected.

Signed-off-by: Anda-Maria Nicolae <anda-maria.nicolae@intel.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
2015-07-09 04:04:56 +02:00
..
avs PM / AVS: rockchip-io: add driver handling Rockchip io domains 2014-09-25 09:57:23 -07:00
reset Replace module_platform_driver with builtin_platform driver in non modules. 2015-07-02 10:42:13 -07:00
88pm860x_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
88pm860x_charger.c power_supply: 88pm860x_charger: Do not call free_irq() twice 2015-05-29 16:06:10 +02:00
ab8500_bmdata.c ab8500_bmdata: Export abx500_res_to_temp tables for hwmon 2013-04-16 17:38:10 -07:00
ab8500_btemp.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ab8500_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ab8500_fg.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
abx500_chargalg.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
apm_power.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
axp288_charger.c power: axp288_charger: fix for API change 2015-06-26 17:44:09 -07:00
axp288_fuel_gauge.c power: axp288_fuel_gauge: Constify platform_device_id 2015-05-23 19:44:14 +02:00
bq27x00_battery.c power: bq27x00_battery: Add missing MODULE_ALIAS 2015-05-01 23:01:48 +02:00
bq2415x_charger.c power_supply: bq2415x_charger: Add ACPI support 2015-05-23 20:03:00 +02:00
bq24190_charger.c power: bq24190_charger: Change first_time flag reset condition 2015-05-29 04:26:50 +02:00
bq24257_charger.c power_supply: bq24257: use flags argument of devm_gpiod_get 2015-06-13 04:06:38 +02:00
bq24735-charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
bq25890_charger.c power_supply: bq25890: use flags argument of devm_gpiod_get 2015-06-13 04:06:33 +02:00
charger-manager.c power_supply: charger-manager: Add parent for power supply 2015-05-23 20:06:19 +02:00
collie_battery.c power_supply: fix oops in collie_battery driver 2015-04-30 17:39:40 +02:00
da9030_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
da9052-battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
da9150-charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ds2760_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ds2780_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ds2781_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ds2782_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
generic-adc-battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
goldfish_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
gpio-charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
intel_mid_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ipaq_micro_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
isp1704_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
jz4740-battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
Kconfig power_supply: Add support for Richtek RT9455 battery charger 2015-05-30 03:34:55 +02:00
lp8727_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
lp8788-charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
ltc2941-battery-gauge.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
Makefile power_supply: Add support for Richtek RT9455 battery charger 2015-05-30 03:34:55 +02:00
max8903_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
max8925_power.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
max8997_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
max8998_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
max14577_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
max17040_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
max17042_battery.c power_supply: max17042: Add OF support for setting thresholds 2015-06-10 16:14:03 +02:00
max77693_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
olpc_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
pcf50633-charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
pda_power.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
pm2301_charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
pm2301_charger.h power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
pmu_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
power_supply_core.c power_supply: Correct kerneldoc copy paste errors 2015-06-19 14:21:01 +02:00
power_supply_leds.c power_supply: Use wrappers to avoid races when registering power supply 2015-05-23 20:06:19 +02:00
power_supply_sysfs.c power_supply: sysfs: Bring back write to writeable properties 2015-06-10 16:10:59 +02:00
power_supply.h device.h: cleanup users outside of linux/include (C files) 2012-03-11 14:27:37 -04:00
rt5033_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
rt9455_charger.c power_supply: rt9455_charger: Properly notify userspace about charging events 2015-07-09 04:04:56 +02:00
rx51_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
s3c_adc_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
sbs-battery.c sbs-battery: add option to always register battery 2015-06-10 16:18:46 +02:00
smb347-charger.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
test_power.c kernel/params: constify struct kernel_param_ops uses 2015-05-28 11:32:10 +09:30
tosa_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
tps65090-charger.c power: constify of_device_id array 2015-03-20 13:23:06 +01:00
twl4030_charger.c power: twl4030_charger: find associated phy by more reliable means. 2015-05-26 10:44:06 -05:00
twl4030_madc_battery.c power: twl4030_madc_battery: Add missing MODULE_ALIAS 2015-04-06 19:39:57 +02:00
wm97xx_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
wm831x_backup.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
wm831x_power.c wm831x_power: Fix off-by-one at free_irq() 2015-06-15 12:30:32 +02:00
wm8350_power.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00
z2_battery.c power_supply: Change ownership from driver to core 2015-03-13 23:15:51 +01:00