From 1fce5019b48910237ef0752a43dbe3ea0bb451e4 Mon Sep 17 00:00:00 2001 From: Peter Osterlund Date: Thu, 18 Sep 2003 10:20:17 -0700 Subject: synaptics.c, psmouse-base.c: input: Restore synaptics pad mode on module unload. --- drivers/input/mouse/psmouse-base.c | 3 ++- drivers/input/mouse/synaptics.c | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'drivers') diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 030d23149e2e..c97fd2db0f41 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -478,9 +478,10 @@ static void psmouse_cleanup(struct serio *serio) static void psmouse_disconnect(struct serio *serio) { struct psmouse *psmouse = serio->private; + if (psmouse->type == PSMOUSE_SYNAPTICS) + synaptics_disconnect(psmouse); input_unregister_device(&psmouse->dev); serio_close(serio); - synaptics_disconnect(psmouse); kfree(psmouse); } diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 5fa695eb774e..de950db4aa8f 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c @@ -144,7 +144,7 @@ static int synaptics_enable_device(struct psmouse *psmouse) static void print_ident(struct synaptics_data *priv) { printk(KERN_INFO "Synaptics Touchpad, model: %ld\n", SYN_ID_MODEL(priv->identity)); - printk(KERN_INFO " Firware: %ld.%ld\n", SYN_ID_MAJOR(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)) @@ -228,7 +228,7 @@ int synaptics_init(struct psmouse *psmouse) /* * The x/y limits are taken from the Synaptics TouchPad interfacing Guide, * which says that they should be valid regardless of the actual size of - * the senser. + * the sensor. */ set_bit(EV_ABS, psmouse->dev.evbit); set_abs_params(&psmouse->dev, ABS_X, 1472, 5472, 0, 0); @@ -259,6 +259,9 @@ void synaptics_disconnect(struct psmouse *psmouse) { struct synaptics_data *priv = psmouse->private; + /* Restore touchpad to power on default state */ + synaptics_set_mode(psmouse, 0); + kfree(priv); } -- cgit v1.2.3