Lines Matching refs:ret
312 int ret;
314 ret = regmap_read(smb->regmap, IRQSTAT_E, &val);
315 if (ret < 0)
316 return ret;
327 ret = smb->mains_online != dc || smb->usb_online != usb;
331 return ret;
358 int ret;
363 ret = regmap_read(smb->regmap, STAT_C, &val);
364 if (ret < 0)
398 int ret;
406 ret = smb347_charging_enable(smb);
407 if (ret < 0)
410 ret = smb347_charging_disable(smb);
411 if (ret < 0)
415 return ret;
421 int ret;
424 ret = current_to_hw(fcc_tbl[id], ARRAY_SIZE(fcc_tbl[id]),
426 if (ret < 0)
427 return ret;
429 ret = regmap_update_bits(smb->regmap, CFG_CHARGE_CURRENT,
431 ret << CFG_CHARGE_CURRENT_FCC_SHIFT);
432 if (ret < 0)
433 return ret;
437 ret = current_to_hw(pcc_tbl[id], ARRAY_SIZE(pcc_tbl[id]),
439 if (ret < 0)
440 return ret;
442 ret = regmap_update_bits(smb->regmap, CFG_CHARGE_CURRENT,
444 ret << CFG_CHARGE_CURRENT_PCC_SHIFT);
445 if (ret < 0)
446 return ret;
450 ret = current_to_hw(tc_tbl[id], ARRAY_SIZE(tc_tbl[id]),
452 if (ret < 0)
453 return ret;
455 ret = regmap_update_bits(smb->regmap, CFG_CHARGE_CURRENT,
456 CFG_CHARGE_CURRENT_TC_MASK, ret);
457 if (ret < 0)
458 return ret;
467 int ret;
470 ret = current_to_hw(icl_tbl[id], ARRAY_SIZE(icl_tbl[id]),
472 if (ret < 0)
473 return ret;
475 ret = regmap_update_bits(smb->regmap, CFG_CURRENT_LIMIT,
477 ret << CFG_CURRENT_LIMIT_DC_SHIFT);
478 if (ret < 0)
479 return ret;
483 ret = current_to_hw(icl_tbl[id], ARRAY_SIZE(icl_tbl[id]),
485 if (ret < 0)
486 return ret;
488 ret = regmap_update_bits(smb->regmap, CFG_CURRENT_LIMIT,
489 CFG_CURRENT_LIMIT_USB_MASK, ret);
490 if (ret < 0)
491 return ret;
499 int ret;
502 ret = smb->pre_to_fast_voltage;
505 ret = clamp_val(ret, 2400000, 3000000) - 2400000;
506 ret /= 200000;
508 ret = regmap_update_bits(smb->regmap, CFG_FLOAT_VOLTAGE,
510 ret << CFG_FLOAT_VOLTAGE_THRESHOLD_SHIFT);
511 if (ret < 0)
512 return ret;
516 ret = smb->max_charge_voltage;
519 ret = clamp_val(ret, 3500000, 4500000) - 3500000;
520 ret /= 20000;
522 ret = regmap_update_bits(smb->regmap, CFG_FLOAT_VOLTAGE,
523 CFG_FLOAT_VOLTAGE_FLOAT_MASK, ret);
524 if (ret < 0)
525 return ret;
535 int ret = 0;
545 ret = regmap_update_bits(smb->regmap, CFG_OTG,
548 if (ret < 0)
549 return ret;
560 ret = regmap_update_bits(smb->regmap, CFG_TEMP_LIMIT,
563 if (ret < 0)
564 return ret;
575 ret = regmap_update_bits(smb->regmap, CFG_TEMP_LIMIT,
578 if (ret < 0)
579 return ret;
592 ret = regmap_update_bits(smb->regmap, CFG_TEMP_LIMIT,
595 if (ret < 0)
596 return ret;
607 ret = regmap_update_bits(smb->regmap, CFG_TEMP_LIMIT,
610 if (ret < 0)
611 return ret;
627 ret = regmap_update_bits(smb->regmap, CFG_THERM,
629 if (ret < 0)
630 return ret;
634 ret = regmap_update_bits(smb->regmap, CFG_SYSOK,
636 if (ret < 0)
637 return ret;
644 ret = regmap_update_bits(smb->regmap, CFG_THERM,
647 if (ret < 0)
648 return ret;
650 ret = regmap_update_bits(smb->regmap, CFG_THERM,
653 if (ret < 0)
654 return ret;
663 ret = regmap_update_bits(smb->regmap, CFG_OTG,
666 if (ret < 0)
667 return ret;
670 return ret;
686 int ret;
691 ret = regmap_update_bits(smb->regmap, CMD_A, CMD_A_ALLOW_WRITE,
694 if ((!writable || ret) && irq_toggle && !smb->irq_unsupported)
697 return ret;
703 int ret;
705 ret = smb347_set_writable(smb, true, false);
706 if (ret < 0)
707 return ret;
713 ret = smb347_set_charge_current(smb);
714 if (ret < 0)
717 ret = smb347_set_current_limits(smb);
718 if (ret < 0)
721 ret = smb347_set_voltage_limits(smb);
722 if (ret < 0)
725 ret = smb347_set_temp_limits(smb);
726 if (ret < 0)
731 ret = regmap_update_bits(smb->regmap, CMD_A,
734 if (ret < 0)
742 ret = regmap_update_bits(smb->regmap, CFG_OTHER, CFG_OTHER_RID_MASK,
744 if (ret < 0)
751 ret = regmap_set_bits(smb->regmap, CFG_PIN, CFG_PIN_EN_CTRL);
752 if (ret < 0)
773 ret = regmap_update_bits(smb->regmap, CFG_PIN, CFG_PIN_EN_CTRL_MASK,
775 if (ret < 0)
779 ret = regmap_update_bits(smb->regmap, CFG_PIN, CFG_PIN_EN_APSD_IRQ, 0);
780 if (ret < 0)
783 ret = smb347_update_ps_status(smb);
784 if (ret < 0)
787 ret = smb347_start_stop_charging(smb);
791 return ret;
799 int ret;
804 ret = regmap_read(smb->regmap, STAT_C, &stat_c);
805 if (ret < 0) {
810 ret = regmap_read(smb->regmap, IRQSTAT_C, &irqstat_c);
811 if (ret < 0) {
816 ret = regmap_read(smb->regmap, IRQSTAT_D, &irqstat_d);
817 if (ret < 0) {
822 ret = regmap_read(smb->regmap, IRQSTAT_E, &irqstat_e);
823 if (ret < 0) {
893 int ret;
898 ret = smb347_set_writable(smb, true, true);
899 if (ret < 0)
900 return ret;
909 ret = regmap_update_bits(smb->regmap, CFG_FAULT_IRQ, 0xff,
911 if (ret < 0)
914 ret = regmap_update_bits(smb->regmap, CFG_STATUS_IRQ, 0xff,
917 if (ret < 0)
920 ret = regmap_update_bits(smb->regmap, CFG_PIN, CFG_PIN_EN_CHARGER_ERROR,
924 return ret;
940 int ret;
951 ret = smb347_set_writable(smb, true, false);
952 if (ret < 0)
953 return ret;
959 ret = regmap_update_bits(smb->regmap, CFG_STAT,
965 if (ret < 0) {
966 dev_warn(smb->dev, "failed to initialize IRQ: %d\n", ret);
971 ret = devm_request_threaded_irq(smb->dev, client->irq, NULL,
974 if (ret)
975 return ret;
979 ret = smb347_irq_enable(smb);
980 if (ret < 0)
981 return ret;
993 int ret, intval;
999 ret = regmap_read(smb->regmap, STAT_B, &v);
1000 if (ret < 0)
1001 return ret;
1025 int ret, intval;
1031 ret = regmap_read(smb->regmap, STAT_A, &v);
1032 if (ret < 0)
1033 return ret;
1047 int ret, status;
1058 ret = regmap_read(smb->regmap, STAT_C, &val);
1059 if (ret < 0)
1060 return ret;
1100 int ret;
1104 ret = smb347_get_charging_status(smb, psy);
1105 if (ret < 0)
1106 return ret;
1107 val->intval = ret;
1144 ret = get_const_charge_voltage(smb);
1145 if (ret < 0)
1146 return ret;
1147 val->intval = ret;
1151 ret = get_const_charge_current(smb);
1152 if (ret < 0)
1153 return ret;
1154 val->intval = ret;
1170 int ret;
1175 ret = smb347_get_property_locked(psy, prop, val);
1180 return ret;
1335 int ret;
1337 ret = regmap_read(smb->regmap, CFG_OTG, &val);
1338 if (ret < 0)
1339 return ret;
1357 int ret;
1362 ret = regmap_update_bits(smb->regmap, CFG_OTG, mask, val);
1363 if (ret < 0)
1366 return ret;
1373 int ret;
1375 ret = smb347_set_writable(smb, true, true);
1376 if (ret < 0)
1377 return ret;
1379 ret = smb347_usb_vbus_set_new_current_limit(smb, max_uA);
1382 return ret;
1388 int ret, max_uA;
1390 ret = smb347_set_writable(smb, true, true);
1391 if (ret < 0)
1392 return ret;
1406 ret = regmap_update_bits(smb->regmap, CFG_SYSOK,
1408 if (ret < 0) {
1414 ret = smb347_usb_vbus_get_current_limit(rdev);
1415 if (ret < 0) {
1420 max_uA = ret;
1422 ret = smb347_usb_vbus_set_new_current_limit(smb, 250000);
1423 if (ret < 0) {
1428 ret = regmap_set_bits(smb->regmap, CMD_A, CMD_A_OTG_ENABLED);
1429 if (ret < 0) {
1436 ret = smb347_usb_vbus_set_new_current_limit(smb, max_uA);
1437 if (ret < 0) {
1444 return ret;
1450 int ret;
1452 ret = smb347_set_writable(smb, true, true);
1453 if (ret < 0)
1454 return ret;
1456 ret = regmap_clear_bits(smb->regmap, CMD_A, CMD_A_OTG_ENABLED);
1457 if (ret < 0) {
1470 ret = regmap_update_bits(smb->regmap, CFG_SYSOK,
1472 if (ret < 0) {
1482 return ret;
1538 int ret;
1571 ret = smb347_get_battery_info(smb);
1572 if (ret)
1573 return ret;
1575 ret = smb347_hw_init(smb);
1576 if (ret < 0)
1577 return ret;
1579 ret = smb347_irq_init(smb, client);
1580 if (ret)
1581 return ret;