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
b4d9a442
Commit
b4d9a442
authored
Mar 02, 2008
by
Al Viro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] switch swim3
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
5e5e007c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
18 deletions
+18
-18
drivers/block/swim3.c
drivers/block/swim3.c
+18
-18
No files found.
drivers/block/swim3.c
View file @
b4d9a442
...
...
@@ -244,10 +244,10 @@ static int grab_drive(struct floppy_state *fs, enum swim_state state,
int
interruptible
);
static
void
release_drive
(
struct
floppy_state
*
fs
);
static
int
fd_eject
(
struct
floppy_state
*
fs
);
static
int
floppy_ioctl
(
struct
inode
*
inode
,
struct
file
*
filp
,
static
int
floppy_ioctl
(
struct
block_device
*
bdev
,
fmode_t
mode
,
unsigned
int
cmd
,
unsigned
long
param
);
static
int
floppy_open
(
struct
inode
*
inode
,
struct
file
*
filp
);
static
int
floppy_release
(
struct
inode
*
inode
,
struct
file
*
filp
);
static
int
floppy_open
(
struct
block_device
*
bdev
,
fmode_t
mode
);
static
int
floppy_release
(
struct
gendisk
*
disk
,
fmode_t
mode
);
static
int
floppy_check_change
(
struct
gendisk
*
disk
);
static
int
floppy_revalidate
(
struct
gendisk
*
disk
);
...
...
@@ -839,10 +839,10 @@ static int fd_eject(struct floppy_state *fs)
static
struct
floppy_struct
floppy_type
=
{
2880
,
18
,
2
,
80
,
0
,
0x1B
,
0x00
,
0xCF
,
0x6C
,
NULL
};
/* 7 1.44MB 3.5" */
static
int
floppy_ioctl
(
struct
inode
*
inode
,
struct
file
*
filp
,
static
int
floppy_ioctl
(
struct
block_device
*
bdev
,
fmode_t
mode
,
unsigned
int
cmd
,
unsigned
long
param
)
{
struct
floppy_state
*
fs
=
inode
->
i_
bdev
->
bd_disk
->
private_data
;
struct
floppy_state
*
fs
=
bdev
->
bd_disk
->
private_data
;
int
err
;
if
((
cmd
&
0x80
)
&&
!
capable
(
CAP_SYS_ADMIN
))
...
...
@@ -868,9 +868,9 @@ static int floppy_ioctl(struct inode *inode, struct file *filp,
return
-
ENOTTY
;
}
static
int
floppy_open
(
struct
inode
*
inode
,
struct
file
*
filp
)
static
int
floppy_open
(
struct
block_device
*
bdev
,
fmode_t
mode
)
{
struct
floppy_state
*
fs
=
inode
->
i_
bdev
->
bd_disk
->
private_data
;
struct
floppy_state
*
fs
=
bdev
->
bd_disk
->
private_data
;
struct
swim3
__iomem
*
sw
=
fs
->
swim3
;
int
n
,
err
=
0
;
...
...
@@ -904,17 +904,17 @@ static int floppy_open(struct inode *inode, struct file *filp)
swim3_action
(
fs
,
SETMFM
);
swim3_select
(
fs
,
RELAX
);
}
else
if
(
fs
->
ref_count
==
-
1
||
filp
->
f_
mode
&
FMODE_EXCL
)
}
else
if
(
fs
->
ref_count
==
-
1
||
mode
&
FMODE_EXCL
)
return
-
EBUSY
;
if
(
err
==
0
&&
(
filp
->
f_
mode
&
FMODE_NDELAY
)
==
0
&&
(
filp
->
f_
mode
&
(
FMODE_READ
|
FMODE_WRITE
)))
{
check_disk_change
(
inode
->
i_
bdev
);
if
(
err
==
0
&&
(
mode
&
FMODE_NDELAY
)
==
0
&&
(
mode
&
(
FMODE_READ
|
FMODE_WRITE
)))
{
check_disk_change
(
bdev
);
if
(
fs
->
ejected
)
err
=
-
ENXIO
;
}
if
(
err
==
0
&&
(
filp
->
f_
mode
&
FMODE_WRITE
))
{
if
(
err
==
0
&&
(
mode
&
FMODE_WRITE
))
{
if
(
fs
->
write_prot
<
0
)
fs
->
write_prot
=
swim3_readbit
(
fs
,
WRITE_PROT
);
if
(
fs
->
write_prot
)
...
...
@@ -930,7 +930,7 @@ static int floppy_open(struct inode *inode, struct file *filp)
return
err
;
}
if
(
filp
->
f_
mode
&
FMODE_EXCL
)
if
(
mode
&
FMODE_EXCL
)
fs
->
ref_count
=
-
1
;
else
++
fs
->
ref_count
;
...
...
@@ -938,9 +938,9 @@ static int floppy_open(struct inode *inode, struct file *filp)
return
0
;
}
static
int
floppy_release
(
struct
inode
*
inode
,
struct
file
*
filp
)
static
int
floppy_release
(
struct
gendisk
*
disk
,
fmode_t
mode
)
{
struct
floppy_state
*
fs
=
inode
->
i_bdev
->
bd_
disk
->
private_data
;
struct
floppy_state
*
fs
=
disk
->
private_data
;
struct
swim3
__iomem
*
sw
=
fs
->
swim3
;
if
(
fs
->
ref_count
>
0
&&
--
fs
->
ref_count
==
0
)
{
swim3_action
(
fs
,
MOTOR_OFF
);
...
...
@@ -998,9 +998,9 @@ static int floppy_revalidate(struct gendisk *disk)
}
static
struct
block_device_operations
floppy_fops
=
{
.
__
open
=
floppy_open
,
.
__
release
=
floppy_release
,
.
__ioctl
=
floppy_ioctl
,
.
open
=
floppy_open
,
.
release
=
floppy_release
,
.
locked_ioctl
=
floppy_ioctl
,
.
media_changed
=
floppy_check_change
,
.
revalidate_disk
=
floppy_revalidate
,
};
...
...
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