mirror of https://github.com/torvalds/linux.git
power: supply: hwmon: prepare for power supply extensions
The upcoming extension API will add properties which are not part of the the power_supply_desc. Use power_supply_has_property() so the properties from extensions are also checked. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com> Reviewed-by: Armin Wolf <W_Armin@gmx.de> Link: https://lore.kernel.org/r/20241111-power-supply-extensions-v4-4-7240144daa8e@weissschuh.net Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
parent
aa40f37d63
commit
39bb32f06c
|
|
@ -349,9 +349,28 @@ static const struct hwmon_chip_info power_supply_hwmon_chip_info = {
|
||||||
.info = power_supply_hwmon_info,
|
.info = power_supply_hwmon_info,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const enum power_supply_property power_supply_hwmon_props[] = {
|
||||||
|
POWER_SUPPLY_PROP_CURRENT_AVG,
|
||||||
|
POWER_SUPPLY_PROP_CURRENT_MAX,
|
||||||
|
POWER_SUPPLY_PROP_CURRENT_NOW,
|
||||||
|
POWER_SUPPLY_PROP_POWER_AVG,
|
||||||
|
POWER_SUPPLY_PROP_POWER_NOW,
|
||||||
|
POWER_SUPPLY_PROP_TEMP,
|
||||||
|
POWER_SUPPLY_PROP_TEMP_MAX,
|
||||||
|
POWER_SUPPLY_PROP_TEMP_MIN,
|
||||||
|
POWER_SUPPLY_PROP_TEMP_ALERT_MIN,
|
||||||
|
POWER_SUPPLY_PROP_TEMP_ALERT_MAX,
|
||||||
|
POWER_SUPPLY_PROP_TEMP_AMBIENT,
|
||||||
|
POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN,
|
||||||
|
POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX,
|
||||||
|
POWER_SUPPLY_PROP_VOLTAGE_AVG,
|
||||||
|
POWER_SUPPLY_PROP_VOLTAGE_MIN,
|
||||||
|
POWER_SUPPLY_PROP_VOLTAGE_MAX,
|
||||||
|
POWER_SUPPLY_PROP_VOLTAGE_NOW,
|
||||||
|
};
|
||||||
|
|
||||||
int power_supply_add_hwmon_sysfs(struct power_supply *psy)
|
int power_supply_add_hwmon_sysfs(struct power_supply *psy)
|
||||||
{
|
{
|
||||||
const struct power_supply_desc *desc = psy->desc;
|
|
||||||
struct power_supply_hwmon *psyhw;
|
struct power_supply_hwmon *psyhw;
|
||||||
struct device *dev = &psy->dev;
|
struct device *dev = &psy->dev;
|
||||||
struct device *hwmon;
|
struct device *hwmon;
|
||||||
|
|
@ -377,32 +396,11 @@ int power_supply_add_hwmon_sysfs(struct power_supply *psy)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < desc->num_properties; i++) {
|
for (i = 0; i < ARRAY_SIZE(power_supply_hwmon_props); i++) {
|
||||||
const enum power_supply_property prop = desc->properties[i];
|
const enum power_supply_property prop = power_supply_hwmon_props[i];
|
||||||
|
|
||||||
switch (prop) {
|
if (power_supply_has_property(psy, prop))
|
||||||
case POWER_SUPPLY_PROP_CURRENT_AVG:
|
|
||||||
case POWER_SUPPLY_PROP_CURRENT_MAX:
|
|
||||||
case POWER_SUPPLY_PROP_CURRENT_NOW:
|
|
||||||
case POWER_SUPPLY_PROP_POWER_AVG:
|
|
||||||
case POWER_SUPPLY_PROP_POWER_NOW:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP_MAX:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP_MIN:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP_ALERT_MIN:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP_ALERT_MAX:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP_AMBIENT:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MIN:
|
|
||||||
case POWER_SUPPLY_PROP_TEMP_AMBIENT_ALERT_MAX:
|
|
||||||
case POWER_SUPPLY_PROP_VOLTAGE_AVG:
|
|
||||||
case POWER_SUPPLY_PROP_VOLTAGE_MIN:
|
|
||||||
case POWER_SUPPLY_PROP_VOLTAGE_MAX:
|
|
||||||
case POWER_SUPPLY_PROP_VOLTAGE_NOW:
|
|
||||||
set_bit(prop, psyhw->props);
|
set_bit(prop, psyhw->props);
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
name = psy->desc->name;
|
name = psy->desc->name;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue