Lines Matching +full:device +full:- +full:chemistry

1 /* SPDX-License-Identifier: GPL-2.0-only */
15 #include <linux/device.h>
230 /* Run-time specific power supply configuration */
238 /* Device specific sysfs attributes */
271 * of power supply. If this happens during device probe then it must
272 * not access internal data of device (because probe did not end).
325 struct device dev;
388 * struct power_supply_maintenance_charge_table - setting for maintenace charging
408 * below charge_term_current_ua, and then restart it (if the device is still
421 * +-------------------------------------------------------------------> t
423 * Practically this means that the Li-ions are wandering back and forth in the
434 * +-------------------------------------------------------------------> t
445 * As an example, a Samsung EB425161LA Lithium-Ion battery is CC/CV charged
452 * the user to disconnect the device and make use of it before both maintenance
459 * device is e.g. actively used during charging, so more current is drawn than
460 * the expected stand-by current. Also overvoltage protection will be applied
472 * struct power_supply_battery_info - information about batteries
545 * the capacity for reasons of chemistry will be different at different
597 * of mobile device batteries.
599 * for example 10 for +/- 10%, if the bti_resistance is set to 7000 and the
608 * The default field value is -EINVAL or NULL for pointers.
617 * | --- overvoltage_limit_uv
630 * +------------------------------------------------------------------> time
647 * +-----------------------------------------------------------------> time
658 * 2. Next a small initial pre-charge current (precharge_current_ua)
699 * many chargers uses a so-called fuel gauge or coloumb counter that measure
700 * how much charge goes into the battery and how much goes out (+/- leak
704 * the open circuit voltage with a look-up table to determine the rough
709 * +-------> IBAT >----------------+
713 * o <---------- | |
715 * .---. | | |
717 * '---' | | |
719 * GND +-------------------------------+
727 * chemistry involved.
734 * OCV = VBAT - (IBAT * Ri)
813 struct device *dev, const char *property);
819 devm_power_supply_get_by_phandle(struct device *dev, const char *property) in devm_power_supply_get_by_phandle()
870 return ((info->vbat2ri_discharging != NULL) && in power_supply_supports_vbat2ri()
871 info->vbat2ri_discharging_size > 0); in power_supply_supports_vbat2ri()
877 return ((info->resist_table != NULL) && in power_supply_supports_temp2ri()
878 info->resist_table_size > 0); in power_supply_supports_temp2ri()
884 static inline int power_supply_is_system_supplied(void) { return -ENOSYS; } in power_supply_is_system_supplied()
903 power_supply_register(struct device *parent,
907 devm_power_supply_register(struct device *parent,
911 extern int power_supply_powers(struct power_supply *psy, struct device *dev);
916 struct device *dev,
921 #define to_power_supply(device) container_of(device, struct power_supply, dev) argument
981 ssize_t power_supply_charge_behaviour_show(struct device *dev,
987 ssize_t power_supply_charge_types_show(struct device *dev,
994 ssize_t power_supply_charge_behaviour_show(struct device *dev, in power_supply_charge_behaviour_show()
999 return -EOPNOTSUPP; in power_supply_charge_behaviour_show()
1005 return -EOPNOTSUPP; in power_supply_charge_behaviour_parse()
1009 ssize_t power_supply_charge_types_show(struct device *dev, in power_supply_charge_types_show()
1014 return -EOPNOTSUPP; in power_supply_charge_types_show()
1019 return -EOPNOTSUPP; in power_supply_charge_types_parse()