Lines Matching refs:ar

722 	struct axppmic_regulator *ar;
736 ar = malloc(sizeof(*ar), M_DEVBUF, M_WAITOK | M_ZERO);
737 ar->ar_sc = sc;
739 ar->ar_ereg = sc->sc_regdata[i].ereg;
740 ar->ar_emask = sc->sc_regdata[i].emask;
741 ar->ar_eval = sc->sc_regdata[i].eval;
742 ar->ar_dval = sc->sc_regdata[i].dval;
743 ar->ar_vreg = sc->sc_regdata[i].vreg;
744 ar->ar_vmask = sc->sc_regdata[i].vmask;
745 ar->ar_base = sc->sc_regdata[i].base;
746 ar->ar_delta = sc->sc_regdata[i].delta;
747 ar->ar_nsteps = sc->sc_regdata[i].nsteps;
748 ar->ar_base2 = sc->sc_regdata[i].base2;
749 ar->ar_delta2 = sc->sc_regdata[i].delta2;
750 ar->ar_nsteps2 = sc->sc_regdata[i].nsteps2;
752 ar->ar_rd.rd_node = node;
753 ar->ar_rd.rd_cookie = ar;
754 ar->ar_rd.rd_get_voltage = axppmic_get_voltage;
755 ar->ar_rd.rd_set_voltage = axppmic_set_voltage;
756 ar->ar_rd.rd_enable = axppmic_enable;
757 regulator_register(&ar->ar_rd);
763 struct axppmic_regulator *ar = cookie;
767 value = axppmic_read_reg(ar->ar_sc, ar->ar_vreg);
768 value &= ar->ar_vmask;
769 if (ar->ar_base2 > 0 && value >= ar->ar_nsteps) {
771 ar->ar_base2 + (value - ar->ar_nsteps) * ar->ar_delta2;
773 voltage = ar->ar_base + value * ar->ar_delta;
781 struct axppmic_regulator *ar = cookie;
784 if (voltage < ar->ar_base)
786 if (ar->ar_base2 > 0 && voltage >= ar->ar_base2) {
787 value = (voltage - ar->ar_base2) / ar->ar_delta2;
788 if (value >= ar->ar_nsteps2)
790 value += ar->ar_nsteps;
792 value = (voltage - ar->ar_base) / ar->ar_delta;
793 if (value >= ar->ar_nsteps)
796 if (value > ar->ar_vmask)
799 reg = axppmic_read_reg(ar->ar_sc, ar->ar_vreg);
800 axppmic_write_reg(ar->ar_sc, ar->ar_vreg,
801 (reg & ~ar->ar_vmask) | (value & ar->ar_vmask));
808 struct axppmic_regulator *ar = cookie;
811 reg = axppmic_read_reg(ar->ar_sc, ar->ar_ereg);
812 reg &= ~ar->ar_emask;
814 reg |= ar->ar_eval;
816 reg |= ar->ar_dval;
817 axppmic_write_reg(ar->ar_sc, ar->ar_ereg, reg);