mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-17 06:17:35 +00:00
Input: i8042 - make sure Dritek quirk is invoked at resume
Also do not fail i8042 entire initialization if enabling dritek extension fails. Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
65e660aa3f
commit
d35895db7a
@ -885,6 +885,20 @@ static long i8042_panic_blink(long count)
|
||||
|
||||
#undef DELAY
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
static void i8042_dritek_enable(void)
|
||||
{
|
||||
char param = 0x90;
|
||||
int error;
|
||||
|
||||
error = i8042_command(¶m, 0x1059);
|
||||
if (error)
|
||||
printk(KERN_WARNING
|
||||
"Failed to enable DRITEK extension: %d\n",
|
||||
error);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
/*
|
||||
* Here we try to restore the original BIOS settings. We only want to
|
||||
@ -942,6 +956,12 @@ static int i8042_resume(struct platform_device *dev)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
if (i8042_dritek)
|
||||
i8042_dritek_enable();
|
||||
#endif
|
||||
|
||||
if (i8042_mux_present) {
|
||||
if (i8042_set_mux_mode(1, NULL) || i8042_enable_mux_ports())
|
||||
printk(KERN_WARNING
|
||||
@ -1160,6 +1180,11 @@ static int __devinit i8042_probe(struct platform_device *dev)
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
if (i8042_dritek)
|
||||
i8042_dritek_enable();
|
||||
#endif
|
||||
|
||||
if (!i8042_noaux) {
|
||||
error = i8042_setup_aux();
|
||||
if (error && error != -ENODEV && error != -EBUSY)
|
||||
@ -1171,14 +1196,6 @@ static int __devinit i8042_probe(struct platform_device *dev)
|
||||
if (error)
|
||||
goto out_fail;
|
||||
}
|
||||
#ifdef CONFIG_X86
|
||||
if (i8042_dritek) {
|
||||
char param = 0x90;
|
||||
error = i8042_command(¶m, 0x1059);
|
||||
if (error)
|
||||
goto out_fail;
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
* Ok, everything is ready, let's register all serio ports
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user