Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
b7802c5c
Commit
b7802c5c
authored
Sep 09, 2009
by
Dmitry Torokhov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Input: psmouse - use boolean type
Signed-off-by:
Dmitry Torokhov
<
dtor@mail.ru
>
parent
f8113416
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
133 additions
and
125 deletions
+133
-125
drivers/input/mouse/alps.c
drivers/input/mouse/alps.c
+12
-8
drivers/input/mouse/alps.h
drivers/input/mouse/alps.h
+2
-2
drivers/input/mouse/elantech.c
drivers/input/mouse/elantech.c
+1
-1
drivers/input/mouse/elantech.h
drivers/input/mouse/elantech.h
+2
-2
drivers/input/mouse/hgpk.c
drivers/input/mouse/hgpk.c
+4
-4
drivers/input/mouse/hgpk.h
drivers/input/mouse/hgpk.h
+3
-3
drivers/input/mouse/lifebook.c
drivers/input/mouse/lifebook.c
+4
-4
drivers/input/mouse/lifebook.h
drivers/input/mouse/lifebook.h
+2
-2
drivers/input/mouse/logips2pp.c
drivers/input/mouse/logips2pp.c
+20
-21
drivers/input/mouse/logips2pp.h
drivers/input/mouse/logips2pp.h
+2
-2
drivers/input/mouse/psmouse-base.c
drivers/input/mouse/psmouse-base.c
+46
-41
drivers/input/mouse/psmouse.h
drivers/input/mouse/psmouse.h
+7
-7
drivers/input/mouse/sentelic.c
drivers/input/mouse/sentelic.c
+1
-1
drivers/input/mouse/sentelic.h
drivers/input/mouse/sentelic.h
+2
-2
drivers/input/mouse/synaptics.c
drivers/input/mouse/synaptics.c
+17
-17
drivers/input/mouse/synaptics.h
drivers/input/mouse/synaptics.h
+1
-1
drivers/input/mouse/touchkit_ps2.c
drivers/input/mouse/touchkit_ps2.c
+2
-2
drivers/input/mouse/touchkit_ps2.h
drivers/input/mouse/touchkit_ps2.h
+2
-2
drivers/input/mouse/trackpoint.c
drivers/input/mouse/trackpoint.c
+1
-1
drivers/input/mouse/trackpoint.h
drivers/input/mouse/trackpoint.h
+2
-2
No files found.
drivers/input/mouse/alps.c
View file @
b7802c5c
...
...
@@ -279,7 +279,7 @@ static const struct alps_model_info *alps_get_model(struct psmouse *psmouse, int
* subsequent commands. It looks like glidepad is behind stickpointer,
* I'd thought it would be other way around...
*/
static
int
alps_passthrough_mode
(
struct
psmouse
*
psmouse
,
int
enable
)
static
int
alps_passthrough_mode
(
struct
psmouse
*
psmouse
,
bool
enable
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
int
cmd
=
enable
?
PSMOUSE_CMD_SETSCALE21
:
PSMOUSE_CMD_SETSCALE11
;
...
...
@@ -367,16 +367,16 @@ static int alps_poll(struct psmouse *psmouse)
{
struct
alps_data
*
priv
=
psmouse
->
private
;
unsigned
char
buf
[
6
];
int
poll_failed
;
bool
poll_failed
;
if
(
priv
->
i
->
flags
&
ALPS_PASS
)
alps_passthrough_mode
(
psmouse
,
1
);
alps_passthrough_mode
(
psmouse
,
true
);
poll_failed
=
ps2_command
(
&
psmouse
->
ps2dev
,
buf
,
PSMOUSE_CMD_POLL
|
(
psmouse
->
pktsize
<<
8
))
<
0
;
if
(
priv
->
i
->
flags
&
ALPS_PASS
)
alps_passthrough_mode
(
psmouse
,
0
);
alps_passthrough_mode
(
psmouse
,
false
);
if
(
poll_failed
||
(
buf
[
0
]
&
priv
->
i
->
mask0
)
!=
priv
->
i
->
byte0
)
return
-
1
;
...
...
@@ -401,10 +401,12 @@ static int alps_hw_init(struct psmouse *psmouse, int *version)
if
(
!
priv
->
i
)
return
-
1
;
if
((
priv
->
i
->
flags
&
ALPS_PASS
)
&&
alps_passthrough_mode
(
psmouse
,
1
))
if
((
priv
->
i
->
flags
&
ALPS_PASS
)
&&
alps_passthrough_mode
(
psmouse
,
true
))
{
return
-
1
;
}
if
(
alps_tap_mode
(
psmouse
,
1
))
{
if
(
alps_tap_mode
(
psmouse
,
true
))
{
printk
(
KERN_WARNING
"alps.c: Failed to enable hardware tapping
\n
"
);
return
-
1
;
}
...
...
@@ -414,8 +416,10 @@ static int alps_hw_init(struct psmouse *psmouse, int *version)
return
-
1
;
}
if
((
priv
->
i
->
flags
&
ALPS_PASS
)
&&
alps_passthrough_mode
(
psmouse
,
0
))
if
((
priv
->
i
->
flags
&
ALPS_PASS
)
&&
alps_passthrough_mode
(
psmouse
,
false
))
{
return
-
1
;
}
/* ALPS needs stream mode, otherwise it won't report any data */
if
(
ps2_command
(
&
psmouse
->
ps2dev
,
NULL
,
PSMOUSE_CMD_SETSTREAM
))
{
...
...
@@ -519,7 +523,7 @@ init_fail:
return
-
1
;
}
int
alps_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
alps_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
int
version
;
const
struct
alps_model_info
*
model
;
...
...
drivers/input/mouse/alps.h
View file @
b7802c5c
...
...
@@ -26,10 +26,10 @@ struct alps_data {
};
#ifdef CONFIG_MOUSE_PS2_ALPS
int
alps_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
alps_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
int
alps_init
(
struct
psmouse
*
psmouse
);
#else
inline
int
alps_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
inline
int
alps_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
return
-
ENOSYS
;
}
...
...
drivers/input/mouse/elantech.c
View file @
b7802c5c
...
...
@@ -553,7 +553,7 @@ static struct attribute_group elantech_attr_group = {
/*
* Use magic knock to detect Elantech touchpad
*/
int
elantech_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
elantech_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
3
];
...
...
drivers/input/mouse/elantech.h
View file @
b7802c5c
...
...
@@ -109,10 +109,10 @@ struct elantech_data {
};
#ifdef CONFIG_MOUSE_PS2_ELANTECH
int
elantech_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
elantech_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
int
elantech_init
(
struct
psmouse
*
psmouse
);
#else
static
inline
int
elantech_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
inline
int
elantech_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
return
-
ENOSYS
;
}
...
...
drivers/input/mouse/hgpk.c
View file @
b7802c5c
...
...
@@ -367,7 +367,7 @@ static ssize_t hgpk_set_powered(struct psmouse *psmouse, void *data,
}
__PSMOUSE_DEFINE_ATTR
(
powered
,
S_IWUSR
|
S_IRUGO
,
NULL
,
hgpk_show_powered
,
hgpk_set_powered
,
0
);
hgpk_show_powered
,
hgpk_set_powered
,
false
);
static
ssize_t
hgpk_trigger_recal_show
(
struct
psmouse
*
psmouse
,
void
*
data
,
char
*
buf
)
...
...
@@ -396,7 +396,7 @@ static ssize_t hgpk_trigger_recal(struct psmouse *psmouse, void *data,
}
__PSMOUSE_DEFINE_ATTR
(
recalibrate
,
S_IWUSR
|
S_IRUGO
,
NULL
,
hgpk_trigger_recal_show
,
hgpk_trigger_recal
,
0
);
hgpk_trigger_recal_show
,
hgpk_trigger_recal
,
false
);
static
void
hgpk_disconnect
(
struct
psmouse
*
psmouse
)
{
...
...
@@ -489,7 +489,7 @@ int hgpk_init(struct psmouse *psmouse)
psmouse
->
private
=
priv
;
priv
->
psmouse
=
psmouse
;
priv
->
powered
=
1
;
priv
->
powered
=
true
;
INIT_DELAYED_WORK
(
&
priv
->
recalib_wq
,
hgpk_recalib_work
);
err
=
psmouse_reset
(
psmouse
);
...
...
@@ -532,7 +532,7 @@ static enum hgpk_model_t hgpk_get_model(struct psmouse *psmouse)
return
param
[
2
];
}
int
hgpk_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
hgpk_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
int
version
;
...
...
drivers/input/mouse/hgpk.h
View file @
b7802c5c
...
...
@@ -15,7 +15,7 @@ enum hgpk_model_t {
struct
hgpk_data
{
struct
psmouse
*
psmouse
;
int
powered
;
bool
powered
;
int
count
,
x_tally
,
y_tally
;
/* hardware workaround stuff */
unsigned
long
recalib_window
;
struct
delayed_work
recalib_wq
;
...
...
@@ -33,10 +33,10 @@ struct hgpk_data {
dev_notice(&(psmouse)->ps2dev.serio->dev, format, ## arg)
#ifdef CONFIG_MOUSE_PS2_OLPC
int
hgpk_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
hgpk_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
int
hgpk_init
(
struct
psmouse
*
psmouse
);
#else
static
inline
int
hgpk_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
inline
int
hgpk_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
return
-
ENODEV
;
}
...
...
drivers/input/mouse/lifebook.c
View file @
b7802c5c
...
...
@@ -33,11 +33,11 @@ static int lifebook_set_serio_phys(const struct dmi_system_id *d)
return
0
;
}
static
unsigned
char
lifebook_use_6byte_proto
;
static
bool
lifebook_use_6byte_proto
;
static
int
lifebook_set_6byte_proto
(
const
struct
dmi_system_id
*
d
)
{
lifebook_use_6byte_proto
=
1
;
lifebook_use_6byte_proto
=
true
;
return
0
;
}
...
...
@@ -125,7 +125,7 @@ static psmouse_ret_t lifebook_process_byte(struct psmouse *psmouse)
struct
input_dev
*
dev1
=
psmouse
->
dev
;
struct
input_dev
*
dev2
=
priv
?
priv
->
dev2
:
NULL
;
unsigned
char
*
packet
=
psmouse
->
packet
;
int
relative_packet
=
packet
[
0
]
&
0x08
;
bool
relative_packet
=
packet
[
0
]
&
0x08
;
if
(
relative_packet
||
!
lifebook_use_6byte_proto
)
{
if
(
psmouse
->
pktcnt
!=
3
)
...
...
@@ -242,7 +242,7 @@ static void lifebook_disconnect(struct psmouse *psmouse)
psmouse
->
private
=
NULL
;
}
int
lifebook_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
lifebook_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
if
(
!
dmi_check_system
(
lifebook_dmi_table
))
return
-
1
;
...
...
drivers/input/mouse/lifebook.h
View file @
b7802c5c
...
...
@@ -12,10 +12,10 @@
#define _LIFEBOOK_H
#ifdef CONFIG_MOUSE_PS2_LIFEBOOK
int
lifebook_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
lifebook_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
int
lifebook_init
(
struct
psmouse
*
psmouse
);
#else
inline
int
lifebook_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
inline
int
lifebook_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
return
-
ENOSYS
;
}
...
...
drivers/input/mouse/logips2pp.c
View file @
b7802c5c
...
...
@@ -130,14 +130,11 @@ static int ps2pp_cmd(struct psmouse *psmouse, unsigned char *param, unsigned cha
* 0 - disabled
*/
static
void
ps2pp_set_smartscroll
(
struct
psmouse
*
psmouse
,
unsigned
int
smartscroll
)
static
void
ps2pp_set_smartscroll
(
struct
psmouse
*
psmouse
,
bool
smartscroll
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
4
];
if
(
smartscroll
>
1
)
smartscroll
=
1
;
ps2pp_cmd
(
psmouse
,
param
,
0x32
);
param
[
0
]
=
0
;
...
...
@@ -149,12 +146,14 @@ static void ps2pp_set_smartscroll(struct psmouse *psmouse, unsigned int smartscr
ps2_command
(
ps2dev
,
param
,
PSMOUSE_CMD_SETRES
);
}
static
ssize_t
ps2pp_attr_show_smartscroll
(
struct
psmouse
*
psmouse
,
void
*
data
,
char
*
buf
)
static
ssize_t
ps2pp_attr_show_smartscroll
(
struct
psmouse
*
psmouse
,
void
*
data
,
char
*
buf
)
{
return
sprintf
(
buf
,
"%d
\n
"
,
psmouse
->
smartscroll
?
1
:
0
);
return
sprintf
(
buf
,
"%d
\n
"
,
psmouse
->
smartscroll
);
}
static
ssize_t
ps2pp_attr_set_smartscroll
(
struct
psmouse
*
psmouse
,
void
*
data
,
const
char
*
buf
,
size_t
count
)
static
ssize_t
ps2pp_attr_set_smartscroll
(
struct
psmouse
*
psmouse
,
void
*
data
,
const
char
*
buf
,
size_t
count
)
{
unsigned
long
value
;
...
...
@@ -261,29 +260,29 @@ static const struct ps2pp_info *get_model_info(unsigned char model)
static
void
ps2pp_set_model_properties
(
struct
psmouse
*
psmouse
,
const
struct
ps2pp_info
*
model_info
,
int
using_ps2pp
)
bool
using_ps2pp
)
{
struct
input_dev
*
input_dev
=
psmouse
->
dev
;
if
(
model_info
->
features
&
PS2PP_SIDE_BTN
)
set_bit
(
BTN_SIDE
,
input_dev
->
keybit
);
__
set_bit
(
BTN_SIDE
,
input_dev
->
keybit
);
if
(
model_info
->
features
&
PS2PP_EXTRA_BTN
)
set_bit
(
BTN_EXTRA
,
input_dev
->
keybit
);
__
set_bit
(
BTN_EXTRA
,
input_dev
->
keybit
);
if
(
model_info
->
features
&
PS2PP_TASK_BTN
)
set_bit
(
BTN_TASK
,
input_dev
->
keybit
);
__
set_bit
(
BTN_TASK
,
input_dev
->
keybit
);
if
(
model_info
->
features
&
PS2PP_NAV_BTN
)
{
set_bit
(
BTN_FORWARD
,
input_dev
->
keybit
);
set_bit
(
BTN_BACK
,
input_dev
->
keybit
);
__
set_bit
(
BTN_FORWARD
,
input_dev
->
keybit
);
__
set_bit
(
BTN_BACK
,
input_dev
->
keybit
);
}
if
(
model_info
->
features
&
PS2PP_WHEEL
)
set_bit
(
REL_WHEEL
,
input_dev
->
relbit
);
__
set_bit
(
REL_WHEEL
,
input_dev
->
relbit
);
if
(
model_info
->
features
&
PS2PP_HWHEEL
)
set_bit
(
REL_HWHEEL
,
input_dev
->
relbit
);
__
set_bit
(
REL_HWHEEL
,
input_dev
->
relbit
);
switch
(
model_info
->
kind
)
{
case
PS2PP_KIND_WHEEL
:
...
...
@@ -321,13 +320,13 @@ static void ps2pp_set_model_properties(struct psmouse *psmouse,
* that support it.
*/
int
ps2pp_init
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
ps2pp_init
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
4
];
unsigned
char
model
,
buttons
;
const
struct
ps2pp_info
*
model_info
;
int
use_ps2pp
=
0
;
bool
use_ps2pp
=
false
;
int
error
;
param
[
0
]
=
0
;
...
...
@@ -364,7 +363,7 @@ int ps2pp_init(struct psmouse *psmouse, int set_properties)
param
[
0
]
=
0
;
if
(
!
ps2_command
(
ps2dev
,
param
,
0x13d1
)
&&
param
[
0
]
==
0x06
&&
param
[
1
]
==
0x00
&&
param
[
2
]
==
0x14
)
{
use_ps2pp
=
1
;
use_ps2pp
=
true
;
}
}
else
{
...
...
@@ -376,8 +375,8 @@ int ps2pp_init(struct psmouse *psmouse, int set_properties)
if
((
param
[
0
]
&
0x78
)
==
0x48
&&
(
param
[
1
]
&
0xf3
)
==
0xc2
&&
(
param
[
2
]
&
0x03
)
==
((
param
[
1
]
>>
2
)
&
3
))
{
ps2pp_set_smartscroll
(
psmouse
,
psmouse
->
smartscroll
);
use_ps2pp
=
1
;
ps2pp_set_smartscroll
(
psmouse
,
false
);
use_ps2pp
=
true
;
}
}
}
...
...
@@ -406,7 +405,7 @@ int ps2pp_init(struct psmouse *psmouse, int set_properties)
}
if
(
buttons
<
3
)
clear_bit
(
BTN_MIDDLE
,
psmouse
->
dev
->
keybit
);
__
clear_bit
(
BTN_MIDDLE
,
psmouse
->
dev
->
keybit
);
if
(
model_info
)
ps2pp_set_model_properties
(
psmouse
,
model_info
,
use_ps2pp
);
...
...
drivers/input/mouse/logips2pp.h
View file @
b7802c5c
...
...
@@ -12,9 +12,9 @@
#define _LOGIPS2PP_H
#ifdef CONFIG_MOUSE_PS2_LOGIPS2PP
int
ps2pp_init
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
ps2pp_init
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
#else
inline
int
ps2pp_init
(
struct
psmouse
*
psmouse
,
int
set_properties
)
inline
int
ps2pp_init
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
return
-
ENOSYS
;
}
...
...
drivers/input/mouse/psmouse-base.c
View file @
b7802c5c
...
...
@@ -109,10 +109,10 @@ static struct workqueue_struct *kpsmoused_wq;
struct
psmouse_protocol
{
enum
psmouse_type
type
;
bool
maxproto
;
const
char
*
name
;
const
char
*
alias
;
int
maxproto
;
int
(
*
detect
)(
struct
psmouse
*
,
int
);
int
(
*
detect
)(
struct
psmouse
*
,
bool
);
int
(
*
init
)(
struct
psmouse
*
);
};
...
...
@@ -217,7 +217,7 @@ void psmouse_queue_work(struct psmouse *psmouse, struct delayed_work *work,
static
inline
void
__psmouse_set_state
(
struct
psmouse
*
psmouse
,
enum
psmouse_state
new_state
)
{
psmouse
->
state
=
new_state
;
psmouse
->
pktcnt
=
psmouse
->
out_of_sync
=
0
;
psmouse
->
pktcnt
=
psmouse
->
out_of_sync
_cnt
=
0
;
psmouse
->
ps2dev
.
flags
=
0
;
psmouse
->
last
=
jiffies
;
}
...
...
@@ -250,7 +250,7 @@ static int psmouse_handle_byte(struct psmouse *psmouse)
if
(
psmouse
->
state
==
PSMOUSE_ACTIVATED
)
{
printk
(
KERN_WARNING
"psmouse.c: %s at %s lost sync at byte %d
\n
"
,
psmouse
->
name
,
psmouse
->
phys
,
psmouse
->
pktcnt
);
if
(
++
psmouse
->
out_of_sync
==
psmouse
->
resetafter
)
{
if
(
++
psmouse
->
out_of_sync
_cnt
==
psmouse
->
resetafter
)
{
__psmouse_set_state
(
psmouse
,
PSMOUSE_IGNORE
);
printk
(
KERN_NOTICE
"psmouse.c: issuing reconnect request
\n
"
);
serio_reconnect
(
psmouse
->
ps2dev
.
serio
);
...
...
@@ -262,8 +262,8 @@ static int psmouse_handle_byte(struct psmouse *psmouse)
case
PSMOUSE_FULL_PACKET
:
psmouse
->
pktcnt
=
0
;
if
(
psmouse
->
out_of_sync
)
{
psmouse
->
out_of_sync
=
0
;
if
(
psmouse
->
out_of_sync
_cnt
)
{
psmouse
->
out_of_sync
_cnt
=
0
;
printk
(
KERN_NOTICE
"psmouse.c: %s at %s - driver resynched.
\n
"
,
psmouse
->
name
,
psmouse
->
phys
);
}
...
...
@@ -409,7 +409,7 @@ int psmouse_reset(struct psmouse *psmouse)
/*
* Genius NetMouse magic init.
*/
static
int
genius_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
int
genius_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
4
];
...
...
@@ -425,9 +425,9 @@ static int genius_detect(struct psmouse *psmouse, int set_properties)
return
-
1
;
if
(
set_properties
)
{
set_bit
(
BTN_EXTRA
,
psmouse
->
dev
->
keybit
);
set_bit
(
BTN_SIDE
,
psmouse
->
dev
->
keybit
);
set_bit
(
REL_WHEEL
,
psmouse
->
dev
->
relbit
);
__
set_bit
(
BTN_EXTRA
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
BTN_SIDE
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
REL_WHEEL
,
psmouse
->
dev
->
relbit
);
psmouse
->
vendor
=
"Genius"
;
psmouse
->
name
=
"Mouse"
;
...
...
@@ -440,7 +440,7 @@ static int genius_detect(struct psmouse *psmouse, int set_properties)
/*
* IntelliMouse magic init.
*/
static
int
intellimouse_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
int
intellimouse_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
2
];
...
...
@@ -457,8 +457,8 @@ static int intellimouse_detect(struct psmouse *psmouse, int set_properties)
return
-
1
;
if
(
set_properties
)
{
set_bit
(
BTN_MIDDLE
,
psmouse
->
dev
->
keybit
);
set_bit
(
REL_WHEEL
,
psmouse
->
dev
->
relbit
);
__
set_bit
(
BTN_MIDDLE
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
REL_WHEEL
,
psmouse
->
dev
->
relbit
);
if
(
!
psmouse
->
vendor
)
psmouse
->
vendor
=
"Generic"
;
if
(
!
psmouse
->
name
)
psmouse
->
name
=
"Wheel Mouse"
;
...
...
@@ -471,7 +471,7 @@ static int intellimouse_detect(struct psmouse *psmouse, int set_properties)
/*
* Try IntelliMouse/Explorer magic init.
*/
static
int
im_explorer_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
int
im_explorer_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
2
];
...
...
@@ -498,11 +498,11 @@ static int im_explorer_detect(struct psmouse *psmouse, int set_properties)
ps2_command
(
ps2dev
,
param
,
PSMOUSE_CMD_SETRATE
);
if
(
set_properties
)
{
set_bit
(
BTN_MIDDLE
,
psmouse
->
dev
->
keybit
);
set_bit
(
REL_WHEEL
,
psmouse
->
dev
->
relbit
);
set_bit
(
REL_HWHEEL
,
psmouse
->
dev
->
relbit
);
set_bit
(
BTN_SIDE
,
psmouse
->
dev
->
keybit
);
set_bit
(
BTN_EXTRA
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
BTN_MIDDLE
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
REL_WHEEL
,
psmouse
->
dev
->
relbit
);
__
set_bit
(
REL_HWHEEL
,
psmouse
->
dev
->
relbit
);
__
set_bit
(
BTN_SIDE
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
BTN_EXTRA
,
psmouse
->
dev
->
keybit
);
if
(
!
psmouse
->
vendor
)
psmouse
->
vendor
=
"Generic"
;
if
(
!
psmouse
->
name
)
psmouse
->
name
=
"Explorer Mouse"
;
...
...
@@ -515,7 +515,7 @@ static int im_explorer_detect(struct psmouse *psmouse, int set_properties)
/*
* Kensington ThinkingMouse / ExpertMouse magic init.
*/
static
int
thinking_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
int
thinking_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
2
];
...
...
@@ -536,7 +536,7 @@ static int thinking_detect(struct psmouse *psmouse, int set_properties)
return
-
1
;
if
(
set_properties
)
{
set_bit
(
BTN_EXTRA
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
BTN_EXTRA
,
psmouse
->
dev
->
keybit
);
psmouse
->
vendor
=
"Kensington"
;
psmouse
->
name
=
"ThinkingMouse"
;
...
...
@@ -548,7 +548,7 @@ static int thinking_detect(struct psmouse *psmouse, int set_properties)
/*
* Bare PS/2 protocol "detection". Always succeeds.
*/
static
int
ps2bare_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
int
ps2bare_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
if
(
set_properties
)
{
if
(
!
psmouse
->
vendor
)
psmouse
->
vendor
=
"Generic"
;
...
...
@@ -562,12 +562,12 @@ static int ps2bare_detect(struct psmouse *psmouse, int set_properties)
* Cortron PS/2 protocol detection. There's no special way to detect it, so it
* must be forced by sysfs protocol writing.
*/
static
int
cortron_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
static
int
cortron_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
if
(
set_properties
)
{
psmouse
->
vendor
=
"Cortron"
;
psmouse
->
name
=
"PS/2 Trackball"
;
set_bit
(
BTN_SIDE
,
psmouse
->
dev
->
keybit
);
__
set_bit
(
BTN_SIDE
,
psmouse
->
dev
->
keybit
);
}
return
0
;
...
...
@@ -579,9 +579,9 @@ static int cortron_detect(struct psmouse *psmouse, int set_properties)
*/
static
int
psmouse_extensions
(
struct
psmouse
*
psmouse
,
unsigned
int
max_proto
,
int
set_properties
)
unsigned
int
max_proto
,
bool
set_properties
)
{
int
synaptics_hardware
=
0
;
bool
synaptics_hardware
=
true
;
/*
* We always check for lifebook because it does not disturb mouse
...
...
@@ -608,7 +608,7 @@ static int psmouse_extensions(struct psmouse *psmouse,
* can reset it properly after probing for intellimouse.
*/
if
(
max_proto
>
PSMOUSE_PS2
&&
synaptics_detect
(
psmouse
,
set_properties
)
==
0
)
{
synaptics_hardware
=
1
;
synaptics_hardware
=
true
;
if
(
max_proto
>
PSMOUSE_IMEX
)
{
if
(
!
set_properties
||
synaptics_init
(
psmouse
)
==
0
)
...
...
@@ -733,7 +733,7 @@ static const struct psmouse_protocol psmouse_protocols[] = {
.
type
=
PSMOUSE_PS2
,
.
name
=
"PS/2"
,
.
alias
=
"bare"
,
.
maxproto
=
1
,
.
maxproto
=
true
,
.
detect
=
ps2bare_detect
,
},
#ifdef CONFIG_MOUSE_PS2_LOGIPS2PP
...
...
@@ -760,14 +760,14 @@ static const struct psmouse_protocol psmouse_protocols[] = {
.
type
=
PSMOUSE_IMPS
,
.
name
=
"ImPS/2"
,
.
alias
=
"imps"
,
.
maxproto
=
1
,
.
maxproto
=
true
,
.
detect
=
intellimouse_detect
,
},
{
.
type
=
PSMOUSE_IMEX
,
.
name
=
"ImExPS/2"
,
.
alias
=
"exps"
,
.
maxproto
=
1
,
.
maxproto
=
true
,
.
detect
=
im_explorer_detect
,
},
#ifdef CONFIG_MOUSE_PS2_SYNAPTICS
...
...
@@ -848,7 +848,7 @@ static const struct psmouse_protocol psmouse_protocols[] = {
.
type
=
PSMOUSE_AUTO
,
.
name
=
"auto"
,
.
alias
=
"any"
,
.
maxproto
=
1
,
.
maxproto
=
true
,
},
};
...
...
@@ -1014,7 +1014,7 @@ static void psmouse_resync(struct work_struct *work)
container_of
(
work
,
struct
psmouse
,
resync_work
.
work
);
struct
serio
*
serio
=
psmouse
->
ps2dev
.
serio
;
psmouse_ret_t
rc
=
PSMOUSE_GOOD_DATA
;
int
failed
=
0
,
enabled
=
0
;
bool
failed
=
false
,
enabled
=
false
;
int
i
;
mutex_lock
(
&
psmouse_mutex
);
...
...
@@ -1041,9 +1041,9 @@ static void psmouse_resync(struct work_struct *work)
if
(
ps2_sendbyte
(
&
psmouse
->
ps2dev
,
PSMOUSE_CMD_DISABLE
,
20
))
{
if
(
psmouse
->
num_resyncs
<
3
||
psmouse
->
acks_disable_command
)
failed
=
1
;
failed
=
true
;
}
else
psmouse
->
acks_disable_command
=
1
;
psmouse
->
acks_disable_command
=
true
;
/*
* Poll the mouse. If it was reset the packet will be shorter than
...
...
@@ -1054,7 +1054,7 @@ static void psmouse_resync(struct work_struct *work)
*/
if
(
!
failed
)
{
if
(
psmouse
->
poll
(
psmouse
))
failed
=
1
;
failed
=
true
;
else
{
psmouse_set_state
(
psmouse
,
PSMOUSE_CMD_MODE
);
for
(
i
=
0
;
i
<
psmouse
->
pktsize
;
i
++
)
{
...
...
@@ -1064,7 +1064,7 @@ static void psmouse_resync(struct work_struct *work)
break
;
}
if
(
rc
!=
PSMOUSE_FULL_PACKET
)
failed
=
1
;
failed
=
true
;
psmouse_set_state
(
psmouse
,
PSMOUSE_RESYNCING
);
}
}
...
...
@@ -1075,7 +1075,7 @@ static void psmouse_resync(struct work_struct *work)
*/
for
(
i
=
0
;
i
<
5
;
i
++
)
{
if
(
!
ps2_command
(
&
psmouse
->
ps2dev
,
NULL
,
PSMOUSE_CMD_ENABLE
))
{
enabled
=
1
;
enabled
=
true
;
break
;
}
msleep
(
200
);
...
...
@@ -1084,7 +1084,7 @@ static void psmouse_resync(struct work_struct *work)
if
(
!
enabled
)
{
printk
(
KERN_WARNING
"psmouse.c: failed to re-enable mouse on %s
\n
"
,
psmouse
->
ps2dev
.
serio
->
phys
);
failed
=
1
;
failed
=
true
;
}
if
(
failed
)
{
...
...
@@ -1211,7 +1211,8 @@ static int psmouse_switch_protocol(struct psmouse *psmouse, const struct psmouse
psmouse
->
type
=
proto
->
type
;
}
else
psmouse
->
type
=
psmouse_extensions
(
psmouse
,
psmouse_max_proto
,
1
);
psmouse
->
type
=
psmouse_extensions
(
psmouse
,
psmouse_max_proto
,
true
);
/*
* If mouse's packet size is 3 there is no point in polling the
...
...
@@ -1366,8 +1367,10 @@ static int psmouse_reconnect(struct serio *serio)
if
(
psmouse
->
reconnect
(
psmouse
))
goto
out
;
}
else
if
(
psmouse_probe
(
psmouse
)
<
0
||
psmouse
->
type
!=
psmouse_extensions
(
psmouse
,
psmouse_max_proto
,
0
))
psmouse
->
type
!=
psmouse_extensions
(
psmouse
,
psmouse_max_proto
,
false
))
{
goto
out
;
}
/* ok, the device type (and capabilities) match the old one,
* we can continue using it, complete intialization
...
...
@@ -1552,7 +1555,9 @@ static ssize_t psmouse_attr_set_protocol(struct psmouse *psmouse, void *data, co
while
(
serio
->
child
)
{
if
(
++
retry
>
3
)
{
printk
(
KERN_WARNING
"psmouse: failed to destroy child port, protocol change aborted.
\n
"
);
printk
(
KERN_WARNING
"psmouse: failed to destroy child port, "
"protocol change aborted.
\n
"
);
input_free_device
(
new_dev
);
return
-
EIO
;
}
...
...
drivers/input/mouse/psmouse.h
View file @
b7802c5c
...
...
@@ -47,10 +47,10 @@ struct psmouse {
unsigned
char
pktcnt
;
unsigned
char
pktsize
;
unsigned
char
type
;
unsigned
char
acks_disable_command
;
bool
acks_disable_command
;
unsigned
int
model
;
unsigned
long
last
;
unsigned
long
out_of_sync
;
unsigned
long
out_of_sync
_cnt
;
unsigned
long
num_resyncs
;
enum
psmouse_state
state
;
char
devname
[
64
];
...
...
@@ -60,7 +60,7 @@ struct psmouse {
unsigned
int
resolution
;
unsigned
int
resetafter
;
unsigned
int
resync_time
;
unsigned
int
smartscroll
;
/* Logitech only */
bool
smartscroll
;
/* Logitech only */
psmouse_ret_t
(
*
protocol_handler
)(
struct
psmouse
*
psmouse
);
void
(
*
set_rate
)(
struct
psmouse
*
psmouse
,
unsigned
int
rate
);
...
...
@@ -108,7 +108,7 @@ struct psmouse_attribute {
ssize_t
(
*
show
)(
struct
psmouse
*
psmouse
,
void
*
data
,
char
*
buf
);
ssize_t
(
*
set
)(
struct
psmouse
*
psmouse
,
void
*
data
,
const
char
*
buf
,
size_t
count
);
int
protect
;
bool
protect
;
};
#define to_psmouse_attr(a) container_of((a), struct psmouse_attribute, dattr)
...
...
@@ -139,14 +139,14 @@ static struct psmouse_attribute psmouse_attr_##_name = { \
__PSMOUSE_DEFINE_ATTR_VAR(_name, _mode, _data, _show, _set, _protect)
#define PSMOUSE_DEFINE_ATTR(_name, _mode, _data, _show, _set) \
__PSMOUSE_DEFINE_ATTR(_name, _mode, _data, _show, _set,
1
)
__PSMOUSE_DEFINE_ATTR(_name, _mode, _data, _show, _set,
true
)
#define PSMOUSE_DEFINE_RO_ATTR(_name, _mode, _data, _show) \
static ssize_t _show(struct psmouse *, void *, char *); \
__PSMOUSE_DEFINE_ATTR_VAR(_name, _mode, _data, _show, NULL,
1
)
__PSMOUSE_DEFINE_ATTR_VAR(_name, _mode, _data, _show, NULL,
true
)
#define PSMOUSE_DEFINE_WO_ATTR(_name, _mode, _data, _set) \
static ssize_t _set(struct psmouse *, void *, const char *, size_t); \
__PSMOUSE_DEFINE_ATTR_VAR(_name, _mode, _data, NULL, _set,
1
)
__PSMOUSE_DEFINE_ATTR_VAR(_name, _mode, _data, NULL, _set,
true
)
#endif
/* _PSMOUSE_H */
drivers/input/mouse/sentelic.c
View file @
b7802c5c
...
...
@@ -756,7 +756,7 @@ static int fsp_activate_protocol(struct psmouse *psmouse)
return
0
;
}
int
fsp_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
fsp_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
int
id
;
...
...
drivers/input/mouse/sentelic.h
View file @
b7802c5c
...
...
@@ -80,10 +80,10 @@ struct fsp_data {
};
#ifdef CONFIG_MOUSE_PS2_SENTELIC
extern
int
fsp_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
extern
int
fsp_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
extern
int
fsp_init
(
struct
psmouse
*
psmouse
);
#else
inline
int
fsp_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
inline
int
fsp_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
return
-
ENOSYS
;
}
...
...
drivers/input/mouse/synaptics.c
View file @
b7802c5c
...
...
@@ -60,7 +60,7 @@ static int synaptics_mode_cmd(struct psmouse *psmouse, unsigned char mode)
return
0
;
}
int
synaptics_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
synaptics_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
unsigned
char
param
[
4
];
...
...
@@ -556,38 +556,38 @@ static void set_input_params(struct input_dev *dev, struct synaptics_data *priv)
{
int
i
;
set_bit
(
EV_ABS
,
dev
->
evbit
);
__
set_bit
(
EV_ABS
,
dev
->
evbit
);
input_set_abs_params
(
dev
,
ABS_X
,
XMIN_NOMINAL
,
XMAX_NOMINAL
,
0
,
0
);
input_set_abs_params
(
dev
,
ABS_Y
,
YMIN_NOMINAL
,
YMAX_NOMINAL
,
0
,
0
);
input_set_abs_params
(
dev
,
ABS_PRESSURE
,
0
,
255
,
0
,
0
);
set_bit
(
ABS_TOOL_WIDTH
,
dev
->
absbit
);
__
set_bit
(
ABS_TOOL_WIDTH
,
dev
->
absbit
);
set_bit
(
EV_KEY
,
dev
->
evbit
);
set_bit
(
BTN_TOUCH
,
dev
->
keybit
);
set_bit
(
BTN_TOOL_FINGER
,
dev
->
keybit
);
set_bit
(
BTN_LEFT
,
dev
->
keybit
);
set_bit
(
BTN_RIGHT
,
dev
->
keybit
);
__
set_bit
(
EV_KEY
,
dev
->
evbit
);
__
set_bit
(
BTN_TOUCH
,
dev
->
keybit
);
__
set_bit
(
BTN_TOOL_FINGER
,
dev
->
keybit
);
__
set_bit
(
BTN_LEFT
,
dev
->
keybit
);
__
set_bit
(
BTN_RIGHT
,
dev
->
keybit
);
if
(
SYN_CAP_MULTIFINGER
(
priv
->
capabilities
))
{
set_bit
(
BTN_TOOL_DOUBLETAP
,
dev
->
keybit
);
set_bit
(
BTN_TOOL_TRIPLETAP
,
dev
->
keybit
);
__
set_bit
(
BTN_TOOL_DOUBLETAP
,
dev
->
keybit
);
__
set_bit
(
BTN_TOOL_TRIPLETAP
,
dev
->
keybit
);
}
if
(
SYN_CAP_MIDDLE_BUTTON
(
priv
->
capabilities
))
set_bit
(
BTN_MIDDLE
,
dev
->
keybit
);
__
set_bit
(
BTN_MIDDLE
,
dev
->
keybit
);
if
(
SYN_CAP_FOUR_BUTTON
(
priv
->
capabilities
)
||
SYN_CAP_MIDDLE_BUTTON
(
priv
->
capabilities
))
{
set_bit
(
BTN_FORWARD
,
dev
->
keybit
);
set_bit
(
BTN_BACK
,
dev
->
keybit
);
__
set_bit
(
BTN_FORWARD
,
dev
->
keybit
);
__
set_bit
(
BTN_BACK
,
dev
->
keybit
);
}
for
(
i
=
0
;
i
<
SYN_CAP_MULTI_BUTTON_NO
(
priv
->
ext_cap
);
i
++
)
set_bit
(
BTN_0
+
i
,
dev
->
keybit
);
__
set_bit
(
BTN_0
+
i
,
dev
->
keybit
);
clear_bit
(
EV_REL
,
dev
->
evbit
);
clear_bit
(
REL_X
,
dev
->
relbit
);
clear_bit
(
REL_Y
,
dev
->
relbit
);
__
clear_bit
(
EV_REL
,
dev
->
evbit
);
__
clear_bit
(
REL_X
,
dev
->
relbit
);
__
clear_bit
(
REL_Y
,
dev
->
relbit
);
dev
->
absres
[
ABS_X
]
=
priv
->
x_res
;
dev
->
absres
[
ABS_Y
]
=
priv
->
y_res
;
...
...
drivers/input/mouse/synaptics.h
View file @
b7802c5c
...
...
@@ -105,7 +105,7 @@ struct synaptics_data {
int
scroll
;
};
int
synaptics_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
synaptics_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
int
synaptics_init
(
struct
psmouse
*
psmouse
);
void
synaptics_reset
(
struct
psmouse
*
psmouse
);
...
...
drivers/input/mouse/touchkit_ps2.c
View file @
b7802c5c
...
...
@@ -67,7 +67,7 @@ static psmouse_ret_t touchkit_ps2_process_byte(struct psmouse *psmouse)
return
PSMOUSE_FULL_PACKET
;
}
int
touchkit_ps2_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
touchkit_ps2_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
input_dev
*
dev
=
psmouse
->
dev
;
unsigned
char
param
[
3
];
...
...
@@ -86,7 +86,7 @@ int touchkit_ps2_detect(struct psmouse *psmouse, int set_properties)
if
(
set_properties
)
{
dev
->
evbit
[
0
]
=
BIT_MASK
(
EV_KEY
)
|
BIT_MASK
(
EV_ABS
);
set_bit
(
BTN_TOUCH
,
dev
->
keybit
);
__
set_bit
(
BTN_TOUCH
,
dev
->
keybit
);
input_set_abs_params
(
dev
,
ABS_X
,
0
,
TOUCHKIT_MAX_XC
,
0
,
0
);
input_set_abs_params
(
dev
,
ABS_Y
,
0
,
TOUCHKIT_MAX_YC
,
0
,
0
);
...
...
drivers/input/mouse/touchkit_ps2.h
View file @
b7802c5c
...
...
@@ -13,10 +13,10 @@
#define _TOUCHKIT_PS2_H
#ifdef CONFIG_MOUSE_PS2_TOUCHKIT
int
touchkit_ps2_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
touchkit_ps2_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
#else
static
inline
int
touchkit_ps2_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
bool
set_properties
)
{
return
-
ENOSYS
;
}
...
...
drivers/input/mouse/trackpoint.c
View file @
b7802c5c
...
...
@@ -282,7 +282,7 @@ static int trackpoint_reconnect(struct psmouse *psmouse)
return
0
;
}
int
trackpoint_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
int
trackpoint_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
struct
trackpoint_data
*
priv
;
struct
ps2dev
*
ps2dev
=
&
psmouse
->
ps2dev
;
...
...
drivers/input/mouse/trackpoint.h
View file @
b7802c5c
...
...
@@ -143,9 +143,9 @@ struct trackpoint_data
};
#ifdef CONFIG_MOUSE_PS2_TRACKPOINT
int
trackpoint_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
);
int
trackpoint_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
);
#else
inline
int
trackpoint_detect
(
struct
psmouse
*
psmouse
,
int
set_properties
)
inline
int
trackpoint_detect
(
struct
psmouse
*
psmouse
,
bool
set_properties
)
{
return
-
ENOSYS
;
}
...
...
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