Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
813dc1b0
K
Kernel
项目概览
openeuler
/
Kernel
接近 2 年 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
813dc1b0
编写于
4月 28, 2013
作者:
M
Mark Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'regulator/topic/tps65023' into v3.9-rc8
上级
22a712b9
46bcb006
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
22 deletion
+9
-22
drivers/regulator/tps65023-regulator.c
drivers/regulator/tps65023-regulator.c
+9
-22
未找到文件。
drivers/regulator/tps65023-regulator.c
浏览文件 @
813dc1b0
...
...
@@ -149,20 +149,15 @@ struct tps_driver_data {
static
int
tps65023_dcdc_get_voltage_sel
(
struct
regulator_dev
*
dev
)
{
struct
tps_pmic
*
tps
=
rdev_get_drvdata
(
dev
);
int
ret
;
int
data
,
dcdc
=
rdev_get_id
(
dev
);
int
dcdc
=
rdev_get_id
(
dev
);
if
(
dcdc
<
TPS65023_DCDC_1
||
dcdc
>
TPS65023_DCDC_3
)
return
-
EINVAL
;
if
(
dcdc
==
tps
->
core_regulator
)
{
ret
=
regmap_read
(
tps
->
regmap
,
TPS65023_REG_DEF_CORE
,
&
data
);
if
(
ret
!=
0
)
return
ret
;
data
&=
(
tps
->
info
[
dcdc
]
->
table_len
-
1
);
return
data
;
}
else
if
(
dcdc
!=
tps
->
core_regulator
)
return
0
;
return
regulator_get_voltage_sel_regmap
(
dev
);
}
static
int
tps65023_dcdc_set_voltage_sel
(
struct
regulator_dev
*
dev
,
...
...
@@ -170,23 +165,11 @@ static int tps65023_dcdc_set_voltage_sel(struct regulator_dev *dev,
{
struct
tps_pmic
*
tps
=
rdev_get_drvdata
(
dev
);
int
dcdc
=
rdev_get_id
(
dev
);
int
ret
;
if
(
dcdc
!=
tps
->
core_regulator
)
return
-
EINVAL
;
ret
=
regmap_write
(
tps
->
regmap
,
TPS65023_REG_DEF_CORE
,
selector
);
if
(
ret
)
goto
out
;
/* Tell the chip that we have changed the value in DEFCORE
* and its time to update the core voltage
*/
ret
=
regmap_update_bits
(
tps
->
regmap
,
TPS65023_REG_CON_CTRL2
,
TPS65023_REG_CTRL2_GO
,
TPS65023_REG_CTRL2_GO
);
out:
return
ret
;
return
regulator_set_voltage_sel_regmap
(
dev
,
selector
);
}
/* Operations permitted on VDCDCx */
...
...
@@ -282,6 +265,10 @@ static int tps_65023_probe(struct i2c_client *client,
default:
/* DCDCx */
tps
->
desc
[
i
].
enable_mask
=
1
<<
(
TPS65023_NUM_REGULATOR
-
i
);
tps
->
desc
[
i
].
vsel_reg
=
TPS65023_REG_DEF_CORE
;
tps
->
desc
[
i
].
vsel_mask
=
info
->
table_len
-
1
;
tps
->
desc
[
i
].
apply_reg
=
TPS65023_REG_CON_CTRL2
;
tps
->
desc
[
i
].
apply_bit
=
TPS65023_REG_CTRL2_GO
;
}
config
.
dev
=
&
client
->
dev
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录