Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
c207908f
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c207908f
编写于
3月 09, 2007
作者:
L
Len Brown
浏览文件
操作
浏览文件
下载
差异文件
Pull altix into release branch
上级
a967e127
3fd0b2d9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
24 addition
and
22 deletion
+24
-22
arch/ia64/sn/kernel/io_acpi_init.c
arch/ia64/sn/kernel/io_acpi_init.c
+22
-22
arch/ia64/sn/kernel/setup.c
arch/ia64/sn/kernel/setup.c
+2
-0
未找到文件。
arch/ia64/sn/kernel/io_acpi_init.c
浏览文件 @
c207908f
...
@@ -53,12 +53,15 @@ sal_ioif_init(u64 *result)
...
@@ -53,12 +53,15 @@ sal_ioif_init(u64 *result)
}
}
/*
/*
* sn_hubdev_add - The 'add' function of the acpi_sn_hubdev_driver.
* sn_acpi_hubdev_init() - This function is called by acpi_ns_get_device_callback()
* Called for every "SGIHUB" or "SGITIO" device defined
* for all SGIHUB and SGITIO acpi devices defined in the
* in the ACPI namespace.
* DSDT. It obtains the hubdev_info pointer from the
* ACPI vendor resource, which the PROM setup, and sets up the
* hubdev_info in the pda.
*/
*/
static
int
__init
sn_hubdev_add
(
struct
acpi_device
*
device
)
static
acpi_status
__init
sn_acpi_hubdev_init
(
acpi_handle
handle
,
u32
depth
,
void
*
context
,
void
**
ret
)
{
{
struct
acpi_buffer
buffer
=
{
ACPI_ALLOCATE_BUFFER
,
NULL
};
struct
acpi_buffer
buffer
=
{
ACPI_ALLOCATE_BUFFER
,
NULL
};
u64
addr
;
u64
addr
;
...
@@ -67,18 +70,19 @@ sn_hubdev_add(struct acpi_device *device)
...
@@ -67,18 +70,19 @@ sn_hubdev_add(struct acpi_device *device)
int
i
;
int
i
;
u64
nasid
;
u64
nasid
;
struct
acpi_resource
*
resource
;
struct
acpi_resource
*
resource
;
int
ret
=
0
;
acpi_status
status
;
acpi_status
status
;
struct
acpi_resource_vendor_typed
*
vendor
;
struct
acpi_resource_vendor_typed
*
vendor
;
extern
void
sn_common_hubdev_init
(
struct
hubdev_info
*
);
extern
void
sn_common_hubdev_init
(
struct
hubdev_info
*
);
status
=
acpi_get_vendor_resource
(
device
->
handle
,
METHOD_NAME__CRS
,
status
=
acpi_get_vendor_resource
(
handle
,
METHOD_NAME__CRS
,
&
sn_uuid
,
&
buffer
);
&
sn_uuid
,
&
buffer
);
if
(
ACPI_FAILURE
(
status
))
{
if
(
ACPI_FAILURE
(
status
))
{
printk
(
KERN_ERR
printk
(
KERN_ERR
"sn_hubdev_add: acpi_get_vendor_resource() failed: %d
\n
"
,
"sn_acpi_hubdev_init: acpi_get_vendor_resource() "
status
);
"(0x%x) failed for: "
,
status
);
return
1
;
acpi_ns_print_node_pathname
(
handle
,
NULL
);
printk
(
"
\n
"
);
return
AE_OK
;
/* Continue walking namespace */
}
}
resource
=
buffer
.
pointer
;
resource
=
buffer
.
pointer
;
...
@@ -86,9 +90,10 @@ sn_hubdev_add(struct acpi_device *device)
...
@@ -86,9 +90,10 @@ sn_hubdev_add(struct acpi_device *device)
if
((
vendor
->
byte_length
-
sizeof
(
struct
acpi_vendor_uuid
))
!=
if
((
vendor
->
byte_length
-
sizeof
(
struct
acpi_vendor_uuid
))
!=
sizeof
(
struct
hubdev_info
*
))
{
sizeof
(
struct
hubdev_info
*
))
{
printk
(
KERN_ERR
printk
(
KERN_ERR
"sn_
hubdev_add: Invalid vendor data length: %d
\n
"
,
"sn_
acpi_hubdev_init: Invalid vendor data length: %d for:
"
,
vendor
->
byte_length
);
vendor
->
byte_length
);
ret
=
1
;
acpi_ns_print_node_pathname
(
handle
,
NULL
);
printk
(
"
\n
"
);
goto
exit
;
goto
exit
;
}
}
...
@@ -103,7 +108,7 @@ sn_hubdev_add(struct acpi_device *device)
...
@@ -103,7 +108,7 @@ sn_hubdev_add(struct acpi_device *device)
exit:
exit:
kfree
(
buffer
.
pointer
);
kfree
(
buffer
.
pointer
);
return
ret
;
return
AE_OK
;
/* Continue walking namespace */
}
}
/*
/*
...
@@ -441,14 +446,6 @@ sn_acpi_slot_fixup(struct pci_dev *dev)
...
@@ -441,14 +446,6 @@ sn_acpi_slot_fixup(struct pci_dev *dev)
EXPORT_SYMBOL
(
sn_acpi_slot_fixup
);
EXPORT_SYMBOL
(
sn_acpi_slot_fixup
);
static
struct
acpi_driver
acpi_sn_hubdev_driver
=
{
.
name
=
"SGI HUBDEV Driver"
,
.
ids
=
"SGIHUB,SGITIO"
,
.
ops
=
{
.
add
=
sn_hubdev_add
,
},
};
/*
/*
* sn_acpi_bus_fixup - Perform SN specific setup of software structs
* sn_acpi_bus_fixup - Perform SN specific setup of software structs
...
@@ -492,7 +489,10 @@ sn_io_acpi_init(void)
...
@@ -492,7 +489,10 @@ sn_io_acpi_init(void)
/* SN Altix does not follow the IOSAPIC IRQ routing model */
/* SN Altix does not follow the IOSAPIC IRQ routing model */
acpi_irq_model
=
ACPI_IRQ_MODEL_PLATFORM
;
acpi_irq_model
=
ACPI_IRQ_MODEL_PLATFORM
;
acpi_bus_register_driver
(
&
acpi_sn_hubdev_driver
);
/* Setup hubdev_info for all SGIHUB/SGITIO devices */
acpi_get_devices
(
"SGIHUB"
,
sn_acpi_hubdev_init
,
NULL
,
NULL
);
acpi_get_devices
(
"SGITIO"
,
sn_acpi_hubdev_init
,
NULL
,
NULL
);
status
=
sal_ioif_init
(
&
result
);
status
=
sal_ioif_init
(
&
result
);
if
(
status
||
result
)
if
(
status
||
result
)
panic
(
"sal_ioif_init failed: [%lx] %s
\n
"
,
panic
(
"sal_ioif_init failed: [%lx] %s
\n
"
,
...
...
arch/ia64/sn/kernel/setup.c
浏览文件 @
c207908f
...
@@ -397,6 +397,8 @@ void __init sn_setup(char **cmdline_p)
...
@@ -397,6 +397,8 @@ void __init sn_setup(char **cmdline_p)
ia64_sn_set_os_feature
(
OSF_PCISEGMENT_ENABLE
);
ia64_sn_set_os_feature
(
OSF_PCISEGMENT_ENABLE
);
ia64_sn_set_os_feature
(
OSF_ACPI_ENABLE
);
ia64_sn_set_os_feature
(
OSF_ACPI_ENABLE
);
/* Load the new DSDT and SSDT tables into the global table list. */
acpi_table_init
();
#if defined(CONFIG_VT) && defined(CONFIG_VGA_CONSOLE)
#if defined(CONFIG_VT) && defined(CONFIG_VGA_CONSOLE)
/*
/*
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录