diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-21 14:36:20 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-01-21 14:36:20 -0500 |
| commit | 03d11a0e458d7008192585124e4c3313c2829046 (patch) | |
| tree | 8e9f5141e53d2d4bf435fbd56f8ae96790304b7f | |
| parent | ac26663572db5b64522b92f3941a58678a832a36 (diff) | |
| parent | 573189354b7c97cd2256b87cf083ee435584594e (diff) | |
Merge tag 'for-v3.14' of git://git.infradead.org/battery-2.6
Pull battery updates from Dmitry Eremin-Solenikov:
"I'm picking up power supply maintainership from Anton Vorontov. Could
you please pull battery-2.6 git tree changes prepared for the v3.14
release.
Highlights:
- Power supply notifier
- Several drivers gained DT support
- Added Maxim 14577 driver
- Change of maintainer"
* tag 'for-v3.14' of git://git.infradead.org/battery-2.6:
MAINTAINERS: Pick up power supply maintainership
max17042_battery: Add IRQF_ONESHOT flag to use default irq handler
gpio-charger: Support wakeup events
power_supply: Add charger support for Maxim 14577
dt: Binding documentation for isp1704 charger
isp1704_charger: Add DT support
charger-manager: of_cm_parse_desc() should be static
bq2415x_charger: Add DT support
power_supply: Add power_supply_get_by_phandle
bq2415x_charger: Use power_supply notifier for automode
power: reset: Add as3722 power-off driver
mfd: AS3722: Add dt node properties for system power controller
charger-manager: Support deivce tree in charger manager driver
charger-manager: Modify the way of checking battery's temperature
power_supply: Add power_supply notifier
| -rw-r--r-- | Documentation/devicetree/bindings/mfd/as3722.txt | 11 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/power/isp1704.txt | 17 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/power_supply/charger-manager.txt | 81 | ||||
| -rw-r--r-- | MAINTAINERS | 2 | ||||
| -rw-r--r-- | drivers/power/Kconfig | 7 | ||||
| -rw-r--r-- | drivers/power/Makefile | 1 | ||||
| -rw-r--r-- | drivers/power/bq2415x_charger.c | 121 | ||||
| -rw-r--r-- | drivers/power/charger-manager.c | 299 | ||||
| -rw-r--r-- | drivers/power/gpio-charger.c | 19 | ||||
| -rw-r--r-- | drivers/power/isp1704_charger.c | 54 | ||||
| -rw-r--r-- | drivers/power/max14577_charger.c | 311 | ||||
| -rw-r--r-- | drivers/power/max17042_battery.c | 6 | ||||
| -rw-r--r-- | drivers/power/power_supply_core.c | 44 | ||||
| -rw-r--r-- | drivers/power/reset/Kconfig | 6 | ||||
| -rw-r--r-- | drivers/power/reset/Makefile | 1 | ||||
| -rw-r--r-- | drivers/power/reset/as3722-poweroff.c | 96 | ||||
| -rw-r--r-- | include/linux/power/bq2415x_charger.h | 48 | ||||
| -rw-r--r-- | include/linux/power/charger-manager.h | 34 | ||||
| -rw-r--r-- | include/linux/power/isp1704_charger.h | 1 | ||||
| -rw-r--r-- | include/linux/power_supply.h | 16 |
20 files changed, 1043 insertions, 132 deletions
diff --git a/Documentation/devicetree/bindings/mfd/as3722.txt b/Documentation/devicetree/bindings/mfd/as3722.txt index fc2191ecfd6b..8edcb9bd873b 100644 --- a/Documentation/devicetree/bindings/mfd/as3722.txt +++ b/Documentation/devicetree/bindings/mfd/as3722.txt | |||
| @@ -112,6 +112,15 @@ Following are properties of regulator subnode. | |||
| 112 | ams,enable-tracking: Enable tracking with SD1, only supported | 112 | ams,enable-tracking: Enable tracking with SD1, only supported |
| 113 | by LDO3. | 113 | by LDO3. |
| 114 | 114 | ||
| 115 | Power-off: | ||
| 116 | ========= | ||
| 117 | AS3722 supports the system power off by turning off all its rail. This | ||
| 118 | is provided through pm_power_off. | ||
| 119 | The device node should have the following properties to enable this | ||
| 120 | functionality | ||
| 121 | ams,system-power-controller: Boolean, to enable the power off functionality | ||
| 122 | through this device. | ||
| 123 | |||
| 115 | Example: | 124 | Example: |
| 116 | -------- | 125 | -------- |
| 117 | #include <dt-bindings/mfd/as3722.h> | 126 | #include <dt-bindings/mfd/as3722.h> |
| @@ -120,6 +129,8 @@ ams3722 { | |||
| 120 | compatible = "ams,as3722"; | 129 | compatible = "ams,as3722"; |
| 121 | reg = <0x48>; | 130 | reg = <0x48>; |
| 122 | 131 | ||
| 132 | ams,system-power-controller; | ||
| 133 | |||
| 123 | interrupt-parent = <&intc>; | 134 | interrupt-parent = <&intc>; |
| 124 | interrupt-controller; | 135 | interrupt-controller; |
| 125 | #interrupt-cells = <2>; | 136 | #interrupt-cells = <2>; |
diff --git a/Documentation/devicetree/bindings/power/isp1704.txt b/Documentation/devicetree/bindings/power/isp1704.txt new file mode 100644 index 000000000000..fa3596907967 --- /dev/null +++ b/Documentation/devicetree/bindings/power/isp1704.txt | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | Binding for NXP ISP1704 USB Charger Detection | ||
| 2 | |||
| 3 | Required properties: | ||
| 4 | - compatible: Should contain one of the following: | ||
| 5 | * "nxp,isp1704" | ||
| 6 | - nxp,enable-gpio: Should contain a phandle + gpio-specifier | ||
| 7 | to the GPIO pin connected to the chip's enable pin. | ||
| 8 | - usb-phy: Should contain a phandle to the USB PHY | ||
| 9 | the ISP1704 is connected to. | ||
| 10 | |||
| 11 | Example: | ||
| 12 | |||
| 13 | isp1704 { | ||
| 14 | compatible = "nxp,isp1704"; | ||
| 15 | nxp,enable-gpio = <&gpio3 3 GPIO_ACTIVE_LOW>; | ||
| 16 | usb-phy = <&usb2_phy>; | ||
| 17 | }; | ||
diff --git a/Documentation/devicetree/bindings/power_supply/charger-manager.txt b/Documentation/devicetree/bindings/power_supply/charger-manager.txt new file mode 100644 index 000000000000..2b33750e3db2 --- /dev/null +++ b/Documentation/devicetree/bindings/power_supply/charger-manager.txt | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | charger-manager bindings | ||
| 2 | ~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 3 | |||
| 4 | Required properties : | ||
| 5 | - compatible : "charger-manager" | ||
| 6 | - <>-supply : for regulator consumer | ||
| 7 | - cm-num-chargers : number of chargers | ||
| 8 | - cm-chargers : name of chargers | ||
| 9 | - cm-fuel-gauge : name of battery fuel gauge | ||
| 10 | - subnode <regulator> : | ||
| 11 | - cm-regulator-name : name of charger regulator | ||
| 12 | - subnode <cable> : | ||
| 13 | - cm-cable-name : name of charger cable | ||
| 14 | - cm-cable-extcon : name of extcon dev | ||
| 15 | (optional) - cm-cable-min : minimum current of cable | ||
| 16 | (optional) - cm-cable-max : maximum current of cable | ||
| 17 | |||
| 18 | Optional properties : | ||
| 19 | - cm-name : charger manager's name (default : "battery") | ||
| 20 | - cm-poll-mode : polling mode (enum polling_modes) | ||
| 21 | - cm-poll-interval : polling interval | ||
| 22 | - cm-battery-stat : battery status (enum data_source) | ||
| 23 | - cm-fullbatt-* : data for full battery checking | ||
| 24 | - cm-thermal-zone : name of external thermometer's thermal zone | ||
| 25 | - cm-battery-* : threshold battery temperature for charging | ||
| 26 | -cold : critical cold temperature of battery for charging | ||
| 27 | -cold-in-minus : flag that cold temerature is in minus degree | ||
| 28 | -hot : critical hot temperature of battery for charging | ||
| 29 | -temp-diff : temperature difference to allow recharging | ||
| 30 | - cm-dis/charging-max = limits of charging duration | ||
| 31 | |||
| 32 | Example : | ||
| 33 | charger-manager@0 { | ||
| 34 | compatible = "charger-manager"; | ||
| 35 | chg-reg-supply = <&charger_regulator>; | ||
| 36 | |||
| 37 | cm-name = "battery"; | ||
| 38 | /* Always polling ON : 30s */ | ||
| 39 | cm-poll-mode = <1>; | ||
| 40 | cm-poll-interval = <30000>; | ||
| 41 | |||
| 42 | cm-fullbatt-vchkdrop-ms = <30000>; | ||
| 43 | cm-fullbatt-vchkdrop-volt = <150000>; | ||
| 44 | cm-fullbatt-soc = <100>; | ||
| 45 | |||
| 46 | cm-battery-stat = <3>; | ||
| 47 | |||
| 48 | cm-num-chargers = <3>; | ||
| 49 | cm-chargers = "charger0", "charger1", "charger2"; | ||
| 50 | |||
| 51 | cm-fuel-gauge = "fuelgauge0"; | ||
| 52 | |||
| 53 | cm-thermal-zone = "thermal_zone.1" | ||
| 54 | /* in deci centigrade */ | ||
| 55 | cm-battery-cold = <50>; | ||
| 56 | cm-battery-cold-in-minus; | ||
| 57 | cm-battery-hot = <800>; | ||
| 58 | cm-battery-temp-diff = <100>; | ||
| 59 | |||
| 60 | /* Allow charging for 5hr */ | ||
| 61 | cm-charging-max = <18000000>; | ||
| 62 | /* Allow discharging for 2hr */ | ||
| 63 | cm-discharging-max = <7200000>; | ||
| 64 | |||
| 65 | regulator@0 { | ||
| 66 | cm-regulator-name = "chg-reg"; | ||
| 67 | cable@0 { | ||
| 68 | cm-cable-name = "USB"; | ||
| 69 | cm-cable-extcon = "extcon-dev.0"; | ||
| 70 | cm-cable-min = <475000>; | ||
| 71 | cm-cable-max = <500000>; | ||
| 72 | }; | ||
| 73 | cable@1 { | ||
| 74 | cm-cable-name = "TA"; | ||
| 75 | cm-cable-extcon = "extcon-dev.0"; | ||
| 76 | cm-cable-min = <650000>; | ||
| 77 | cm-cable-max = <675000>; | ||
| 78 | }; | ||
| 79 | }; | ||
| 80 | |||
| 81 | }; | ||
diff --git a/MAINTAINERS b/MAINTAINERS index 5c214024f60a..1088b70fbad7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -6712,7 +6712,7 @@ F: include/linux/timer* | |||
| 6712 | F: kernel/*timer* | 6712 | F: kernel/*timer* |
| 6713 | 6713 | ||
| 6714 | POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS | 6714 | POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS |
| 6715 | M: Anton Vorontsov <anton@enomsg.org> | 6715 | M: Dmitry Eremin-Solenikov <dbaryshkov@gmail |
