Lines Matching refs:info
113 static int rn5t618_battery_read_doublereg(struct rn5t618_power_info *info,
123 ret = regmap_bulk_read(info->rn5t618->regmap,
162 static int rn5t618_battery_status(struct rn5t618_power_info *info,
168 ret = regmap_read(info->rn5t618->regmap, RN5T618_CHGSTATE, &v);
182 static int rn5t618_battery_present(struct rn5t618_power_info *info,
188 ret = regmap_read(info->rn5t618->regmap, RN5T618_CHGSTATE, &v);
201 static int rn5t618_battery_voltage_now(struct rn5t618_power_info *info,
207 ret = rn5t618_battery_read_doublereg(info, RN5T618_VOLTAGE_1, &res);
216 static int rn5t618_battery_current_now(struct rn5t618_power_info *info,
222 ret = rn5t618_battery_read_doublereg(info, RN5T618_CC_AVEREG1, &res);
232 static int rn5t618_battery_capacity(struct rn5t618_power_info *info,
238 ret = regmap_read(info->rn5t618->regmap, RN5T618_SOC, &v);
247 static int rn5t618_battery_temp(struct rn5t618_power_info *info,
253 ret = rn5t618_battery_read_doublereg(info, RN5T618_TEMP_1, &res);
262 static int rn5t618_battery_tte(struct rn5t618_power_info *info,
268 ret = rn5t618_battery_read_doublereg(info, RN5T618_TT_EMPTY_H, &res);
280 static int rn5t618_battery_ttf(struct rn5t618_power_info *info,
286 ret = rn5t618_battery_read_doublereg(info, RN5T618_TT_FULL_H, &res);
298 static int rn5t618_battery_set_current_limit(struct rn5t618_power_info *info,
307 return regmap_update_bits(info->rn5t618->regmap,
312 static int rn5t618_battery_get_current_limit(struct rn5t618_power_info *info,
318 ret = regmap_read(info->rn5t618->regmap, RN5T618_CHGISET,
328 static int rn5t618_battery_charge_full(struct rn5t618_power_info *info,
334 ret = rn5t618_battery_read_doublereg(info, RN5T618_FA_CAP_H, &res);
343 static int rn5t618_battery_charge_now(struct rn5t618_power_info *info,
349 ret = rn5t618_battery_read_doublereg(info, RN5T618_RE_CAP_H, &res);
363 struct rn5t618_power_info *info = power_supply_get_drvdata(psy);
367 ret = rn5t618_battery_status(info, val);
370 ret = rn5t618_battery_present(info, val);
373 ret = rn5t618_battery_voltage_now(info, val);
376 ret = rn5t618_battery_current_now(info, val);
379 ret = rn5t618_battery_capacity(info, val);
382 ret = rn5t618_battery_temp(info, val);
385 ret = rn5t618_battery_tte(info, val);
388 ret = rn5t618_battery_ttf(info, val);
394 ret = rn5t618_battery_get_current_limit(info, val);
397 ret = rn5t618_battery_charge_full(info, val);
400 ret = rn5t618_battery_charge_now(info, val);
413 struct rn5t618_power_info *info = power_supply_get_drvdata(psy);
417 return rn5t618_battery_set_current_limit(info, val);
438 struct rn5t618_power_info *info = power_supply_get_drvdata(psy);
444 ret = regmap_read(info->rn5t618->regmap, RN5T618_CHGSTATE, &chgstate);
465 ret = regmap_read(info->rn5t618->regmap,
473 if (!info->channel_vadp)
476 ret = iio_read_channel_processed_scale(info->channel_vadp, &val->intval, 1000);
492 struct rn5t618_power_info *info = power_supply_get_drvdata(psy);
503 ret = regmap_write(info->rn5t618->regmap, RN5T618_REGISET1,
527 static int rc5t619_usb_get_type(struct rn5t618_power_info *info,
533 ret = regmap_read(info->rn5t618->regmap, RN5T618_GCHGDET, ®val);
558 struct rn5t618_power_info *info = power_supply_get_drvdata(psy);
564 ret = regmap_read(info->rn5t618->regmap, RN5T618_CHGSTATE, &chgstate);
585 if (!online || (info->rn5t618->variant != RC5T619))
588 return rc5t619_usb_get_type(info, val);
590 ret = regmap_read(info->rn5t618->regmap, RN5T618_CHGCTL1,
597 ret = regmap_read(info->rn5t618->regmap,
607 if (!info->channel_vusb)
610 ret = iio_read_channel_processed_scale(info->channel_vusb, &val->intval, 1000);
626 struct rn5t618_power_info *info = power_supply_get_drvdata(psy);
637 ret = regmap_write(info->rn5t618->regmap, RN5T618_REGISET2,
696 struct rn5t618_power_info *info = dev_get_drvdata(dev);
700 regmap_read(info->rn5t618->regmap, RN5T618_CHGERR_IRR, &err);
701 regmap_read(info->rn5t618->regmap, RN5T618_CHGCTRL_IRR, &ctrl);
702 regmap_read(info->rn5t618->regmap, RN5T618_CHGSTAT_IRR1, &stat1);
703 regmap_read(info->rn5t618->regmap, RN5T618_CHGSTAT_IRR2, &stat2);
705 regmap_write(info->rn5t618->regmap, RN5T618_CHGERR_IRR, 0);
706 regmap_write(info->rn5t618->regmap, RN5T618_CHGCTRL_IRR, 0);
707 regmap_write(info->rn5t618->regmap, RN5T618_CHGSTAT_IRR1, 0);
708 regmap_write(info->rn5t618->regmap, RN5T618_CHGSTAT_IRR2, 0);
713 power_supply_changed(info->usb);
714 power_supply_changed(info->adp);
715 power_supply_changed(info->battery);
725 struct rn5t618_power_info *info;
727 info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);
728 if (!info)
731 info->pdev = pdev;
732 info->rn5t618 = dev_get_drvdata(pdev->dev.parent);
733 info->irq = -1;
735 platform_set_drvdata(pdev, info);
737 info->channel_vusb = devm_iio_channel_get(&pdev->dev, "vusb");
738 if (IS_ERR(info->channel_vusb)) {
739 if (PTR_ERR(info->channel_vusb) == -ENODEV)
741 return PTR_ERR(info->channel_vusb);
744 info->channel_vadp = devm_iio_channel_get(&pdev->dev, "vadp");
745 if (IS_ERR(info->channel_vadp)) {
746 if (PTR_ERR(info->channel_vadp) == -ENODEV)
748 return PTR_ERR(info->channel_vadp);
751 ret = regmap_read(info->rn5t618->regmap, RN5T618_CONTROL, &v);
763 regmap_update_bits(info->rn5t618->regmap, RN5T618_CONTROL,
767 psy_cfg.drv_data = info;
768 info->battery = devm_power_supply_register(&pdev->dev,
771 if (IS_ERR(info->battery)) {
772 ret = PTR_ERR(info->battery);
777 info->adp = devm_power_supply_register(&pdev->dev,
780 if (IS_ERR(info->adp)) {
781 ret = PTR_ERR(info->adp);
786 info->usb = devm_power_supply_register(&pdev->dev,
789 if (IS_ERR(info->usb)) {
790 ret = PTR_ERR(info->usb);
795 if (info->rn5t618->irq_data)
796 info->irq = regmap_irq_get_virq(info->rn5t618->irq_data,
799 if (info->irq < 0)
800 info->irq = -1;
802 ret = devm_request_threaded_irq(&pdev->dev, info->irq, NULL,
810 info->irq);
811 info->irq = -1;