| .. | .. |
|---|
| 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 | }; |
|---|