From 2f7c68cb55ecb7331f2381deb497c27155f32faf Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 03 Jan 2024 09:43:39 +0000 Subject: [PATCH] update kernel to 5.10.198 --- kernel/drivers/regulator/rk806-regulator.c | 25 ++++++++++++++++++++++--- 1 files changed, 22 insertions(+), 3 deletions(-) diff --git a/kernel/drivers/regulator/rk806-regulator.c b/kernel/drivers/regulator/rk806-regulator.c index a01d700..3e33b3f 100644 --- a/kernel/drivers/regulator/rk806-regulator.c +++ b/kernel/drivers/regulator/rk806-regulator.c @@ -759,7 +759,7 @@ struct rk806 *rk806 = pdata->rk806; int rid = rdev_get_id(rdev); int gpio_level, pid; - unsigned int val; + int ret, val; int mode; mode = get_dvs_mode(rdev); @@ -770,7 +770,12 @@ return rk806_field_read(rk806, pdata->dvs_field[rid].sleep_en); } - val = rk806_field_read(rk806, pdata->dvs_field[rid].en_reg); + ret = rk806_field_read(rk806, pdata->dvs_field[rid].en_reg); + if (ret < 0) + return ret; + + val = ret; + return (val & rdev->desc->enable_val) != 0; } @@ -942,6 +947,20 @@ .set_suspend_disable = rk806_set_suspend_disable, }; +static const struct regulator_ops rk806_ops_ldo6 = { + .list_voltage = regulator_list_voltage_linear_range, + .map_voltage = regulator_map_voltage_linear_range, + + .get_voltage_sel = rk806_get_voltage_sel_regmap, + .set_voltage = rk806_set_voltage, + .set_voltage_time_sel = regulator_set_voltage_time_sel, + + .set_ramp_delay = rk806_set_ramp_delay, + + .set_suspend_voltage = rk806_set_suspend_voltage_range, + .resume = rk806_regulator_resume, +}; + #define RK806_REGULATOR(_name, _supply_name, _id, _ops,\ _n_voltages, _vr, _er, _lr, ctrl_bit)\ [_id] = {\ @@ -1033,7 +1052,7 @@ RK806_LDO_SEL_CNT, RK806_PLDO5_ON_VSEL, RK806_POWER_EN5, rk806_ldo_voltage_ranges, 1), - RK806_REGULATOR("PLDO_REG6", "vcca", RK806_ID_PLDO6, rk806_ops_ldo, + RK806_REGULATOR("PLDO_REG6", "vcca", RK806_ID_PLDO6, rk806_ops_ldo6, RK806_LDO_SEL_CNT, RK806_PLDO6_ON_VSEL, RK806_POWER_EN4, rk806_ldo_voltage_ranges, 0), }; -- Gitblit v1.6.2