Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
335553ce
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
170
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
335553ce
编写于
4月 24, 2013
作者:
Z
Zhang Rui
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'eduardo-1' of .git into next
上级
4f89038f
837b26bb
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
57 addition
and
3 deletion
+57
-3
drivers/thermal/thermal_core.c
drivers/thermal/thermal_core.c
+55
-3
include/linux/thermal.h
include/linux/thermal.h
+2
-0
未找到文件。
drivers/thermal/thermal_core.c
浏览文件 @
335553ce
...
...
@@ -369,16 +369,28 @@ static void handle_thermal_trip(struct thermal_zone_device *tz, int trip)
monitor_thermal_zone
(
tz
);
}
static
int
thermal_zone_get_temp
(
struct
thermal_zone_device
*
tz
,
unsigned
long
*
temp
)
/**
* thermal_zone_get_temp() - returns its the temperature of thermal zone
* @tz: a valid pointer to a struct thermal_zone_device
* @temp: a valid pointer to where to store the resulting temperature.
*
* When a valid thermal zone reference is passed, it will fetch its
* temperature and fill @temp.
*
* Return: On success returns 0, an error code otherwise
*/
int
thermal_zone_get_temp
(
struct
thermal_zone_device
*
tz
,
unsigned
long
*
temp
)
{
int
ret
=
0
;
int
ret
=
-
EINVAL
;
#ifdef CONFIG_THERMAL_EMULATION
int
count
;
unsigned
long
crit_temp
=
-
1UL
;
enum
thermal_trip_type
type
;
#endif
if
(
IS_ERR_OR_NULL
(
tz
))
goto
exit
;
mutex_lock
(
&
tz
->
lock
);
ret
=
tz
->
ops
->
get_temp
(
tz
,
temp
);
...
...
@@ -402,8 +414,10 @@ static int thermal_zone_get_temp(struct thermal_zone_device *tz,
skip_emul:
#endif
mutex_unlock
(
&
tz
->
lock
);
exit:
return
ret
;
}
EXPORT_SYMBOL_GPL
(
thermal_zone_get_temp
);
static
void
update_temperature
(
struct
thermal_zone_device
*
tz
)
{
...
...
@@ -1754,6 +1768,44 @@ void thermal_zone_device_unregister(struct thermal_zone_device *tz)
}
EXPORT_SYMBOL
(
thermal_zone_device_unregister
);
/**
* thermal_zone_get_zone_by_name() - search for a zone and returns its ref
* @name: thermal zone name to fetch the temperature
*
* When only one zone is found with the passed name, returns a reference to it.
*
* Return: On success returns a reference to an unique thermal zone with
* matching name equals to @name, an ERR_PTR otherwise (-EINVAL for invalid
* paramenters, -ENODEV for not found and -EEXIST for multiple matches).
*/
struct
thermal_zone_device
*
thermal_zone_get_zone_by_name
(
const
char
*
name
)
{
struct
thermal_zone_device
*
pos
=
NULL
,
*
ref
=
ERR_PTR
(
-
EINVAL
);
unsigned
int
found
=
0
;
if
(
!
name
)
goto
exit
;
mutex_lock
(
&
thermal_list_lock
);
list_for_each_entry
(
pos
,
&
thermal_tz_list
,
node
)
if
(
!
strnicmp
(
name
,
pos
->
type
,
THERMAL_NAME_LENGTH
))
{
found
++
;
ref
=
pos
;
}
mutex_unlock
(
&
thermal_list_lock
);
/* nothing has been found, thus an error code for it */
if
(
found
==
0
)
ref
=
ERR_PTR
(
-
ENODEV
);
else
if
(
found
>
1
)
/* Success only when an unique zone is found */
ref
=
ERR_PTR
(
-
EEXIST
);
exit:
return
ref
;
}
EXPORT_SYMBOL_GPL
(
thermal_zone_get_zone_by_name
);
#ifdef CONFIG_NET
static
struct
genl_family
thermal_event_genl_family
=
{
.
id
=
GENL_ID_GENERATE
,
...
...
include/linux/thermal.h
浏览文件 @
335553ce
...
...
@@ -239,6 +239,8 @@ void thermal_zone_device_update(struct thermal_zone_device *);
struct
thermal_cooling_device
*
thermal_cooling_device_register
(
char
*
,
void
*
,
const
struct
thermal_cooling_device_ops
*
);
void
thermal_cooling_device_unregister
(
struct
thermal_cooling_device
*
);
struct
thermal_zone_device
*
thermal_zone_get_zone_by_name
(
const
char
*
name
);
int
thermal_zone_get_temp
(
struct
thermal_zone_device
*
tz
,
unsigned
long
*
temp
);
int
get_tz_trend
(
struct
thermal_zone_device
*
,
int
);
struct
thermal_instance
*
get_thermal_instance
(
struct
thermal_zone_device
*
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录