Lines Matching refs:bat
72 struct s3c_adc_bat *bat = power_supply_get_drvdata(psy); in s3c_adc_backup_bat_get_property() local
74 if (!bat) { in s3c_adc_backup_bat_get_property()
79 if (bat->volt_value < 0 || in s3c_adc_backup_bat_get_property()
80 jiffies_to_msecs(jiffies - bat->timestamp) > in s3c_adc_backup_bat_get_property()
82 bat->volt_value = gather_samples(bat->client, in s3c_adc_backup_bat_get_property()
83 bat->pdata->backup_volt_samples, in s3c_adc_backup_bat_get_property()
84 bat->pdata->backup_volt_channel); in s3c_adc_backup_bat_get_property()
85 bat->volt_value *= bat->pdata->backup_volt_mult; in s3c_adc_backup_bat_get_property()
86 bat->timestamp = jiffies; in s3c_adc_backup_bat_get_property()
91 val->intval = bat->volt_value; in s3c_adc_backup_bat_get_property()
94 val->intval = bat->pdata->backup_volt_min; in s3c_adc_backup_bat_get_property()
97 val->intval = bat->pdata->backup_volt_max; in s3c_adc_backup_bat_get_property()
129 static int charge_finished(struct s3c_adc_bat *bat) in charge_finished() argument
131 return gpiod_get_value(bat->charge_finished); in charge_finished()
138 struct s3c_adc_bat *bat = power_supply_get_drvdata(psy); in s3c_adc_bat_get_property() local
145 if (!bat) { in s3c_adc_bat_get_property()
150 lut = bat->pdata->lut_noac; in s3c_adc_bat_get_property()
151 lut_size = bat->pdata->lut_noac_cnt; in s3c_adc_bat_get_property()
153 if (bat->volt_value < 0 || bat->cur_value < 0 || in s3c_adc_bat_get_property()
154 jiffies_to_msecs(jiffies - bat->timestamp) > in s3c_adc_bat_get_property()
156 bat->volt_value = gather_samples(bat->client, in s3c_adc_bat_get_property()
157 bat->pdata->volt_samples, in s3c_adc_bat_get_property()
158 bat->pdata->volt_channel) * bat->pdata->volt_mult; in s3c_adc_bat_get_property()
159 bat->cur_value = gather_samples(bat->client, in s3c_adc_bat_get_property()
160 bat->pdata->current_samples, in s3c_adc_bat_get_property()
161 bat->pdata->current_channel) * bat->pdata->current_mult; in s3c_adc_bat_get_property()
162 bat->timestamp = jiffies; in s3c_adc_bat_get_property()
165 if (bat->cable_plugged && in s3c_adc_bat_get_property()
166 (!bat->charge_finished || in s3c_adc_bat_get_property()
167 !charge_finished(bat))) { in s3c_adc_bat_get_property()
168 lut = bat->pdata->lut_acin; in s3c_adc_bat_get_property()
169 lut_size = bat->pdata->lut_acin_cnt; in s3c_adc_bat_get_property()
173 full_volt = calc_full_volt((bat->volt_value / 1000), in s3c_adc_bat_get_property()
174 (bat->cur_value / 1000), bat->pdata->internal_impedance); in s3c_adc_bat_get_property()
177 bat->pdata->internal_impedance)) { in s3c_adc_bat_get_property()
184 bat->pdata->internal_impedance); in s3c_adc_bat_get_property()
186 bat->pdata->internal_impedance); in s3c_adc_bat_get_property()
199 bat->level = new_level; in s3c_adc_bat_get_property()
203 if (!bat->charge_finished) in s3c_adc_bat_get_property()
204 val->intval = bat->level == 100000 ? in s3c_adc_bat_get_property()
205 POWER_SUPPLY_STATUS_FULL : bat->status; in s3c_adc_bat_get_property()
207 val->intval = bat->status; in s3c_adc_bat_get_property()
216 val->intval = bat->level; in s3c_adc_bat_get_property()
219 val->intval = bat->volt_value; in s3c_adc_bat_get_property()
222 val->intval = bat->cur_value; in s3c_adc_bat_get_property()
243 struct s3c_adc_bat *bat = &main_bat; in s3c_adc_bat_work() local
248 is_plugged = power_supply_am_i_supplied(bat->psy); in s3c_adc_bat_work()
249 bat->cable_plugged = is_plugged; in s3c_adc_bat_work()
253 if (bat->pdata->enable_charger) in s3c_adc_bat_work()
254 bat->pdata->enable_charger(); in s3c_adc_bat_work()
255 bat->status = POWER_SUPPLY_STATUS_CHARGING; in s3c_adc_bat_work()
257 if (bat->pdata->disable_charger) in s3c_adc_bat_work()
258 bat->pdata->disable_charger(); in s3c_adc_bat_work()
259 bat->status = POWER_SUPPLY_STATUS_DISCHARGING; in s3c_adc_bat_work()
262 if (bat->charge_finished && is_plugged) { in s3c_adc_bat_work()
265 if (bat->pdata->disable_charger) in s3c_adc_bat_work()
266 bat->pdata->disable_charger(); in s3c_adc_bat_work()
267 bat->status = POWER_SUPPLY_STATUS_FULL; in s3c_adc_bat_work()
269 if (bat->pdata->enable_charger) in s3c_adc_bat_work()
270 bat->pdata->enable_charger(); in s3c_adc_bat_work()
271 bat->status = POWER_SUPPLY_STATUS_CHARGING; in s3c_adc_bat_work()
276 power_supply_changed(bat->psy); in s3c_adc_bat_work()