Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0a33d88d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'for-v3.14-fixes' of git://git.infradead.org/battery-2.6

Pull battery fixes from Dmitry Eremin-Solenikov:

 - Fix NULL pointer dereference in max17040 driver

 - Add bq2415x dts bindings documentation

 - Fix misleading comment in ds2782 driver

 - Remove useless check in isp1704 charger driver.

* tag 'for-v3.14-fixes' of git://git.infradead.org/battery-2.6:
  power: max17040: Fix NULL pointer dereference when there is no platform_data
  dt: binding documentation for bq2415x charger
  isp1704_charger: remove useless check in isp1704_charger_probe()
  power: ds2782_battery: Typo in comment
parents 4675348e ac323d8d
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
Binding for TI bq2415x Li-Ion Charger

Required properties:
- compatible: Should contain one of the following:
 * "ti,bq24150"
 * "ti,bq24150"
 * "ti,bq24150a"
 * "ti,bq24151"
 * "ti,bq24151a"
 * "ti,bq24152"
 * "ti,bq24153"
 * "ti,bq24153a"
 * "ti,bq24155"
 * "ti,bq24156"
 * "ti,bq24156a"
 * "ti,bq24158"
- reg:			   integer, i2c address of the device.
- ti,current-limit:	   integer, initial maximum current charger can pull
			   from power supply in mA.
- ti,weak-battery-voltage: integer, weak battery voltage threshold in mV.
			   The chip will use slow precharge if battery voltage
			   is below this value.
- ti,battery-regulation-voltage: integer, maximum charging voltage in mV.
- ti,charge-current:	   integer, maximum charging current in mA.
- ti,termination-current:  integer, charge will be terminated when current in
			   constant-voltage phase drops below this value (in mA).
- ti,resistor-sense:	   integer, value of sensing resistor in milliohm.

Optional properties:
- ti,usb-charger-detection: phandle to usb charger detection device.
			    (required for auto mode)

Example from Nokia N900:

bq24150a {
	compatible = "ti,bq24150a";
	reg = <0x6b>;

	ti,current-limit = <100>;
	ti,weak-battery-voltage = <3400>;
	ti,battery-regulation-voltage = <4200>;
	ti,charge-current = <650>;
	ti,termination-current = <100>;
	ti,resistor-sense = <68>;

	ti,usb-charger-detection = <&isp1704>;
};
+1 −1
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ static int ds2786_get_voltage(struct ds278x_info *info, int *voltage_uV)

	/*
	 * Voltage is measured in units of 1.22mV. The voltage is stored as
	 * a 10-bit number plus sign, in the upper bits of a 16-bit register
	 * a 12-bit number plus sign, in the upper bits of a 16-bit register
	 */
	err = ds278x_read_reg16(info, DS278x_REG_VOLT_MSB, &raw);
	if (err)
+0 −2
Original line number Diff line number Diff line
@@ -444,8 +444,6 @@ static int isp1704_charger_probe(struct platform_device *pdev)
		ret = PTR_ERR(isp->phy);
		goto fail0;
	}
	if (!isp->phy)
		goto fail0;

	isp->dev = &pdev->dev;
	platform_set_drvdata(pdev, isp);
+3 −2
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ static void max17040_get_online(struct i2c_client *client)
{
	struct max17040_chip *chip = i2c_get_clientdata(client);

	if (chip->pdata->battery_online)
	if (chip->pdata && chip->pdata->battery_online)
		chip->online = chip->pdata->battery_online();
	else
		chip->online = 1;
@@ -158,7 +158,8 @@ static void max17040_get_status(struct i2c_client *client)
{
	struct max17040_chip *chip = i2c_get_clientdata(client);

	if (!chip->pdata->charger_online || !chip->pdata->charger_enable) {
	if (!chip->pdata || !chip->pdata->charger_online
			|| !chip->pdata->charger_enable) {
		chip->status = POWER_SUPPLY_STATUS_UNKNOWN;
		return;
	}