Lines Matching refs:bat

76 	struct s3c_adc_bat *bat = power_supply_get_drvdata(psy);
78 if (!bat) {
83 if (bat->volt_value < 0 ||
84 jiffies_to_msecs(jiffies - bat->timestamp) >
86 bat->volt_value = gather_samples(bat->client,
87 bat->pdata->backup_volt_samples,
88 bat->pdata->backup_volt_channel);
89 bat->volt_value *= bat->pdata->backup_volt_mult;
90 bat->timestamp = jiffies;
95 val->intval = bat->volt_value;
98 val->intval = bat->pdata->backup_volt_min;
101 val->intval = bat->pdata->backup_volt_max;
133 static int charge_finished(struct s3c_adc_bat *bat)
135 return bat->pdata->gpio_inverted ?
136 !gpio_get_value(bat->pdata->gpio_charge_finished) :
137 gpio_get_value(bat->pdata->gpio_charge_finished);
144 struct s3c_adc_bat *bat = power_supply_get_drvdata(psy);
151 if (!bat) {
156 lut = bat->pdata->lut_noac;
157 lut_size = bat->pdata->lut_noac_cnt;
159 if (bat->volt_value < 0 || bat->cur_value < 0 ||
160 jiffies_to_msecs(jiffies - bat->timestamp) >
162 bat->volt_value = gather_samples(bat->client,
163 bat->pdata->volt_samples,
164 bat->pdata->volt_channel) * bat->pdata->volt_mult;
165 bat->cur_value = gather_samples(bat->client,
166 bat->pdata->current_samples,
167 bat->pdata->current_channel) * bat->pdata->current_mult;
168 bat->timestamp = jiffies;
171 if (bat->cable_plugged &&
172 ((bat->pdata->gpio_charge_finished < 0) ||
173 !charge_finished(bat))) {
174 lut = bat->pdata->lut_acin;
175 lut_size = bat->pdata->lut_acin_cnt;
179 full_volt = calc_full_volt((bat->volt_value / 1000),
180 (bat->cur_value / 1000), bat->pdata->internal_impedance);
183 bat->pdata->internal_impedance)) {
190 bat->pdata->internal_impedance);
192 bat->pdata->internal_impedance);
205 bat->level = new_level;
209 if (bat->pdata->gpio_charge_finished < 0)
210 val->intval = bat->level == 100000 ?
211 POWER_SUPPLY_STATUS_FULL : bat->status;
213 val->intval = bat->status;
222 val->intval = bat->level;
225 val->intval = bat->volt_value;
228 val->intval = bat->cur_value;
249 struct s3c_adc_bat *bat = &main_bat;
254 is_plugged = power_supply_am_i_supplied(bat->psy);
255 bat->cable_plugged = is_plugged;
259 if (bat->pdata->enable_charger)
260 bat->pdata->enable_charger();
261 bat->status = POWER_SUPPLY_STATUS_CHARGING;
263 if (bat->pdata->disable_charger)
264 bat->pdata->disable_charger();
265 bat->status = POWER_SUPPLY_STATUS_DISCHARGING;
268 if ((bat->pdata->gpio_charge_finished >= 0) && is_plugged) {
271 if (bat->pdata->disable_charger)
272 bat->pdata->disable_charger();
273 bat->status = POWER_SUPPLY_STATUS_FULL;
275 if (bat->pdata->enable_charger)
276 bat->pdata->enable_charger();
277 bat->status = POWER_SUPPLY_STATUS_CHARGING;
282 power_supply_changed(bat->psy);