Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
86d9fc12
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
86d9fc12
编写于
3月 26, 2008
作者:
L
Len Brown
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'release', 'idle', 'redhat-bugzilla-436589', 'sbs' and 'video' into release
上级
08dcf29e
8e92b660
33fd7afd
7642d211
5c9fcb5d
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
33 addition
and
19 deletion
+33
-19
drivers/acpi/processor_idle.c
drivers/acpi/processor_idle.c
+5
-2
drivers/acpi/sbshc.c
drivers/acpi/sbshc.c
+0
-1
drivers/acpi/scan.c
drivers/acpi/scan.c
+12
-6
drivers/cpuidle/cpuidle.c
drivers/cpuidle/cpuidle.c
+2
-2
drivers/cpuidle/sysfs.c
drivers/cpuidle/sysfs.c
+8
-2
drivers/pnp/pnpacpi/rsparser.c
drivers/pnp/pnpacpi/rsparser.c
+4
-4
include/linux/cpuidle.h
include/linux/cpuidle.h
+2
-2
未找到文件。
drivers/acpi/processor_idle.c
浏览文件 @
86d9fc12
...
@@ -1487,7 +1487,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
...
@@ -1487,7 +1487,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
return
0
;
return
0
;
}
}
acpi_unlazy_tlb
(
smp_processor_id
());
/*
/*
* Must be done before busmaster disable as we might need to
* Must be done before busmaster disable as we might need to
* access HPET !
* access HPET !
...
@@ -1577,6 +1576,8 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
...
@@ -1577,6 +1576,8 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
return
0
;
return
0
;
}
}
acpi_unlazy_tlb
(
smp_processor_id
());
/* Tell the scheduler that we are going deep-idle: */
/* Tell the scheduler that we are going deep-idle: */
sched_clock_idle_sleep_event
();
sched_clock_idle_sleep_event
();
/*
/*
...
@@ -1692,7 +1693,9 @@ static int acpi_processor_setup_cpuidle(struct acpi_processor *pr)
...
@@ -1692,7 +1693,9 @@ static int acpi_processor_setup_cpuidle(struct acpi_processor *pr)
switch
(
cx
->
type
)
{
switch
(
cx
->
type
)
{
case
ACPI_STATE_C1
:
case
ACPI_STATE_C1
:
state
->
flags
|=
CPUIDLE_FLAG_SHALLOW
;
state
->
flags
|=
CPUIDLE_FLAG_SHALLOW
;
state
->
flags
|=
CPUIDLE_FLAG_TIME_VALID
;
if
(
cx
->
entry_method
==
ACPI_CSTATE_FFH
)
state
->
flags
|=
CPUIDLE_FLAG_TIME_VALID
;
state
->
enter
=
acpi_idle_enter_c1
;
state
->
enter
=
acpi_idle_enter_c1
;
dev
->
safe_state
=
state
;
dev
->
safe_state
=
state
;
break
;
break
;
...
...
drivers/acpi/sbshc.c
浏览文件 @
86d9fc12
...
@@ -130,7 +130,6 @@ static int acpi_smbus_transaction(struct acpi_smb_hc *hc, u8 protocol,
...
@@ -130,7 +130,6 @@ static int acpi_smbus_transaction(struct acpi_smb_hc *hc, u8 protocol,
goto
end
;
goto
end
;
}
}
smb_hc_write
(
hc
,
ACPI_SMB_COMMAND
,
command
);
smb_hc_write
(
hc
,
ACPI_SMB_COMMAND
,
command
);
smb_hc_write
(
hc
,
ACPI_SMB_COMMAND
,
command
);
if
(
!
(
protocol
&
0x01
))
{
if
(
!
(
protocol
&
0x01
))
{
smb_hc_write
(
hc
,
ACPI_SMB_BLOCK_COUNT
,
length
);
smb_hc_write
(
hc
,
ACPI_SMB_BLOCK_COUNT
,
length
);
for
(
i
=
0
;
i
<
length
;
++
i
)
for
(
i
=
0
;
i
<
length
;
++
i
)
...
...
drivers/acpi/scan.c
浏览文件 @
86d9fc12
...
@@ -39,20 +39,26 @@ static int create_modalias(struct acpi_device *acpi_dev, char *modalias,
...
@@ -39,20 +39,26 @@ static int create_modalias(struct acpi_device *acpi_dev, char *modalias,
int
size
)
int
size
)
{
{
int
len
;
int
len
;
int
count
;
if
(
!
acpi_dev
->
flags
.
hardware_id
)
if
(
!
acpi_dev
->
flags
.
hardware_id
&&
!
acpi_dev
->
flags
.
compatible_ids
)
return
-
ENODEV
;
return
-
ENODEV
;
len
=
snprintf
(
modalias
,
size
,
"acpi:%s:"
,
len
=
snprintf
(
modalias
,
size
,
"acpi:"
);
acpi_dev
->
pnp
.
hardware_id
);
if
(
len
<
0
||
len
>=
size
)
return
-
EINVAL
;
size
-=
len
;
size
-=
len
;
if
(
acpi_dev
->
flags
.
hardware_id
)
{
count
=
snprintf
(
&
modalias
[
len
],
size
,
"%s:"
,
acpi_dev
->
pnp
.
hardware_id
);
if
(
count
<
0
||
count
>=
size
)
return
-
EINVAL
;
len
+=
count
;
size
-=
count
;
}
if
(
acpi_dev
->
flags
.
compatible_ids
)
{
if
(
acpi_dev
->
flags
.
compatible_ids
)
{
struct
acpi_compatible_id_list
*
cid_list
;
struct
acpi_compatible_id_list
*
cid_list
;
int
i
;
int
i
;
int
count
;
cid_list
=
acpi_dev
->
pnp
.
cid_list
;
cid_list
=
acpi_dev
->
pnp
.
cid_list
;
for
(
i
=
0
;
i
<
cid_list
->
count
;
i
++
)
{
for
(
i
=
0
;
i
<
cid_list
->
count
;
i
++
)
{
...
...
drivers/cpuidle/cpuidle.c
浏览文件 @
86d9fc12
...
@@ -67,7 +67,7 @@ static void cpuidle_idle_call(void)
...
@@ -67,7 +67,7 @@ static void cpuidle_idle_call(void)
/* enter the state and update stats */
/* enter the state and update stats */
dev
->
last_residency
=
target_state
->
enter
(
dev
,
target_state
);
dev
->
last_residency
=
target_state
->
enter
(
dev
,
target_state
);
dev
->
last_state
=
target_state
;
dev
->
last_state
=
target_state
;
target_state
->
time
+=
dev
->
last_residency
;
target_state
->
time
+=
(
unsigned
long
long
)
dev
->
last_residency
;
target_state
->
usage
++
;
target_state
->
usage
++
;
/* give the governor an opportunity to reflect on the outcome */
/* give the governor an opportunity to reflect on the outcome */
...
@@ -224,7 +224,7 @@ static void poll_idle_init(struct cpuidle_device *dev)
...
@@ -224,7 +224,7 @@ static void poll_idle_init(struct cpuidle_device *dev)
state
->
exit_latency
=
0
;
state
->
exit_latency
=
0
;
state
->
target_residency
=
0
;
state
->
target_residency
=
0
;
state
->
power_usage
=
-
1
;
state
->
power_usage
=
-
1
;
state
->
flags
=
CPUIDLE_FLAG_POLL
|
CPUIDLE_FLAG_TIME_VALID
;
state
->
flags
=
CPUIDLE_FLAG_POLL
;
state
->
enter
=
poll_idle
;
state
->
enter
=
poll_idle
;
}
}
#else
#else
...
...
drivers/cpuidle/sysfs.c
浏览文件 @
86d9fc12
...
@@ -218,6 +218,12 @@ static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
...
@@ -218,6 +218,12 @@ static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
return sprintf(buf, "%u\n", state->_name);\
return sprintf(buf, "%u\n", state->_name);\
}
}
#define define_show_state_ull_function(_name) \
static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
{ \
return sprintf(buf, "%llu\n", state->_name);\
}
#define define_show_state_str_function(_name) \
#define define_show_state_str_function(_name) \
static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
{ \
{ \
...
@@ -228,8 +234,8 @@ static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
...
@@ -228,8 +234,8 @@ static ssize_t show_state_##_name(struct cpuidle_state *state, char *buf) \
define_show_state_function
(
exit_latency
)
define_show_state_function
(
exit_latency
)
define_show_state_function
(
power_usage
)
define_show_state_function
(
power_usage
)
define_show_state_function
(
usage
)
define_show_state_
ull_
function
(
usage
)
define_show_state_function
(
time
)
define_show_state_
ull_
function
(
time
)
define_show_state_str_function
(
name
)
define_show_state_str_function
(
name
)
define_show_state_str_function
(
desc
)
define_show_state_str_function
(
desc
)
...
...
drivers/pnp/pnpacpi/rsparser.c
浏览文件 @
86d9fc12
...
@@ -85,7 +85,7 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res,
...
@@ -85,7 +85,7 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_resource_table *res,
i
<
PNP_MAX_IRQ
)
i
<
PNP_MAX_IRQ
)
i
++
;
i
++
;
if
(
i
>=
PNP_MAX_IRQ
&&
!
warned
)
{
if
(
i
>=
PNP_MAX_IRQ
&&
!
warned
)
{
printk
(
KERN_
ERR
"pnpacpi: exceeded the max number of IRQ "
printk
(
KERN_
WARNING
"pnpacpi: exceeded the max number of IRQ "
"resources: %d
\n
"
,
PNP_MAX_IRQ
);
"resources: %d
\n
"
,
PNP_MAX_IRQ
);
warned
=
1
;
warned
=
1
;
return
;
return
;
...
@@ -187,7 +187,7 @@ static void pnpacpi_parse_allocated_dmaresource(struct pnp_resource_table *res,
...
@@ -187,7 +187,7 @@ static void pnpacpi_parse_allocated_dmaresource(struct pnp_resource_table *res,
res
->
dma_resource
[
i
].
start
=
dma
;
res
->
dma_resource
[
i
].
start
=
dma
;
res
->
dma_resource
[
i
].
end
=
dma
;
res
->
dma_resource
[
i
].
end
=
dma
;
}
else
if
(
!
warned
)
{
}
else
if
(
!
warned
)
{
printk
(
KERN_
ERR
"pnpacpi: exceeded the max number of DMA "
printk
(
KERN_
WARNING
"pnpacpi: exceeded the max number of DMA "
"resources: %d
\n
"
,
PNP_MAX_DMA
);
"resources: %d
\n
"
,
PNP_MAX_DMA
);
warned
=
1
;
warned
=
1
;
}
}
...
@@ -213,7 +213,7 @@ static void pnpacpi_parse_allocated_ioresource(struct pnp_resource_table *res,
...
@@ -213,7 +213,7 @@ static void pnpacpi_parse_allocated_ioresource(struct pnp_resource_table *res,
res
->
port_resource
[
i
].
start
=
io
;
res
->
port_resource
[
i
].
start
=
io
;
res
->
port_resource
[
i
].
end
=
io
+
len
-
1
;
res
->
port_resource
[
i
].
end
=
io
+
len
-
1
;
}
else
if
(
!
warned
)
{
}
else
if
(
!
warned
)
{
printk
(
KERN_
ERR
"pnpacpi: exceeded the max number of IO "
printk
(
KERN_
WARNING
"pnpacpi: exceeded the max number of IO "
"resources: %d
\n
"
,
PNP_MAX_PORT
);
"resources: %d
\n
"
,
PNP_MAX_PORT
);
warned
=
1
;
warned
=
1
;
}
}
...
@@ -241,7 +241,7 @@ static void pnpacpi_parse_allocated_memresource(struct pnp_resource_table *res,
...
@@ -241,7 +241,7 @@ static void pnpacpi_parse_allocated_memresource(struct pnp_resource_table *res,
res
->
mem_resource
[
i
].
start
=
mem
;
res
->
mem_resource
[
i
].
start
=
mem
;
res
->
mem_resource
[
i
].
end
=
mem
+
len
-
1
;
res
->
mem_resource
[
i
].
end
=
mem
+
len
-
1
;
}
else
if
(
!
warned
)
{
}
else
if
(
!
warned
)
{
printk
(
KERN_
ERR
"pnpacpi: exceeded the max number of mem "
printk
(
KERN_
WARNING
"pnpacpi: exceeded the max number of mem "
"resources: %d
\n
"
,
PNP_MAX_MEM
);
"resources: %d
\n
"
,
PNP_MAX_MEM
);
warned
=
1
;
warned
=
1
;
}
}
...
...
include/linux/cpuidle.h
浏览文件 @
86d9fc12
...
@@ -38,8 +38,8 @@ struct cpuidle_state {
...
@@ -38,8 +38,8 @@ struct cpuidle_state {
unsigned
int
power_usage
;
/* in mW */
unsigned
int
power_usage
;
/* in mW */
unsigned
int
target_residency
;
/* in US */
unsigned
int
target_residency
;
/* in US */
unsigned
int
usage
;
unsigned
long
long
usage
;
unsigned
int
time
;
/* in US */
unsigned
long
long
time
;
/* in US */
int
(
*
enter
)
(
struct
cpuidle_device
*
dev
,
int
(
*
enter
)
(
struct
cpuidle_device
*
dev
,
struct
cpuidle_state
*
state
);
struct
cpuidle_state
*
state
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录