Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
e88b7bb0
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
e88b7bb0
编写于
3月 31, 2013
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cciss: switch to ->show_info()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
25daa96f
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
45 addition
and
51 deletion
+45
-51
drivers/block/cciss_scsi.c
drivers/block/cciss_scsi.c
+45
-51
未找到文件。
drivers/block/cciss_scsi.c
浏览文件 @
e88b7bb0
...
...
@@ -54,13 +54,11 @@ static CommandList_struct *cmd_special_alloc(ctlr_info_t *h);
static
void
cmd_free
(
ctlr_info_t
*
h
,
CommandList_struct
*
c
);
static
void
cmd_special_free
(
ctlr_info_t
*
h
,
CommandList_struct
*
c
);
static
int
cciss_scsi_proc_info
(
struct
Scsi_Host
*
sh
,
static
int
cciss_scsi_write_info
(
struct
Scsi_Host
*
sh
,
char
*
buffer
,
/* data buffer */
char
**
start
,
/* where data in buffer starts */
off_t
offset
,
/* offset from start of imaginary file */
int
length
,
/* length of data in buffer */
int
func
);
/* 0 == read, 1 == write */
int
length
);
/* length of data in buffer */
static
int
cciss_scsi_show_info
(
struct
seq_file
*
m
,
struct
Scsi_Host
*
sh
);
static
int
cciss_scsi_queue_command
(
struct
Scsi_Host
*
h
,
struct
scsi_cmnd
*
cmd
);
...
...
@@ -82,7 +80,8 @@ static struct scsi_host_template cciss_driver_template = {
.
module
=
THIS_MODULE
,
.
name
=
"cciss"
,
.
proc_name
=
"cciss"
,
.
proc_info
=
cciss_scsi_proc_info
,
.
write_info
=
cciss_scsi_write_info
,
.
show_info
=
cciss_scsi_show_info
,
.
queuecommand
=
cciss_scsi_queue_command
,
.
this_id
=
7
,
.
cmd_per_lun
=
1
,
...
...
@@ -1302,26 +1301,30 @@ cciss_scsi_user_command(ctlr_info_t *h, int hostno, char *buffer, int length)
return
length
;
}
static
int
cciss_scsi_
proc
_info
(
struct
Scsi_Host
*
sh
,
cciss_scsi_
write
_info
(
struct
Scsi_Host
*
sh
,
char
*
buffer
,
/* data buffer */
char
**
start
,
/* where data in buffer starts */
off_t
offset
,
/* offset from start of imaginary file */
int
length
,
/* length of data in buffer */
int
func
)
/* 0 == read, 1 == write */
int
length
)
/* length of data in buffer */
{
ctlr_info_t
*
h
=
(
ctlr_info_t
*
)
sh
->
hostdata
[
0
];
if
(
h
==
NULL
)
/* This really shouldn't ever happen. */
return
-
EINVAL
;
int
buflen
,
datalen
;
ctlr_info_t
*
h
;
return
cciss_scsi_user_command
(
h
,
sh
->
host_no
,
buffer
,
length
);
}
static
int
cciss_scsi_show_info
(
struct
seq_file
*
m
,
struct
Scsi_Host
*
sh
)
{
ctlr_info_t
*
h
=
(
ctlr_info_t
*
)
sh
->
hostdata
[
0
];
int
i
;
h
=
(
ctlr_info_t
*
)
sh
->
hostdata
[
0
];
if
(
h
==
NULL
)
/* This really shouldn't ever happen. */
return
-
EINVAL
;
if
(
func
==
0
)
{
/* User is reading from /proc/scsi/ciss*?/?* */
buflen
=
sprintf
(
buffer
,
"cciss%d: SCSI host: %d
\n
"
,
seq_printf
(
m
,
"cciss%d: SCSI host: %d
\n
"
,
h
->
ctlr
,
sh
->
host_no
);
/* this information is needed by apps to know which cciss
...
...
@@ -1335,7 +1338,7 @@ cciss_scsi_proc_info(struct Scsi_Host *sh,
for
(
i
=
0
;
i
<
ccissscsi
[
h
->
ctlr
].
ndevices
;
i
++
)
{
struct
cciss_scsi_dev_t
*
sd
=
&
ccissscsi
[
h
->
ctlr
].
dev
[
i
];
buflen
+=
sprintf
(
&
buffer
[
buflen
]
,
"c%db%dt%dl%d %02d "
seq_printf
(
m
,
"c%db%dt%dl%d %02d "
"0x%02x%02x%02x%02x%02x%02x%02x%02x
\n
"
,
sh
->
host_no
,
sd
->
bus
,
sd
->
target
,
sd
->
lun
,
sd
->
devtype
,
...
...
@@ -1344,16 +1347,7 @@ cciss_scsi_proc_info(struct Scsi_Host *sh,
sd
->
scsi3addr
[
4
],
sd
->
scsi3addr
[
5
],
sd
->
scsi3addr
[
6
],
sd
->
scsi3addr
[
7
]);
}
datalen
=
buflen
-
offset
;
if
(
datalen
<
0
)
{
/* they're reading past EOF. */
datalen
=
0
;
*
start
=
buffer
+
buflen
;
}
else
*
start
=
buffer
+
offset
;
return
(
datalen
);
}
else
/* User is writing to /proc/scsi/cciss*?/?* ... */
return
cciss_scsi_user_command
(
h
,
sh
->
host_no
,
buffer
,
length
);
return
0
;
}
/* cciss_scatter_gather takes a struct scsi_cmnd, (cmd), and does the pci
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录