Commit 7563f7e0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull power supply and reset updates from Sebastian Reichel:
 "power-supply core:
   - sysfs: constify pointer passed to dev_attr_psp
   - extend DT binding documentation for battery cells to allow
     describing voltage drop behaviour

  power-supply drivers:
   - multiple: Remove unused gpio include header
   - multiple: Fix potential IRQ use-after-free on driver unload
   - bd71828: Add support for ROHM BD72720
   - misc small fixes

  reset drivers:
   - tdx-ec-poweroff: fix restart"

* tag 'for-v7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (30 commits)
  power: supply: bd71828: Use dev_err_probe()
  dt-bindings: power: supply: google,goldfish-battery: Convert to DT schema
  power: supply: qcom_battmgr: Recognize "LiP" as lithium-polymer
  power: supply: wm97xx: Use devm_power_supply_register()
  power: supply: wm97xx: Use devm_kcalloc()
  power: supply: pm8916_lbc: Fix use-after-free for extcon in IRQ handler
  power: reset: tdx-ec-poweroff: fix restart
  docs: power: update documentation about removed function
  power: supply: wm97xx: Fix NULL pointer dereference in power_supply_changed()
  MAINTAINERS: adjust file entry in ROHM BD71828 CHARGER
  power: supply: ab8500_chargalg: improve kernel-doc
  power: supply: sysfs: Constify pointer passed to dev_attr_psp()
  power: supply: bq27xxx: fix wrong errno when bus ops are unsupported
  power: reset: nvmem-reboot-mode: respect cell size for nvmem_cell_write
  power: supply: sbs-battery: Fix use-after-free in power_supply_changed()
  power: supply: rt9455: Fix use-after-free in power_supply_changed()
  power: supply: pm8916_lbc: Fix use-after-free in power_supply_changed()
  power: supply: pm8916_bms_vm: Fix use-after-free in power_supply_changed()
  power: supply: pf1550: Fix use-after-free in power_supply_changed()
  power: supply: goldfish: Fix use-after-free in power_supply_changed()
  ...
parents 7449f86b 12bdf471
Loading
Loading
Loading
Loading
+0 −17
Original line number Diff line number Diff line
Android Goldfish Battery

Android goldfish battery device generated by android emulator.

Required properties:

- compatible : should contain "google,goldfish-battery" to match emulator
- reg        : <registers mapping>
- interrupts : <interrupt mapping>

Example:

	goldfish_battery@9020000 {
		compatible = "google,goldfish-battery";
		reg = <0x9020000 0x1000>;
		interrupts = <0x3>;
	};
+41 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/power/supply/google,goldfish-battery.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Android Goldfish Battery

maintainers:
  - Kuan-Wei Chiu <visitorckw@gmail.com>

allOf:
  - $ref: power-supply.yaml#

description:
  Android goldfish battery device generated by Android emulator.

properties:
  compatible:
    const: google,goldfish-battery

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

unevaluatedProperties: false

examples:
  - |
    battery@9020000 {
        compatible = "google,goldfish-battery";
        reg = <0x9020000 0x1000>;
        interrupts = <3>;
    };
+1 −11
Original line number Diff line number Diff line
@@ -183,17 +183,7 @@ struct charger_desc elements:
	the value of measure_battery_temp.


5. Notify Charger-Manager of charger events: cm_notify_event()
==============================================================
If there is an charger event is required to notify
Charger Manager, a charger device driver that triggers the event can call
cm_notify_event(psy, type, msg) to notify the corresponding Charger Manager.
In the function, psy is the charger driver's power_supply pointer, which is
associated with Charger-Manager. The parameter "type"
is the same as irq's type (enum cm_event_types). The event message "msg" is
optional and is effective only if the event type is "UNDESCRIBED" or "OTHERS".

6. Other Considerations
5. Other Considerations
=======================

At the charger/battery-related events such as battery-pulled-out,
+1 −1
Original line number Diff line number Diff line
@@ -22899,7 +22899,7 @@ ROHM BD71828 CHARGER
M:	Andreas Kemnade <andreas@kemnade.info>
M:	Matti Vaittinen <mazziesaccount@gmail.com>
S:	Maintained
F:	drivers/power/supply/bd71828-charger.c
F:	drivers/power/supply/bd71828-power.c
ROHM BD79703 DAC
M:	Matti Vaittinen <mazziesaccount@gmail.com>
+13 −2
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#include <linux/nvmem-consumer.h>
#include <linux/platform_device.h>
#include <linux/reboot-mode.h>
#include <linux/slab.h>

struct nvmem_reboot_mode {
	struct reboot_mode_driver reboot;
@@ -19,12 +20,22 @@ struct nvmem_reboot_mode {
static int nvmem_reboot_mode_write(struct reboot_mode_driver *reboot,
				    unsigned int magic)
{
	int ret;
	struct nvmem_reboot_mode *nvmem_rbm;
	size_t buf_len;
	void *buf;
	int ret;

	nvmem_rbm = container_of(reboot, struct nvmem_reboot_mode, reboot);

	ret = nvmem_cell_write(nvmem_rbm->cell, &magic, sizeof(magic));
	buf = nvmem_cell_read(nvmem_rbm->cell, &buf_len);
	if (IS_ERR(buf))
		return PTR_ERR(buf);
	kfree(buf);

	if (buf_len > sizeof(magic))
		return -EINVAL;

	ret = nvmem_cell_write(nvmem_rbm->cell, &magic, buf_len);
	if (ret < 0)
		dev_err(reboot->dev, "update reboot mode bits failed\n");

Loading