.. | .. |
---|
759 | 759 | struct rk806 *rk806 = pdata->rk806; |
---|
760 | 760 | int rid = rdev_get_id(rdev); |
---|
761 | 761 | int gpio_level, pid; |
---|
762 | | - unsigned int val; |
---|
| 762 | + int ret, val; |
---|
763 | 763 | int mode; |
---|
764 | 764 | |
---|
765 | 765 | mode = get_dvs_mode(rdev); |
---|
.. | .. |
---|
770 | 770 | return rk806_field_read(rk806, pdata->dvs_field[rid].sleep_en); |
---|
771 | 771 | } |
---|
772 | 772 | |
---|
773 | | - val = rk806_field_read(rk806, pdata->dvs_field[rid].en_reg); |
---|
| 773 | + ret = rk806_field_read(rk806, pdata->dvs_field[rid].en_reg); |
---|
| 774 | + if (ret < 0) |
---|
| 775 | + return ret; |
---|
| 776 | + |
---|
| 777 | + val = ret; |
---|
| 778 | + |
---|
774 | 779 | return (val & rdev->desc->enable_val) != 0; |
---|
775 | 780 | } |
---|
776 | 781 | |
---|
.. | .. |
---|
942 | 947 | .set_suspend_disable = rk806_set_suspend_disable, |
---|
943 | 948 | }; |
---|
944 | 949 | |
---|
| 950 | +static const struct regulator_ops rk806_ops_ldo6 = { |
---|
| 951 | + .list_voltage = regulator_list_voltage_linear_range, |
---|
| 952 | + .map_voltage = regulator_map_voltage_linear_range, |
---|
| 953 | + |
---|
| 954 | + .get_voltage_sel = rk806_get_voltage_sel_regmap, |
---|
| 955 | + .set_voltage = rk806_set_voltage, |
---|
| 956 | + .set_voltage_time_sel = regulator_set_voltage_time_sel, |
---|
| 957 | + |
---|
| 958 | + .set_ramp_delay = rk806_set_ramp_delay, |
---|
| 959 | + |
---|
| 960 | + .set_suspend_voltage = rk806_set_suspend_voltage_range, |
---|
| 961 | + .resume = rk806_regulator_resume, |
---|
| 962 | +}; |
---|
| 963 | + |
---|
945 | 964 | #define RK806_REGULATOR(_name, _supply_name, _id, _ops,\ |
---|
946 | 965 | _n_voltages, _vr, _er, _lr, ctrl_bit)\ |
---|
947 | 966 | [_id] = {\ |
---|
.. | .. |
---|
1033 | 1052 | RK806_LDO_SEL_CNT, RK806_PLDO5_ON_VSEL, |
---|
1034 | 1053 | RK806_POWER_EN5, rk806_ldo_voltage_ranges, 1), |
---|
1035 | 1054 | |
---|
1036 | | - RK806_REGULATOR("PLDO_REG6", "vcca", RK806_ID_PLDO6, rk806_ops_ldo, |
---|
| 1055 | + RK806_REGULATOR("PLDO_REG6", "vcca", RK806_ID_PLDO6, rk806_ops_ldo6, |
---|
1037 | 1056 | RK806_LDO_SEL_CNT, RK806_PLDO6_ON_VSEL, |
---|
1038 | 1057 | RK806_POWER_EN4, rk806_ldo_voltage_ranges, 0), |
---|
1039 | 1058 | }; |
---|