Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
d89537e1
Commit
d89537e1
authored
Mar 31, 2013
by
Al Viro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
atari_scsi: switch to ->show_info()
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
f0002e95
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
62 additions
and
87 deletions
+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
No files found.
drivers/scsi/atari_NCR5380.c
View file @
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
View file @
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
View file @
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 )
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment