Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
d89537e1
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,发现更多精彩内容 >>
提交
d89537e1
编写于
3月 31, 2013
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
atari_scsi: switch to ->show_info()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
f0002e95
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
62 addition
and
87 deletion
+62
-87
drivers/scsi/atari_NCR5380.c
drivers/scsi/atari_NCR5380.c
+60
-85
drivers/scsi/atari_scsi.c
drivers/scsi/atari_scsi.c
+1
-1
drivers/scsi/atari_scsi.h
drivers/scsi/atari_scsi.h
+1
-1
未找到文件。
drivers/scsi/atari_NCR5380.c
浏览文件 @
d89537e1
...
...
@@ -719,119 +719,94 @@ static void __init NCR5380_print_options(struct Scsi_Host *instance)
* Inputs : instance, pointer to this instance.
*/
static
void
NCR5380_print_status
(
struct
Scsi_Host
*
instance
)
static
void
lprint_Scsi_Cmnd
(
Scsi_Cmnd
*
cmd
)
{
char
*
pr_bfr
;
char
*
start
;
int
len
;
NCR_PRINT
(
NDEBUG_ANY
);
NCR_PRINT_PHASE
(
NDEBUG_ANY
);
pr_bfr
=
(
char
*
)
__get_free_page
(
GFP_ATOMIC
);
if
(
!
pr_bfr
)
{
printk
(
"NCR5380_print_status: no memory for print buffer
\n
"
);
return
;
}
len
=
NCR5380_proc_info
(
instance
,
pr_bfr
,
&
start
,
0
,
PAGE_SIZE
,
0
);
pr_bfr
[
len
]
=
0
;
printk
(
"
\n
%s
\n
"
,
pr_bfr
);
free_page
((
unsigned
long
)
pr_bfr
);
int
i
,
s
;
unsigned
char
*
command
;
printk
(
"scsi%d: destination target %d, lun %d
\n
"
,
H_NO
(
cmd
),
cmd
->
device
->
id
,
cmd
->
device
->
lun
);
printk
(
KERN_CONT
" command = "
);
command
=
cmd
->
cmnd
;
printk
(
KERN_CONT
"%2d (0x%02x)"
,
command
[
0
],
command
[
0
]);
for
(
i
=
1
,
s
=
COMMAND_SIZE
(
command
[
0
]);
i
<
s
;
++
i
)
printk
(
KERN_CONT
" %02x"
,
command
[
i
]);
printk
(
"
\n
"
);
}
/******************************************/
/*
* /proc/scsi/[dtc pas16 t128 generic]/[0-ASC_NUM_BOARD_SUPPORTED]
*
* *buffer: I/O buffer
* **start: if inout == FALSE pointer into buffer where user read should start
* offset: current offset
* length: length of buffer
* hostno: Scsi_Host host_no
* inout: TRUE - user is writing; FALSE - user is reading
*
* Return the number of bytes read from or written
*/
#undef SPRINTF
#define SPRINTF(fmt,args...) \
do { \
if (pos + strlen(fmt) + 20
/* slop */
< buffer + length) \
pos += sprintf(pos, fmt , ## args); \
} while(0)
static
char
*
lprint_Scsi_Cmnd
(
Scsi_Cmnd
*
cmd
,
char
*
pos
,
char
*
buffer
,
int
length
);
static
int
NCR5380_proc_info
(
struct
Scsi_Host
*
instance
,
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
inout
)
static
void
NCR5380_print_status
(
struct
Scsi_Host
*
instance
)
{
char
*
pos
=
buffer
;
struct
NCR5380_hostdata
*
hostdata
;
Scsi_Cmnd
*
ptr
;
unsigned
long
flags
;
off_t
begin
=
0
;
#define check_offset() \
do { \
if (pos - buffer < offset - begin) { \
begin += pos - buffer; \
pos = buffer; \
} \
} while (0)
NCR_PRINT
(
NDEBUG_ANY
);
NCR_PRINT_PHASE
(
NDEBUG_ANY
);
hostdata
=
(
struct
NCR5380_hostdata
*
)
instance
->
hostdata
;
if
(
inout
)
/* Has data been written to the file ? */
return
-
ENOSYS
;
/* Currently this is a no-op */
SPRINTF
(
"NCR5380 core release=%d.
\n
"
,
NCR5380_PUBLIC_RELEASE
);
check_offset
();
printk
(
"
\n
NCR5380 core release=%d.
\n
"
,
NCR5380_PUBLIC_RELEASE
);
local_irq_save
(
flags
);
SPRINTF
(
"NCR5380: coroutine is%s running.
\n
"
,
printk
(
"NCR5380: coroutine is%s running.
\n
"
,
main_running
?
""
:
"n't"
);
check_offset
();
if
(
!
hostdata
->
connected
)
SPRINTF
(
"scsi%d: no currently connected command
\n
"
,
HOSTNO
);
printk
(
"scsi%d: no currently connected command
\n
"
,
HOSTNO
);
else
pos
=
lprint_Scsi_Cmnd
((
Scsi_Cmnd
*
)
hostdata
->
connected
,
pos
,
buffer
,
length
);
SPRINTF
(
"scsi%d: issue_queue
\n
"
,
HOSTNO
);
check_offset
();
for
(
ptr
=
(
Scsi_Cmnd
*
)
hostdata
->
issue_queue
;
ptr
;
ptr
=
NEXT
(
ptr
))
{
pos
=
lprint_Scsi_Cmnd
(
ptr
,
pos
,
buffer
,
length
);
check_offset
();
}
lprint_Scsi_Cmnd
((
Scsi_Cmnd
*
)
hostdata
->
connected
);
printk
(
"scsi%d: issue_queue
\n
"
,
HOSTNO
);
for
(
ptr
=
(
Scsi_Cmnd
*
)
hostdata
->
issue_queue
;
ptr
;
ptr
=
NEXT
(
ptr
))
lprint_Scsi_Cmnd
(
ptr
);
SPRINTF
(
"scsi%d: disconnected_queue
\n
"
,
HOSTNO
);
check_offset
();
printk
(
"scsi%d: disconnected_queue
\n
"
,
HOSTNO
);
for
(
ptr
=
(
Scsi_Cmnd
*
)
hostdata
->
disconnected_queue
;
ptr
;
ptr
=
NEXT
(
ptr
))
{
pos
=
lprint_Scsi_Cmnd
(
ptr
,
pos
,
buffer
,
length
);
check_offset
();
}
ptr
=
NEXT
(
ptr
))
lprint_Scsi_Cmnd
(
ptr
);
local_irq_restore
(
flags
);
*
start
=
buffer
+
(
offset
-
begin
);
if
(
pos
-
buffer
<
offset
-
begin
)
return
0
;
else
if
(
pos
-
buffer
-
(
offset
-
begin
)
<
length
)
return
pos
-
buffer
-
(
offset
-
begin
);
return
length
;
printk
(
"
\n
"
);
}
static
char
*
lprint_Scsi_Cmnd
(
Scsi_Cmnd
*
cmd
,
char
*
pos
,
char
*
buffer
,
int
length
)
static
void
show_Scsi_Cmnd
(
Scsi_Cmnd
*
cmd
,
struct
seq_file
*
m
)
{
int
i
,
s
;
unsigned
char
*
command
;
SPRINTF
(
"scsi%d: destination target %d, lun %d
\n
"
,
seq_printf
(
m
,
"scsi%d: destination target %d, lun %d
\n
"
,
H_NO
(
cmd
),
cmd
->
device
->
id
,
cmd
->
device
->
lun
);
SPRINTF
(
" command = "
);
seq_printf
(
m
,
" command = "
);
command
=
cmd
->
cmnd
;
SPRINTF
(
"%2d (0x%02x)"
,
command
[
0
],
command
[
0
]);
seq_printf
(
m
,
"%2d (0x%02x)"
,
command
[
0
],
command
[
0
]);
for
(
i
=
1
,
s
=
COMMAND_SIZE
(
command
[
0
]);
i
<
s
;
++
i
)
SPRINTF
(
" %02x"
,
command
[
i
]);
SPRINTF
(
"
\n
"
);
return
pos
;
seq_printf
(
m
,
" %02x"
,
command
[
i
]);
seq_printf
(
m
,
"
\n
"
);
}
static
int
NCR5380_show_info
(
struct
seq_file
*
m
,
struct
Scsi_Host
*
instance
)
{
struct
NCR5380_hostdata
*
hostdata
;
Scsi_Cmnd
*
ptr
;
unsigned
long
flags
;
hostdata
=
(
struct
NCR5380_hostdata
*
)
instance
->
hostdata
;
seq_printf
(
m
,
"NCR5380 core release=%d.
\n
"
,
NCR5380_PUBLIC_RELEASE
);
local_irq_save
(
flags
);
seq_printf
(
m
,
"NCR5380: coroutine is%s running.
\n
"
,
main_running
?
""
:
"n't"
);
if
(
!
hostdata
->
connected
)
seq_printf
(
m
,
"scsi%d: no currently connected command
\n
"
,
HOSTNO
);
else
show_Scsi_Cmnd
((
Scsi_Cmnd
*
)
hostdata
->
connected
,
m
);
seq_printf
(
m
,
"scsi%d: issue_queue
\n
"
,
HOSTNO
);
for
(
ptr
=
(
Scsi_Cmnd
*
)
hostdata
->
issue_queue
;
ptr
;
ptr
=
NEXT
(
ptr
))
show_Scsi_Cmnd
(
ptr
,
m
);
seq_printf
(
m
,
"scsi%d: disconnected_queue
\n
"
,
HOSTNO
);
for
(
ptr
=
(
Scsi_Cmnd
*
)
hostdata
->
disconnected_queue
;
ptr
;
ptr
=
NEXT
(
ptr
))
show_Scsi_Cmnd
(
ptr
,
m
);
local_irq_restore
(
flags
);
return
0
;
}
/*
* Function : void NCR5380_init (struct Scsi_Host *instance)
...
...
drivers/scsi/atari_scsi.c
浏览文件 @
d89537e1
...
...
@@ -1100,7 +1100,7 @@ static void atari_scsi_falcon_reg_write(unsigned char reg, unsigned char value)
#include "atari_NCR5380.c"
static
struct
scsi_host_template
driver_template
=
{
.
proc_info
=
atari_scsi_proc
_info
,
.
show_info
=
atari_scsi_show
_info
,
.
name
=
"Atari native SCSI"
,
.
detect
=
atari_scsi_detect
,
.
release
=
atari_scsi_release
,
...
...
drivers/scsi/atari_scsi.h
浏览文件 @
d89537e1
...
...
@@ -47,7 +47,7 @@
#define NCR5380_intr atari_scsi_intr
#define NCR5380_queue_command atari_scsi_queue_command
#define NCR5380_abort atari_scsi_abort
#define NCR5380_
proc_info atari_scsi_proc
_info
#define NCR5380_
show_info atari_scsi_show
_info
#define NCR5380_dma_read_setup(inst,d,c) atari_scsi_dma_setup (inst, d, c, 0)
#define NCR5380_dma_write_setup(inst,d,c) atari_scsi_dma_setup (inst, d, c, 1)
#define NCR5380_dma_residual(inst) atari_scsi_dma_residual( inst )
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录