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
Kirill Smelkov
linux
Commits
3f108409
Commit
3f108409
authored
Jun 17, 2004
by
Alexander Viro
Committed by
Linus Torvalds
Jun 17, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] sparse: drivers/input annotations
Trivial annotations in drivers/input
parent
cb960669
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
24 deletions
+25
-24
drivers/input/joydev.c
drivers/input/joydev.c
+21
-20
drivers/input/misc/uinput.c
drivers/input/misc/uinput.c
+3
-3
drivers/input/tsdev.c
drivers/input/tsdev.c
+1
-1
No files found.
drivers/input/joydev.c
View file @
3f108409
...
@@ -191,12 +191,12 @@ static int joydev_open(struct inode *inode, struct file *file)
...
@@ -191,12 +191,12 @@ static int joydev_open(struct inode *inode, struct file *file)
return
0
;
return
0
;
}
}
static
ssize_t
joydev_write
(
struct
file
*
file
,
const
char
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
static
ssize_t
joydev_write
(
struct
file
*
file
,
const
char
__user
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
{
{
return
-
EINVAL
;
return
-
EINVAL
;
}
}
static
ssize_t
joydev_read
(
struct
file
*
file
,
char
*
buf
,
size_t
count
,
loff_t
*
ppos
)
static
ssize_t
joydev_read
(
struct
file
*
file
,
char
__user
*
buf
,
size_t
count
,
loff_t
*
ppos
)
{
{
struct
joydev_list
*
list
=
file
->
private_data
;
struct
joydev_list
*
list
=
file
->
private_data
;
struct
joydev
*
joydev
=
list
->
joydev
;
struct
joydev
*
joydev
=
list
->
joydev
;
...
@@ -291,6 +291,7 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
...
@@ -291,6 +291,7 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
struct
joydev_list
*
list
=
file
->
private_data
;
struct
joydev_list
*
list
=
file
->
private_data
;
struct
joydev
*
joydev
=
list
->
joydev
;
struct
joydev
*
joydev
=
list
->
joydev
;
struct
input_dev
*
dev
=
joydev
->
handle
.
dev
;
struct
input_dev
*
dev
=
joydev
->
handle
.
dev
;
void
__user
*
argp
=
(
void
__user
*
)
arg
;
int
i
,
j
;
int
i
,
j
;
if
(
!
joydev
->
exist
)
return
-
ENODEV
;
if
(
!
joydev
->
exist
)
return
-
ENODEV
;
...
@@ -298,34 +299,34 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
...
@@ -298,34 +299,34 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
switch
(
cmd
)
{
switch
(
cmd
)
{
case
JS_SET_CAL
:
case
JS_SET_CAL
:
return
copy_from_user
(
&
joydev
->
glue
.
JS_CORR
,
(
struct
JS_DATA_TYPE
*
)
arg
,
return
copy_from_user
(
&
joydev
->
glue
.
JS_CORR
,
argp
,
sizeof
(
struct
JS_DATA_TYPE
))
?
-
EFAULT
:
0
;
sizeof
(
struct
JS_DATA_TYPE
))
?
-
EFAULT
:
0
;
case
JS_GET_CAL
:
case
JS_GET_CAL
:
return
copy_to_user
(
(
struct
JS_DATA_TYPE
*
)
arg
,
&
joydev
->
glue
.
JS_CORR
,
return
copy_to_user
(
argp
,
&
joydev
->
glue
.
JS_CORR
,
sizeof
(
struct
JS_DATA_TYPE
))
?
-
EFAULT
:
0
;
sizeof
(
struct
JS_DATA_TYPE
))
?
-
EFAULT
:
0
;
case
JS_SET_TIMEOUT
:
case
JS_SET_TIMEOUT
:
return
get_user
(
joydev
->
glue
.
JS_TIMEOUT
,
(
int
*
)
arg
);
return
get_user
(
joydev
->
glue
.
JS_TIMEOUT
,
(
int
__user
*
)
arg
);
case
JS_GET_TIMEOUT
:
case
JS_GET_TIMEOUT
:
return
put_user
(
joydev
->
glue
.
JS_TIMEOUT
,
(
int
*
)
arg
);
return
put_user
(
joydev
->
glue
.
JS_TIMEOUT
,
(
int
__user
*
)
arg
);
case
JS_SET_TIMELIMIT
:
case
JS_SET_TIMELIMIT
:
return
get_user
(
joydev
->
glue
.
JS_TIMELIMIT
,
(
long
*
)
arg
);
return
get_user
(
joydev
->
glue
.
JS_TIMELIMIT
,
(
long
__user
*
)
arg
);
case
JS_GET_TIMELIMIT
:
case
JS_GET_TIMELIMIT
:
return
put_user
(
joydev
->
glue
.
JS_TIMELIMIT
,
(
long
*
)
arg
);
return
put_user
(
joydev
->
glue
.
JS_TIMELIMIT
,
(
long
__user
*
)
arg
);
case
JS_SET_ALL
:
case
JS_SET_ALL
:
return
copy_from_user
(
&
joydev
->
glue
,
(
struct
JS_DATA_SAVE_TYPE
*
)
arg
,
return
copy_from_user
(
&
joydev
->
glue
,
argp
,
sizeof
(
struct
JS_DATA_SAVE_TYPE
))
?
-
EFAULT
:
0
;
sizeof
(
struct
JS_DATA_SAVE_TYPE
))
?
-
EFAULT
:
0
;
case
JS_GET_ALL
:
case
JS_GET_ALL
:
return
copy_to_user
(
(
struct
JS_DATA_SAVE_TYPE
*
)
arg
,
&
joydev
->
glue
,
return
copy_to_user
(
argp
,
&
joydev
->
glue
,
sizeof
(
struct
JS_DATA_SAVE_TYPE
))
?
-
EFAULT
:
0
;
sizeof
(
struct
JS_DATA_SAVE_TYPE
))
?
-
EFAULT
:
0
;
case
JSIOCGVERSION
:
case
JSIOCGVERSION
:
return
put_user
(
JS_VERSION
,
(
__u32
*
)
arg
);
return
put_user
(
JS_VERSION
,
(
__u32
__user
*
)
arg
);
case
JSIOCGAXES
:
case
JSIOCGAXES
:
return
put_user
(
joydev
->
nabs
,
(
__u8
*
)
arg
);
return
put_user
(
joydev
->
nabs
,
(
__u8
__user
*
)
arg
);
case
JSIOCGBUTTONS
:
case
JSIOCGBUTTONS
:
return
put_user
(
joydev
->
nkey
,
(
__u8
*
)
arg
);
return
put_user
(
joydev
->
nkey
,
(
__u8
__user
*
)
arg
);
case
JSIOCSCORR
:
case
JSIOCSCORR
:
if
(
copy_from_user
(
joydev
->
corr
,
(
struct
js_corr
*
)
arg
,
if
(
copy_from_user
(
joydev
->
corr
,
argp
,
sizeof
(
struct
js_corr
)
*
joydev
->
nabs
))
sizeof
(
struct
js_corr
)
*
joydev
->
nabs
))
return
-
EFAULT
;
return
-
EFAULT
;
for
(
i
=
0
;
i
<
joydev
->
nabs
;
i
++
)
{
for
(
i
=
0
;
i
<
joydev
->
nabs
;
i
++
)
{
...
@@ -334,10 +335,10 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
...
@@ -334,10 +335,10 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
}
}
return
0
;
return
0
;
case
JSIOCGCORR
:
case
JSIOCGCORR
:
return
copy_to_user
(
(
struct
js_corr
*
)
arg
,
joydev
->
corr
,
return
copy_to_user
(
argp
,
joydev
->
corr
,
sizeof
(
struct
js_corr
)
*
joydev
->
nabs
)
?
-
EFAULT
:
0
;
sizeof
(
struct
js_corr
)
*
joydev
->
nabs
)
?
-
EFAULT
:
0
;
case
JSIOCSAXMAP
:
case
JSIOCSAXMAP
:
if
(
copy_from_user
(
joydev
->
abspam
,
(
__u8
*
)
arg
,
sizeof
(
__u8
)
*
ABS_MAX
))
if
(
copy_from_user
(
joydev
->
abspam
,
argp
,
sizeof
(
__u8
)
*
ABS_MAX
))
return
-
EFAULT
;
return
-
EFAULT
;
for
(
i
=
0
;
i
<
joydev
->
nabs
;
i
++
)
{
for
(
i
=
0
;
i
<
joydev
->
nabs
;
i
++
)
{
if
(
joydev
->
abspam
[
i
]
>
ABS_MAX
)
return
-
EINVAL
;
if
(
joydev
->
abspam
[
i
]
>
ABS_MAX
)
return
-
EINVAL
;
...
@@ -345,10 +346,10 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
...
@@ -345,10 +346,10 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
}
}
return
0
;
return
0
;
case
JSIOCGAXMAP
:
case
JSIOCGAXMAP
:
return
copy_to_user
(
(
__u8
*
)
arg
,
joydev
->
abspam
,
return
copy_to_user
(
argp
,
joydev
->
abspam
,
sizeof
(
__u8
)
*
ABS_MAX
)
?
-
EFAULT
:
0
;
sizeof
(
__u8
)
*
ABS_MAX
)
?
-
EFAULT
:
0
;
case
JSIOCSBTNMAP
:
case
JSIOCSBTNMAP
:
if
(
copy_from_user
(
joydev
->
keypam
,
(
__u16
*
)
arg
,
sizeof
(
__u16
)
*
(
KEY_MAX
-
BTN_MISC
)))
if
(
copy_from_user
(
joydev
->
keypam
,
argp
,
sizeof
(
__u16
)
*
(
KEY_MAX
-
BTN_MISC
)))
return
-
EFAULT
;
return
-
EFAULT
;
for
(
i
=
0
;
i
<
joydev
->
nkey
;
i
++
)
{
for
(
i
=
0
;
i
<
joydev
->
nkey
;
i
++
)
{
if
(
joydev
->
keypam
[
i
]
>
KEY_MAX
||
joydev
->
keypam
[
i
]
<
BTN_MISC
)
return
-
EINVAL
;
if
(
joydev
->
keypam
[
i
]
>
KEY_MAX
||
joydev
->
keypam
[
i
]
<
BTN_MISC
)
return
-
EINVAL
;
...
@@ -356,7 +357,7 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
...
@@ -356,7 +357,7 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
}
}
return
0
;
return
0
;
case
JSIOCGBTNMAP
:
case
JSIOCGBTNMAP
:
return
copy_to_user
(
(
__u16
*
)
arg
,
joydev
->
keypam
,
return
copy_to_user
(
argp
,
joydev
->
keypam
,
sizeof
(
__u16
)
*
(
KEY_MAX
-
BTN_MISC
))
?
-
EFAULT
:
0
;
sizeof
(
__u16
)
*
(
KEY_MAX
-
BTN_MISC
))
?
-
EFAULT
:
0
;
default:
default:
if
((
cmd
&
~
(
_IOC_SIZEMASK
<<
_IOC_SIZESHIFT
))
==
JSIOCGNAME
(
0
))
{
if
((
cmd
&
~
(
_IOC_SIZEMASK
<<
_IOC_SIZESHIFT
))
==
JSIOCGNAME
(
0
))
{
...
@@ -364,7 +365,7 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
...
@@ -364,7 +365,7 @@ static int joydev_ioctl(struct inode *inode, struct file *file, unsigned int cmd
if
(
!
dev
->
name
)
return
0
;
if
(
!
dev
->
name
)
return
0
;
len
=
strlen
(
dev
->
name
)
+
1
;
len
=
strlen
(
dev
->
name
)
+
1
;
if
(
len
>
_IOC_SIZE
(
cmd
))
len
=
_IOC_SIZE
(
cmd
);
if
(
len
>
_IOC_SIZE
(
cmd
))
len
=
_IOC_SIZE
(
cmd
);
if
(
copy_to_user
(
(
char
*
)
arg
,
dev
->
name
,
len
))
return
-
EFAULT
;
if
(
copy_to_user
(
argp
,
dev
->
name
,
len
))
return
-
EFAULT
;
return
len
;
return
len
;
}
}
}
}
...
...
drivers/input/misc/uinput.c
View file @
3f108409
...
@@ -166,7 +166,7 @@ static int uinput_validate_absbits(struct input_dev *dev)
...
@@ -166,7 +166,7 @@ static int uinput_validate_absbits(struct input_dev *dev)
return
retval
;
return
retval
;
}
}
static
int
uinput_alloc_device
(
struct
file
*
file
,
const
char
*
buffer
,
size_t
count
)
static
int
uinput_alloc_device
(
struct
file
*
file
,
const
char
__user
*
buffer
,
size_t
count
)
{
{
struct
uinput_user_dev
*
user_dev
;
struct
uinput_user_dev
*
user_dev
;
struct
input_dev
*
dev
;
struct
input_dev
*
dev
;
...
@@ -226,7 +226,7 @@ static int uinput_alloc_device(struct file *file, const char *buffer, size_t cou
...
@@ -226,7 +226,7 @@ static int uinput_alloc_device(struct file *file, const char *buffer, size_t cou
return
retval
;
return
retval
;
}
}
static
ssize_t
uinput_write
(
struct
file
*
file
,
const
char
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
static
ssize_t
uinput_write
(
struct
file
*
file
,
const
char
__user
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
{
{
struct
uinput_device
*
udev
=
file
->
private_data
;
struct
uinput_device
*
udev
=
file
->
private_data
;
...
@@ -243,7 +243,7 @@ static ssize_t uinput_write(struct file *file, const char *buffer, size_t count,
...
@@ -243,7 +243,7 @@ static ssize_t uinput_write(struct file *file, const char *buffer, size_t count,
return
count
;
return
count
;
}
}
static
ssize_t
uinput_read
(
struct
file
*
file
,
char
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
static
ssize_t
uinput_read
(
struct
file
*
file
,
char
__user
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
{
{
struct
uinput_device
*
udev
=
file
->
private_data
;
struct
uinput_device
*
udev
=
file
->
private_data
;
int
retval
=
0
;
int
retval
=
0
;
...
...
drivers/input/tsdev.c
View file @
3f108409
...
@@ -151,7 +151,7 @@ static int tsdev_release(struct inode *inode, struct file *file)
...
@@ -151,7 +151,7 @@ static int tsdev_release(struct inode *inode, struct file *file)
return
0
;
return
0
;
}
}
static
ssize_t
tsdev_read
(
struct
file
*
file
,
char
*
buffer
,
size_t
count
,
static
ssize_t
tsdev_read
(
struct
file
*
file
,
char
__user
*
buffer
,
size_t
count
,
loff_t
*
ppos
)
loff_t
*
ppos
)
{
{
struct
tsdev_list
*
list
=
file
->
private_data
;
struct
tsdev_list
*
list
=
file
->
private_data
;
...
...
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