Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
64e94e7e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
169
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看板
提交
64e94e7e
编写于
1月 29, 2013
作者:
R
Rafael J. Wysocki
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'acpi-scan' into acpi-cleanup
The following commits depend on the 'acpi-scan' material.
上级
2c0d4fe0
c511cc19
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
21 addition
and
27 deletion
+21
-27
drivers/acpi/dock.c
drivers/acpi/dock.c
+2
-6
drivers/acpi/scan.c
drivers/acpi/scan.c
+15
-13
drivers/pci/hotplug/acpiphp_glue.c
drivers/pci/hotplug/acpiphp_glue.c
+3
-7
include/acpi/acpi_bus.h
include/acpi/acpi_bus.h
+1
-1
未找到文件。
drivers/acpi/dock.c
浏览文件 @
64e94e7e
...
...
@@ -336,13 +336,9 @@ static struct acpi_device * dock_create_acpi_device(acpi_handle handle)
static
void
dock_remove_acpi_device
(
acpi_handle
handle
)
{
struct
acpi_device
*
device
;
int
ret
;
if
(
!
acpi_bus_get_device
(
handle
,
&
device
))
{
ret
=
acpi_bus_trim
(
device
);
if
(
ret
)
pr_debug
(
"error removing bus, %x
\n
"
,
-
ret
);
}
if
(
!
acpi_bus_get_device
(
handle
,
&
device
))
acpi_bus_trim
(
device
);
}
/**
...
...
drivers/acpi/scan.c
浏览文件 @
64e94e7e
...
...
@@ -52,6 +52,7 @@ static const struct acpi_device_id acpi_platform_device_ids[] = {
static
LIST_HEAD
(
acpi_device_list
);
static
LIST_HEAD
(
acpi_bus_id_list
);
static
DEFINE_MUTEX
(
acpi_scan_lock
);
DEFINE_MUTEX
(
acpi_device_lock
);
LIST_HEAD
(
acpi_wakeup_device_list
);
...
...
@@ -127,13 +128,8 @@ void acpi_bus_hot_remove_device(void *context)
ACPI_DEBUG_PRINT
((
ACPI_DB_INFO
,
"Hot-removing device %s...
\n
"
,
dev_name
(
&
device
->
dev
)));
if
(
acpi_bus_trim
(
device
))
{
printk
(
KERN_ERR
PREFIX
"Removing device failed
\n
"
);
goto
err_out
;
}
/* device has been freed */
acpi_bus_trim
(
device
);
/* Device node has been released. */
device
=
NULL
;
/* power off device */
...
...
@@ -1616,19 +1612,22 @@ static acpi_status acpi_bus_device_attach(acpi_handle handle, u32 lvl_not_used,
int
acpi_bus_scan
(
acpi_handle
handle
)
{
void
*
device
=
NULL
;
int
error
=
0
;
mutex_lock
(
&
acpi_scan_lock
);
if
(
ACPI_SUCCESS
(
acpi_bus_check_add
(
handle
,
0
,
NULL
,
&
device
)))
acpi_walk_namespace
(
ACPI_TYPE_ANY
,
handle
,
ACPI_UINT32_MAX
,
acpi_bus_check_add
,
NULL
,
NULL
,
&
device
);
if
(
!
device
)
return
-
ENODEV
;
if
(
ACPI_SUCCESS
(
acpi_bus_device_attach
(
handle
,
0
,
NULL
,
NULL
)))
error
=
-
ENODEV
;
else
if
(
ACPI_SUCCESS
(
acpi_bus_device_attach
(
handle
,
0
,
NULL
,
NULL
)))
acpi_walk_namespace
(
ACPI_TYPE_ANY
,
handle
,
ACPI_UINT32_MAX
,
acpi_bus_device_attach
,
NULL
,
NULL
,
NULL
);
return
0
;
mutex_unlock
(
&
acpi_scan_lock
);
return
error
;
}
EXPORT_SYMBOL
(
acpi_bus_scan
);
...
...
@@ -1655,8 +1654,10 @@ static acpi_status acpi_bus_remove(acpi_handle handle, u32 lvl_not_used,
return
AE_OK
;
}
int
acpi_bus_trim
(
struct
acpi_device
*
start
)
void
acpi_bus_trim
(
struct
acpi_device
*
start
)
{
mutex_lock
(
&
acpi_scan_lock
);
/*
* Execute acpi_bus_device_detach() as a post-order callback to detach
* all ACPI drivers from the device nodes being removed.
...
...
@@ -1671,7 +1672,8 @@ int acpi_bus_trim(struct acpi_device *start)
acpi_walk_namespace
(
ACPI_TYPE_ANY
,
start
->
handle
,
ACPI_UINT32_MAX
,
NULL
,
acpi_bus_remove
,
NULL
,
NULL
);
acpi_bus_remove
(
start
->
handle
,
0
,
NULL
,
NULL
);
return
0
;
mutex_unlock
(
&
acpi_scan_lock
);
}
EXPORT_SYMBOL_GPL
(
acpi_bus_trim
);
...
...
drivers/pci/hotplug/acpiphp_glue.c
浏览文件 @
64e94e7e
...
...
@@ -742,8 +742,7 @@ static int acpiphp_bus_add(struct acpiphp_func *func)
/* this shouldn't be in here, so remove
* the bus then re-add it...
*/
ret_val
=
acpi_bus_trim
(
device
);
dbg
(
"acpi_bus_trim return %x
\n
"
,
ret_val
);
acpi_bus_trim
(
device
);
}
ret_val
=
acpi_bus_scan
(
func
->
handle
);
...
...
@@ -772,11 +771,8 @@ static int acpiphp_bus_trim(acpi_handle handle)
return
retval
;
}
retval
=
acpi_bus_trim
(
device
);
if
(
retval
)
err
(
"cannot remove from acpi list
\n
"
);
return
retval
;
acpi_bus_trim
(
device
);
return
0
;
}
static
void
acpiphp_set_acpi_region
(
struct
acpiphp_slot
*
slot
)
...
...
include/acpi/acpi_bus.h
浏览文件 @
64e94e7e
...
...
@@ -386,7 +386,7 @@ int acpi_bus_register_driver(struct acpi_driver *driver);
void
acpi_bus_unregister_driver
(
struct
acpi_driver
*
driver
);
int
acpi_bus_scan
(
acpi_handle
handle
);
void
acpi_bus_hot_remove_device
(
void
*
context
);
int
acpi_bus_trim
(
struct
acpi_device
*
start
);
void
acpi_bus_trim
(
struct
acpi_device
*
start
);
acpi_status
acpi_bus_get_ejd
(
acpi_handle
handle
,
acpi_handle
*
ejd
);
int
acpi_match_device_ids
(
struct
acpi_device
*
device
,
const
struct
acpi_device_id
*
ids
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录