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
45b30105
Commit
45b30105
authored
May 29, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Automatic merge of 'for-linus' branch from
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/dtor/input
parents
6cf2b3fc
7d6064d4
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
97 additions
and
96 deletions
+97
-96
drivers/input/gameport/Kconfig
drivers/input/gameport/Kconfig
+0
-20
drivers/input/joydev.c
drivers/input/joydev.c
+1
-1
drivers/input/mouse/psmouse-base.c
drivers/input/mouse/psmouse-base.c
+5
-2
drivers/input/mouse/synaptics.c
drivers/input/mouse/synaptics.c
+5
-34
drivers/input/serio/i8042-x86ia64io.h
drivers/input/serio/i8042-x86ia64io.h
+26
-6
drivers/input/serio/i8042.c
drivers/input/serio/i8042.c
+28
-22
drivers/input/touchscreen/gunze.c
drivers/input/touchscreen/gunze.c
+1
-2
include/linux/gameport.h
include/linux/gameport.h
+25
-3
sound/oss/Kconfig
sound/oss/Kconfig
+6
-6
No files found.
drivers/input/gameport/Kconfig
View file @
45b30105
...
...
@@ -68,23 +68,3 @@ config GAMEPORT_CS461X
depends on PCI
endif
# Yes, SOUND_GAMEPORT looks a bit odd. Yes, it ends up being turned on
# in every .config. Please don't touch it. It is here to handle an
# unusual dependency between GAMEPORT and sound drivers.
#
# Some sound drivers call gameport functions. If GAMEPORT is
# not selected, empty stubs are provided for the functions and all is
# well.
# If GAMEPORT is built in, everything is fine.
# If GAMEPORT is a module, however, it would need to be loaded for the
# sound driver to be able to link properly. Therefore, the sound
# driver must be a module as well in that case. Since there's no way
# to express that directly in Kconfig, we use SOUND_GAMEPORT to
# express it. SOUND_GAMEPORT boils down to "if GAMEPORT is 'm',
# anything that depends on SOUND_GAMEPORT must be 'm' as well. if
# GAMEPORT is 'y' or 'n', it can be anything".
config SOUND_GAMEPORT
tristate
default m if GAMEPORT=m
default y
drivers/input/joydev.c
View file @
45b30105
...
...
@@ -422,7 +422,7 @@ static struct input_handle *joydev_connect(struct input_handler *handler, struct
joydev
->
nkey
++
;
}
for
(
i
=
0
;
i
<
BTN_JOYSTICK
-
BTN_MISC
+
1
;
i
++
)
for
(
i
=
0
;
i
<
BTN_JOYSTICK
-
BTN_MISC
;
i
++
)
if
(
test_bit
(
i
+
BTN_MISC
,
dev
->
keybit
))
{
joydev
->
keymap
[
i
]
=
joydev
->
nkey
;
joydev
->
keypam
[
joydev
->
nkey
]
=
i
+
BTN_MISC
;
...
...
drivers/input/mouse/psmouse-base.c
View file @
45b30105
...
...
@@ -518,13 +518,16 @@ static int psmouse_probe(struct psmouse *psmouse)
/*
* First, we check if it's a mouse. It should send 0x00 or 0x03
* in case of an IntelliMouse in 4-byte mode or 0x04 for IM Explorer.
* Sunrex K8561 IR Keyboard/Mouse reports 0xff on second and subsequent
* ID queries, probably due to a firmware bug.
*/
param
[
0
]
=
0xa5
;
if
(
ps2_command
(
ps2dev
,
param
,
PSMOUSE_CMD_GETID
))
return
-
1
;
if
(
param
[
0
]
!=
0x00
&&
param
[
0
]
!=
0x03
&&
param
[
0
]
!=
0x04
)
if
(
param
[
0
]
!=
0x00
&&
param
[
0
]
!=
0x03
&&
param
[
0
]
!=
0x04
&&
param
[
0
]
!=
0xff
)
return
-
1
;
/*
...
...
@@ -972,7 +975,7 @@ static int psmouse_set_maxproto(const char *val, struct kernel_param *kp)
return
-
EINVAL
;
if
(
!
strncmp
(
val
,
"any"
,
3
))
{
*
((
unsigned
int
*
)
kp
->
arg
)
=
-
1U
L
;
*
((
unsigned
int
*
)
kp
->
arg
)
=
-
1U
;
return
0
;
}
...
...
drivers/input/mouse/synaptics.c
View file @
45b30105
...
...
@@ -143,39 +143,6 @@ static int synaptics_identify(struct psmouse *psmouse)
return
-
1
;
}
static
void
print_ident
(
struct
synaptics_data
*
priv
)
{
printk
(
KERN_INFO
"Synaptics Touchpad, model: %ld
\n
"
,
SYN_ID_MODEL
(
priv
->
identity
));
printk
(
KERN_INFO
" Firmware: %ld.%ld
\n
"
,
SYN_ID_MAJOR
(
priv
->
identity
),
SYN_ID_MINOR
(
priv
->
identity
));
if
(
SYN_MODEL_ROT180
(
priv
->
model_id
))
printk
(
KERN_INFO
" 180 degree mounted touchpad
\n
"
);
if
(
SYN_MODEL_PORTRAIT
(
priv
->
model_id
))
printk
(
KERN_INFO
" portrait touchpad
\n
"
);
printk
(
KERN_INFO
" Sensor: %ld
\n
"
,
SYN_MODEL_SENSOR
(
priv
->
model_id
));
if
(
SYN_MODEL_NEWABS
(
priv
->
model_id
))
printk
(
KERN_INFO
" new absolute packet format
\n
"
);
if
(
SYN_MODEL_PEN
(
priv
->
model_id
))
printk
(
KERN_INFO
" pen detection
\n
"
);
if
(
SYN_CAP_EXTENDED
(
priv
->
capabilities
))
{
printk
(
KERN_INFO
" Touchpad has extended capability bits
\n
"
);
if
(
SYN_CAP_MULTI_BUTTON_NO
(
priv
->
ext_cap
))
printk
(
KERN_INFO
" -> %d multi-buttons, i.e. besides standard buttons
\n
"
,
(
int
)(
SYN_CAP_MULTI_BUTTON_NO
(
priv
->
ext_cap
)));
if
(
SYN_CAP_MIDDLE_BUTTON
(
priv
->
capabilities
))
printk
(
KERN_INFO
" -> middle button
\n
"
);
if
(
SYN_CAP_FOUR_BUTTON
(
priv
->
capabilities
))
printk
(
KERN_INFO
" -> four buttons
\n
"
);
if
(
SYN_CAP_MULTIFINGER
(
priv
->
capabilities
))
printk
(
KERN_INFO
" -> multifinger detection
\n
"
);
if
(
SYN_CAP_PALMDETECT
(
priv
->
capabilities
))
printk
(
KERN_INFO
" -> palm detection
\n
"
);
if
(
SYN_CAP_PASS_THROUGH
(
priv
->
capabilities
))
printk
(
KERN_INFO
" -> pass-through port
\n
"
);
}
}
static
int
synaptics_query_hardware
(
struct
psmouse
*
psmouse
)
{
int
retries
=
0
;
...
...
@@ -666,7 +633,11 @@ int synaptics_init(struct psmouse *psmouse)
priv
->
pkt_type
=
SYN_MODEL_NEWABS
(
priv
->
model_id
)
?
SYN_NEWABS
:
SYN_OLDABS
;
print_ident
(
priv
);
printk
(
KERN_INFO
"Synaptics Touchpad, model: %ld, fw: %ld.%ld, id: %#lx, caps: %#lx/%#lx
\n
"
,
SYN_ID_MODEL
(
priv
->
identity
),
SYN_ID_MAJOR
(
priv
->
identity
),
SYN_ID_MINOR
(
priv
->
identity
),
priv
->
model_id
,
priv
->
capabilities
,
priv
->
ext_cap
);
set_input_params
(
&
psmouse
->
dev
,
priv
);
psmouse
->
protocol_handler
=
synaptics_process_byte
;
...
...
drivers/input/serio/i8042-x86ia64io.h
View file @
45b30105
...
...
@@ -88,9 +88,11 @@ static struct dmi_system_id __initdata i8042_dmi_noloop_table[] = {
};
/*
* Some Fujitsu notebooks are
ahving trouble with touhc
pads if
* Some Fujitsu notebooks are
having trouble with touch
pads if
* active multiplexing mode is activated. Luckily they don't have
* external PS/2 ports so we can safely disable it.
* ... apparently some Toshibas don't like MUX mode either and
* die horrible death on reboot.
*/
static
struct
dmi_system_id
__initdata
i8042_dmi_nomux_table
[]
=
{
{
...
...
@@ -114,6 +116,13 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
DMI_MATCH
(
DMI_PRODUCT_NAME
,
"LifeBook S Series"
),
},
},
{
.
ident
=
"Fujitsu Lifebook S6230"
,
.
matches
=
{
DMI_MATCH
(
DMI_SYS_VENDOR
,
"FUJITSU"
),
DMI_MATCH
(
DMI_PRODUCT_NAME
,
"LifeBook S6230"
),
},
},
{
.
ident
=
"Fujitsu T70H"
,
.
matches
=
{
...
...
@@ -121,6 +130,13 @@ static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {
DMI_MATCH
(
DMI_PRODUCT_NAME
,
"FMVLT70H"
),
},
},
{
.
ident
=
"Toshiba P10"
,
.
matches
=
{
DMI_MATCH
(
DMI_SYS_VENDOR
,
"TOSHIBA"
),
DMI_MATCH
(
DMI_PRODUCT_NAME
,
"Satellite P10"
),
},
},
{
}
};
...
...
@@ -215,11 +231,15 @@ static struct pnp_driver i8042_pnp_aux_driver = {
static
void
i8042_pnp_exit
(
void
)
{
if
(
i8042_pnp_kbd_registered
)
if
(
i8042_pnp_kbd_registered
)
{
i8042_pnp_kbd_registered
=
0
;
pnp_unregister_driver
(
&
i8042_pnp_kbd_driver
);
}
if
(
i8042_pnp_aux_registered
)
if
(
i8042_pnp_aux_registered
)
{
i8042_pnp_aux_registered
=
0
;
pnp_unregister_driver
(
&
i8042_pnp_aux_driver
);
}
}
static
int
i8042_pnp_init
(
void
)
...
...
@@ -227,7 +247,7 @@ static int i8042_pnp_init(void)
int
result_kbd
,
result_aux
;
if
(
i8042_nopnp
)
{
printk
(
"i8042: PNP detection disabled
\n
"
);
printk
(
KERN_INFO
"i8042: PNP detection disabled
\n
"
);
return
0
;
}
...
...
@@ -241,7 +261,7 @@ static int i8042_pnp_init(void)
#if defined(__ia64__)
return
-
ENODEV
;
#else
printk
(
KERN_
WARNING
"PNP: No PS/2 controller found. Probing ports directly.
\n
"
);
printk
(
KERN_
INFO
"PNP: No PS/2 controller found. Probing ports directly.
\n
"
);
return
0
;
#endif
}
...
...
@@ -265,7 +285,7 @@ static int i8042_pnp_init(void)
i8042_pnp_kbd_irq
=
i8042_kbd_irq
;
}
if
(
result_aux
>
0
&&
!
i8042_pnp_aux_irq
)
{
if
(
!
i8042_pnp_aux_irq
)
{
printk
(
KERN_WARNING
"PNP: PS/2 controller doesn't have AUX irq; using default %#x
\n
"
,
i8042_aux_irq
);
i8042_pnp_aux_irq
=
i8042_aux_irq
;
}
...
...
drivers/input/serio/i8042.c
View file @
45b30105
...
...
@@ -698,6 +698,26 @@ static void i8042_timer_func(unsigned long data)
i8042_interrupt
(
0
,
NULL
,
NULL
);
}
static
int
i8042_ctl_test
(
void
)
{
unsigned
char
param
;
if
(
!
i8042_reset
)
return
0
;
if
(
i8042_command
(
&
param
,
I8042_CMD_CTL_TEST
))
{
printk
(
KERN_ERR
"i8042.c: i8042 controller self test timeout.
\n
"
);
return
-
1
;
}
if
(
param
!=
I8042_RET_CTL_TEST
)
{
printk
(
KERN_ERR
"i8042.c: i8042 controller selftest failed. (%#x != %#x)
\n
"
,
param
,
I8042_RET_CTL_TEST
);
return
-
1
;
}
return
0
;
}
/*
* i8042_controller init initializes the i8042 controller, and,
...
...
@@ -719,21 +739,8 @@ static int i8042_controller_init(void)
return
-
1
;
}
if
(
i8042_reset
)
{
unsigned
char
param
;
if
(
i8042_command
(
&
param
,
I8042_CMD_CTL_TEST
))
{
printk
(
KERN_ERR
"i8042.c: i8042 controller self test timeout.
\n
"
);
return
-
1
;
}
if
(
param
!=
I8042_RET_CTL_TEST
)
{
printk
(
KERN_ERR
"i8042.c: i8042 controller selftest failed. (%#x != %#x)
\n
"
,
param
,
I8042_RET_CTL_TEST
);
return
-
1
;
}
}
if
(
i8042_ctl_test
())
return
-
1
;
/*
* Save the CTR for restoral on unload / reboot.
...
...
@@ -802,15 +809,11 @@ static int i8042_controller_init(void)
*/
static
void
i8042_controller_reset
(
void
)
{
unsigned
char
param
;
/*
* Reset the controller if requested.
*/
if
(
i8042_reset
)
if
(
i8042_command
(
&
param
,
I8042_CMD_CTL_TEST
))
printk
(
KERN_ERR
"i8042.c: i8042 controller reset timeout.
\n
"
);
i8042_ctl_test
();
/*
* Disable MUX mode if present.
...
...
@@ -922,8 +925,11 @@ static int i8042_resume(struct device *dev, u32 level)
if
(
level
!=
RESUME_ENABLE
)
return
0
;
if
(
i8042_controller_init
())
{
printk
(
KERN_ERR
"i8042: resume failed
\n
"
);
if
(
i8042_ctl_test
())
return
-
1
;
if
(
i8042_command
(
&
i8042_ctr
,
I8042_CMD_CTL_WCTR
))
{
printk
(
KERN_ERR
"i8042: Can't write CTR
\n
"
);
return
-
1
;
}
...
...
drivers/input/touchscreen/gunze.c
View file @
45b30105
...
...
@@ -68,8 +68,7 @@ static void gunze_process_packet(struct gunze* gunze, struct pt_regs *regs)
if
(
gunze
->
idx
!=
GUNZE_MAX_LENGTH
||
gunze
->
data
[
5
]
!=
','
||
(
gunze
->
data
[
0
]
!=
'T'
&&
gunze
->
data
[
0
]
!=
'R'
))
{
gunze
->
data
[
10
]
=
0
;
printk
(
KERN_WARNING
"gunze.c: bad packet: >%s<
\n
"
,
gunze
->
data
);
printk
(
KERN_WARNING
"gunze.c: bad packet: >%.*s<
\n
"
,
GUNZE_MAX_LENGTH
,
gunze
->
data
);
return
;
}
...
...
include/linux/gameport.h
View file @
45b30105
...
...
@@ -67,6 +67,8 @@ int gameport_open(struct gameport *gameport, struct gameport_driver *drv, int mo
void
gameport_close
(
struct
gameport
*
gameport
);
void
gameport_rescan
(
struct
gameport
*
gameport
);
#if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE))
void
__gameport_register_port
(
struct
gameport
*
gameport
,
struct
module
*
owner
);
static
inline
void
gameport_register_port
(
struct
gameport
*
gameport
)
{
...
...
@@ -75,6 +77,29 @@ static inline void gameport_register_port(struct gameport *gameport)
void
gameport_unregister_port
(
struct
gameport
*
gameport
);
void
gameport_set_phys
(
struct
gameport
*
gameport
,
const
char
*
fmt
,
...)
__attribute__
((
format
(
printf
,
2
,
3
)));
#else
static
inline
void
gameport_register_port
(
struct
gameport
*
gameport
)
{
return
;
}
static
inline
void
gameport_unregister_port
(
struct
gameport
*
gameport
)
{
return
;
}
static
inline
void
gameport_set_phys
(
struct
gameport
*
gameport
,
const
char
*
fmt
,
...)
{
return
;
}
#endif
static
inline
struct
gameport
*
gameport_allocate_port
(
void
)
{
struct
gameport
*
gameport
=
kcalloc
(
1
,
sizeof
(
struct
gameport
),
GFP_KERNEL
);
...
...
@@ -92,9 +117,6 @@ static inline void gameport_set_name(struct gameport *gameport, const char *name
strlcpy
(
gameport
->
name
,
name
,
sizeof
(
gameport
->
name
));
}
void
gameport_set_phys
(
struct
gameport
*
gameport
,
const
char
*
fmt
,
...)
__attribute__
((
format
(
printf
,
2
,
3
)));
/*
* Use the following fucntions to manipulate gameport's per-port
* driver-specific data.
...
...
sound/oss/Kconfig
View file @
45b30105
...
...
@@ -112,7 +112,7 @@ config SOUND_BCM_CS4297A
config SOUND_ES1370
tristate "Ensoniq AudioPCI (ES1370)"
depends on SOUND_PRIME!=n && SOUND && PCI
&& SOUND_GAMEPORT
depends on SOUND_PRIME!=n && SOUND && PCI
help
Say Y or M if you have a PCI sound card utilizing the Ensoniq
ES1370 chipset, such as Ensoniq's AudioPCI (non-97). To find
...
...
@@ -125,7 +125,7 @@ config SOUND_ES1370
config SOUND_ES1371
tristate "Creative Ensoniq AudioPCI 97 (ES1371)"
depends on SOUND_PRIME!=n && SOUND && PCI
&& SOUND_GAMEPORT
depends on SOUND_PRIME!=n && SOUND && PCI
help
Say Y or M if you have a PCI sound card utilizing the Ensoniq
ES1371 chipset, such as Ensoniq's AudioPCI97. To find out if
...
...
@@ -138,7 +138,7 @@ config SOUND_ES1371
config SOUND_ESSSOLO1
tristate "ESS Technology Solo1"
depends on SOUND_PRIME!=n && SOUND &&
SOUND_GAMEPORT &&
PCI
depends on SOUND_PRIME!=n && SOUND && PCI
help
Say Y or M if you have a PCI sound card utilizing the ESS Technology
Solo1 chip. To find out if your sound card uses a
...
...
@@ -179,7 +179,7 @@ config SOUND_HARMONY
config SOUND_SONICVIBES
tristate "S3 SonicVibes"
depends on SOUND_PRIME!=n && SOUND
&& SOUND_GAMEPORT
depends on SOUND_PRIME!=n && SOUND
help
Say Y or M if you have a PCI sound card utilizing the S3
SonicVibes chipset. To find out if your sound card uses a
...
...
@@ -226,7 +226,7 @@ config SOUND_AU1550_AC97
config SOUND_TRIDENT
tristate "Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core"
depends on SOUND_PRIME!=n && SOUND
&& SOUND_GAMEPORT
depends on SOUND_PRIME!=n && SOUND
---help---
Say Y or M if you have a PCI sound card utilizing the Trident
4DWave-DX/NX chipset or your mother board chipset has SiS 7018
...
...
@@ -739,7 +739,7 @@ config SOUND_NM256
config SOUND_MAD16
tristate "OPTi MAD16 and/or Mozart based cards"
depends on SOUND_OSS
&& SOUND_GAMEPORT
depends on SOUND_OSS
---help---
Answer Y if your card has a Mozart (OAK OTI-601) or MAD16 (OPTi
82C928 or 82C929 or 82C931) audio interface chip. These chips are
...
...
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