Lines Matching refs:bat

34 	bool (*is_present)(struct tosa_bat *bat);
54 static unsigned long tosa_read_bat(struct tosa_bat *bat) in tosa_read_bat() argument
58 if (bat->gpio_bat < 0 || bat->adc_bat < 0) in tosa_read_bat()
62 gpio_set_value(bat->gpio_bat, 1); in tosa_read_bat()
64 value = wm97xx_read_aux_adc(dev_get_drvdata(bat->psy->dev.parent), in tosa_read_bat()
65 bat->adc_bat); in tosa_read_bat()
66 gpio_set_value(bat->gpio_bat, 0); in tosa_read_bat()
69 value = value * 1000000 / bat->adc_bat_divider; in tosa_read_bat()
74 static unsigned long tosa_read_temp(struct tosa_bat *bat) in tosa_read_temp() argument
78 if (bat->gpio_temp < 0 || bat->adc_temp < 0) in tosa_read_temp()
82 gpio_set_value(bat->gpio_temp, 1); in tosa_read_temp()
84 value = wm97xx_read_aux_adc(dev_get_drvdata(bat->psy->dev.parent), in tosa_read_temp()
85 bat->adc_temp); in tosa_read_temp()
86 gpio_set_value(bat->gpio_temp, 0); in tosa_read_temp()
89 value = value * 10000 / bat->adc_temp_divider; in tosa_read_temp()
99 struct tosa_bat *bat = power_supply_get_drvdata(psy); in tosa_bat_get_property() local
101 if (bat->is_present && !bat->is_present(bat) in tosa_bat_get_property()
108 val->intval = bat->status; in tosa_bat_get_property()
111 val->intval = bat->technology; in tosa_bat_get_property()
114 val->intval = tosa_read_bat(bat); in tosa_bat_get_property()
117 if (bat->full_chrg == -1) in tosa_bat_get_property()
118 val->intval = bat->bat_max; in tosa_bat_get_property()
120 val->intval = bat->full_chrg; in tosa_bat_get_property()
123 val->intval = bat->bat_max; in tosa_bat_get_property()
126 val->intval = bat->bat_min; in tosa_bat_get_property()
129 val->intval = tosa_read_temp(bat); in tosa_bat_get_property()
132 val->intval = bat->is_present ? bat->is_present(bat) : 1; in tosa_bat_get_property()
141 static bool tosa_jacket_bat_is_present(struct tosa_bat *bat) in tosa_jacket_bat_is_present() argument
158 static void tosa_bat_update(struct tosa_bat *bat) in tosa_bat_update() argument
161 struct power_supply *psy = bat->psy; in tosa_bat_update()
163 mutex_lock(&bat->work_lock); in tosa_bat_update()
165 old = bat->status; in tosa_bat_update()
167 if (bat->is_present && !bat->is_present(bat)) { in tosa_bat_update()
169 bat->status = POWER_SUPPLY_STATUS_UNKNOWN; in tosa_bat_update()
170 bat->full_chrg = -1; in tosa_bat_update()
172 if (bat->status == POWER_SUPPLY_STATUS_DISCHARGING) { in tosa_bat_update()
173 gpio_set_value(bat->gpio_charge_off, 0); in tosa_bat_update()
177 if (gpio_get_value(bat->gpio_full)) { in tosa_bat_update()
179 bat->full_chrg == -1) in tosa_bat_update()
180 bat->full_chrg = tosa_read_bat(bat); in tosa_bat_update()
182 gpio_set_value(bat->gpio_charge_off, 1); in tosa_bat_update()
183 bat->status = POWER_SUPPLY_STATUS_FULL; in tosa_bat_update()
185 gpio_set_value(bat->gpio_charge_off, 0); in tosa_bat_update()
186 bat->status = POWER_SUPPLY_STATUS_CHARGING; in tosa_bat_update()
189 gpio_set_value(bat->gpio_charge_off, 1); in tosa_bat_update()
190 bat->status = POWER_SUPPLY_STATUS_DISCHARGING; in tosa_bat_update()
193 if (old != bat->status) in tosa_bat_update()
196 mutex_unlock(&bat->work_lock); in tosa_bat_update()