Re: [PATCH 2.6 2/3] Take 2: resume support for i8042 (atkbd & psmouse)

From: Dmitry Torokhov
Date: Sun Dec 07 2003 - 02:34:48 EST


===================================================================


ChangeSet@xxxxxx, 2003-12-07 02:05:30-05:00, dtor_core@xxxxxxxxxxxxx
Input: - Remove psmouse_pm_callback since i8042 now has its own resume
handler which will issue reconnect request
- Do not close/open serio port in psmouse_reconnect since i8042
should restore ports to the proper state before calling reconnect


psmouse-base.c | 35 -----------------------------------
1 files changed, 35 deletions(-)


===================================================================



diff -Nru a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c
--- a/drivers/input/mouse/psmouse-base.c Sun Dec 7 02:18:36 2003
+++ b/drivers/input/mouse/psmouse-base.c Sun Dec 7 02:18:36 2003
@@ -18,7 +18,6 @@
#include <linux/input.h>
#include <linux/serio.h>
#include <linux/init.h>
-#include <linux/pm.h>
#include "psmouse.h"
#include "synaptics.h"
#include "logips2pp.h"
@@ -537,28 +536,12 @@
}

/*
- * Reinitialize mouse hardware after software suspend.
- */
-
-static int psmouse_pm_callback(struct pm_dev *dev, pm_request_t request, void *data)
-{
- struct psmouse *psmouse = dev->data;
-
- if (request == PM_RESUME) {
- psmouse->state = PSMOUSE_IGNORE;
- serio_reconnect(psmouse->serio);
- }
- return 0;
-}
-
-/*
* psmouse_connect() is a callback from the serio module when
* an unhandled serio port is found.
*/
static void psmouse_connect(struct serio *serio, struct serio_dev *dev)
{
struct psmouse *psmouse;
- struct pm_dev *pmdev;

if ((serio->type & SERIO_TYPE) != SERIO_8042 &&
(serio->type & SERIO_TYPE) != SERIO_PS_PSTHRU)
@@ -590,14 +573,6 @@
return;
}

- if (serio->type != SERIO_PS_PSTHRU) {
- pmdev = pm_register(PM_SYS_DEV, PM_SYS_UNKNOWN, psmouse_pm_callback);
- if (pmdev) {
- psmouse->dev.pm_dev = pmdev;
- pmdev->data = psmouse;
- }
- }
-
sprintf(psmouse->devname, "%s %s %s",
psmouse_protocols[psmouse->type], psmouse->vendor, psmouse->name);
sprintf(psmouse->phys, "%s/input0",
@@ -635,16 +610,6 @@

if (!dev) {
printk(KERN_DEBUG "psmouse: reconnect request, but serio is disconnected, ignoring...\n");
- return -1;
- }
-
- /* We need to reopen the serio port to reinitialize the i8042 controller */
- serio_close(serio);
- if (serio_open(serio, dev)) {
- /* do a disconnect here as serio_open leaves dev as NULL so disconnect
- * will not be called automatically later
- */
- psmouse_disconnect(serio);
return -1;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/