Lines Matching +full:li +full:- +full:ion

1 // SPDX-License-Identifier: GPL-2.0-only
118 [POWER_SUPPLY_TECHNOLOGY_LION] = "Li-ion",
119 [POWER_SUPPLY_TECHNOLOGY_LIPO] = "Li-poly",
142 [POWER_SUPPLY_CHARGE_BEHAVIOUR_INHIBIT_CHARGE] = "inhibit-charge",
143 [POWER_SUPPLY_CHARGE_BEHAVIOUR_FORCE_DISCHARGE] = "force-discharge",
240 return to_ps_attr(attr) - power_supply_attrs;
267 return -EINVAL;
294 return -EINVAL;
298 buf[count - 1] = '\n';
310 scoped_guard(rwsem_read, &psy->extensions_sem) {
312 if (power_supply_ext_has_property(reg->ext,
315 reg->ext->charge_behaviours,
316 value->intval, buf);
320 return power_supply_charge_behaviour_show(dev, psy->desc->charge_behaviours,
321 value->intval, buf);
336 value.intval = psy->desc->type;
341 if (ret == -ENODATA)
344 attr->attr.name);
345 else if (ret != -ENODEV && ret != -EAGAIN && ret != -EINVAL)
348 attr->attr.name, ret);
358 psy->desc->usb_types, value.intval, buf);
368 ret = power_supply_charge_types_show(dev, psy->desc->charge_types,
376 if (ps_attr->text_values_len > 0 &&
377 value.intval < ps_attr->text_values_len && value.intval >= 0) {
378 ret = sysfs_emit(buf, "%s\n", ps_attr->text_values[value.intval]);
403 ret = -EINVAL;
404 if (ps_attr->text_values_len > 0) {
405 ret = power_supply_match_string(ps_attr->text_values,
406 ps_attr->text_values_len, buf);
446 guard(rwsem_read)(&psy->extensions_sem);
495 attr->attr.name = power_supply_attrs[i].attr_name;
496 attr->show = power_supply_show_property;
497 attr->store = power_supply_store_property;
498 __power_supply_attrs[i] = &attr->attr;
511 dev_attr = &pwr_attr->dev_attr;
514 if (ret == -ENODEV || ret == -ENODATA || ret == -EINVAL) {
516 * When a battery is absent, we expect -ENODEV. Don't abort;
530 pwr_attr->prop_name, prop_buf);
539 if (!psy || !psy->desc) {
544 ret = add_uevent_var(env, "POWER_SUPPLY_NAME=%s", psy->desc->name);
550 * resources have been freed. Exit early to avoid use-after-free.
552 if (psy->removing)
557 return -ENOMEM;
597 return -EINVAL;
625 return -EINVAL;
632 return sysfs_add_link_to_group(&psy->dev.kobj, power_supply_extension_group.name,
633 &dev->kobj, ext->name);
639 sysfs_remove_link_from_group(&psy->dev.kobj, power_supply_extension_group.name, ext->name);