bat
CARD bat, spd, card;
bat = pp->battle;
if (pp->can_go || ((is_repair(bat) || bat == C_STOP || spd == C_LIMIT) &&
(bat >= 0 && Numseen[safety(bat)] != 0))
const struct bn_asc2bn_test *bat;
bat = &bn_asc2bn_tests[i];
if (!BN_asc2bn(&bn, bat->in)) {
if (bat->want_error)
if (bat->want_error) {
if (check_bin_output(i, "BN_asc2bn()", bat->bin, bat->bin_len,
if (BN_is_negative(bn) != bat->neg) {
bat->neg);
extern struct bat battable[16];
struct bat battable[16];
struct acpi_bat *bat;
bat = malloc(sizeof(*bat), M_DEVBUF, M_WAITOK | M_ZERO);
bat->aba_softc = (struct acpibat_softc *)dev;
SLIST_INSERT_HEAD(&sc->sc_bat, bat, aba_link);
struct acpi_bat *bat;
SLIST_FOREACH(bat, &sc->sc_bat, aba_link)
struct acpi_bat *bat;
SLIST_FOREACH(bat, &sc->sc_bat, aba_link) {
if (bat->aba_softc->sc_bat_present == 0)
if (bat->aba_softc->sc_bix.bix_last_capacity == 0)
capacity += bat->aba_softc->sc_bix.bix_last_capacity;
remaining += min(bat->aba_softc->sc_bst.bst_capacity,
bat->aba_softc->sc_bix.bix_last_capacity);
if (bat->aba_softc->sc_bst.bst_state & BST_CHARGE)
if (bat->aba_softc->sc_bst.bst_rate == BST_UNKNOWN)
else if (bat->aba_softc->sc_bst.bst_rate > 1)
rate = bat->aba_softc->sc_bst.bst_rate;
minutes += bat->aba_softc->sc_bst.bst_capacity;
struct battmgr_bat_info *bat;
if (len - sizeof(hdr) < sizeof(*bat)) {
bat = malloc(sizeof(*bat), M_TEMP, M_WAITOK);
memcpy(bat, buf + sizeof(hdr), sizeof(*bat));
qcpas_pmic_rtr_bat_info(sc, bat);
free(bat, M_TEMP, sizeof(*bat));
struct battmgr_bat_status *bat;
if (len - sizeof(hdr) != sizeof(*bat)) {
bat = malloc(sizeof(*bat), M_TEMP, M_WAITOK);
memcpy(bat, buf + sizeof(hdr), sizeof(*bat));
qcpas_pmic_rtr_bat_status(sc, bat);
free(bat, M_TEMP, sizeof(*bat));
qcpas_pmic_rtr_bat_info(struct qcpas_softc *sc, struct battmgr_bat_info *bat)
sc->sc_last_full_capacity = bat->last_full_capacity;
sc->sc_warning_capacity = bat->capacity_warning;
sc->sc_low_capacity = bat->capacity_low;
sc->sc_sens[0].value = bat->last_full_capacity * 1000;
sc->sc_sens[1].value = bat->capacity_warning * 1000;
sc->sc_sens[2].value = bat->capacity_low * 1000;
sc->sc_sens[3].value = bat->design_voltage * 1000;
sc->sc_sens[8].value = bat->design_capacity * 1000;
sc->sc_sens[9].value = bat->cycle_count;
struct battmgr_bat_status *bat)
if (bat->capacity >= sc->sc_last_full_capacity)
else if (bat->battery_state & BATTMGR_BAT_STATE_DISCHARGE)
else if (bat->battery_state & BATTMGR_BAT_STATE_CHARGING)
if (bat->battery_state & BATTMGR_BAT_STATE_CRITICAL_LOW)
sc->sc_sens[4].value = bat->battery_state;
sc->sc_sens[5].value = abs(bat->rate) * 1000;
sc->sc_sens[6].value = bat->capacity * 1000;
if (bat->capacity < sc->sc_low_capacity)
else if (bat->capacity < sc->sc_warning_capacity)
sc->sc_sens[7].value = bat->battery_voltage * 1000;
sc->sc_sens[10].value = (bat->temperature * 10000) + 273150000;
nblife = ((bat->capacity * 100) / sc->sc_last_full_capacity);
if (bat->battery_state & BATTMGR_BAT_STATE_CHARGING)
else if (bat->battery_state & BATTMGR_BAT_STATE_CRITICAL_LOW)
if (bat->rate < 0)
delta = bat->capacity;
delta = sc->sc_last_full_capacity - bat->capacity;
if (bat->rate == 0)
info->minutes_left = (60 * delta) / abs(bat->rate);
if (bat->power_state & BATTMGR_PWR_STATE_AC_ON) {