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

Commit 8eabe121 authored by Ram Chandrasekar's avatar Ram Chandrasekar Committed by Manaf Meethalavalappu Pallikunhi
Browse files

power_supply: Use of-thermal cdev registration API



With thermal frameworks of-thermal interface, thermal zone parameters can
be defined in devicetree. This includes cooling device mitigation levels
for a thermal zone. To take advantage of this, cooling device should use
the thermal_of_cooling_device_register API to register a cooling device.

Use thermal_of_cooling_device_register API to register the power supply
cooling device. This enables power supply cooling device be included in the
thermal zone parameter in devicetree.

Change-Id: I27d6043cf1d3121d97f8300bb89635204ae32955
Signed-off-by: default avatarRam Chandrasekar <rkumbako@codeaurora.org>
parent 8a12149c
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -799,7 +799,7 @@ static const struct thermal_cooling_device_ops psy_tcd_ops = {
	.set_cur_state = ps_set_cur_charge_cntl_limit,
};

static int psy_register_cooler(struct power_supply *psy)
static int psy_register_cooler(struct device *dev, struct power_supply *psy)
{
	int i;

@@ -807,6 +807,12 @@ static int psy_register_cooler(struct power_supply *psy)
	for (i = 0; i < psy->desc->num_properties; i++) {
		if (psy->desc->properties[i] ==
				POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT) {
			if (dev)
				psy->tcd = thermal_of_cooling_device_register(
							dev_of_node(dev),
							(char *)psy->desc->name,
							psy, &psy_tcd_ops);
			else
				psy->tcd = thermal_cooling_device_register(
							(char *)psy->desc->name,
							psy, &psy_tcd_ops);
@@ -832,7 +838,7 @@ static void psy_unregister_thermal(struct power_supply *psy)
{
}

static int psy_register_cooler(struct power_supply *psy)
static int psy_register_cooler(struct device *dev, struct power_supply *psy)
{
	return 0;
}
@@ -914,7 +920,7 @@ __power_supply_register(struct device *parent,
	if (rc)
		goto register_thermal_failed;

	rc = psy_register_cooler(psy);
	rc = psy_register_cooler(parent, psy);
	if (rc)
		goto register_cooler_failed;