Input: psmouse - allow drivers to use psmouse_{de,}activate
authorAndres Salomon <dilinger@queued.net>
Fri, 24 Feb 2012 08:51:37 +0000 (00:51 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 24 Feb 2012 08:55:28 +0000 (00:55 -0800)
Other drivers duplicate this code; no sense in having it be private
to psmouse-base.

Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/mouse/psmouse-base.c
drivers/input/mouse/psmouse.h

index de7e8bc17b1f053906bfea7811bd791ed38dcd96..ee91bd39bb08e7cf598265bcd9c2f6233f0467af 100644 (file)
@@ -1092,28 +1092,33 @@ static void psmouse_initialize(struct psmouse *psmouse)
  * psmouse_activate() enables the mouse so that we get motion reports from it.
  */
 
-static void psmouse_activate(struct psmouse *psmouse)
+int psmouse_activate(struct psmouse *psmouse)
 {
-       if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE))
+       if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE)) {
                psmouse_warn(psmouse, "Failed to enable mouse on %s\n",
                             psmouse->ps2dev.serio->phys);
+               return -1;
+       }
 
        psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
+       return 0;
 }
 
-
 /*
  * psmouse_deactivate() puts the mouse into poll mode so that we don't get motion
  * reports from it unless we explicitly request it.
  */
 
-static void psmouse_deactivate(struct psmouse *psmouse)
+int psmouse_deactivate(struct psmouse *psmouse)
 {
-       if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_DISABLE))
+       if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_DISABLE)) {
                psmouse_warn(psmouse, "Failed to deactivate mouse on %s\n",
                             psmouse->ps2dev.serio->phys);
+               return -1;
+       }
 
        psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);
+       return 0;
 }
 
 
index 6a417092d010f7afd62f0a95565ad008fb57f6b6..fe1df231ba4c8dfc07488fd6d4fe1031344e0f76 100644 (file)
@@ -105,6 +105,8 @@ int psmouse_reset(struct psmouse *psmouse);
 void psmouse_set_state(struct psmouse *psmouse, enum psmouse_state new_state);
 void psmouse_set_resolution(struct psmouse *psmouse, unsigned int resolution);
 psmouse_ret_t psmouse_process_byte(struct psmouse *psmouse);
+int psmouse_activate(struct psmouse *psmouse);
+int psmouse_deactivate(struct psmouse *psmouse);
 
 struct psmouse_attribute {
        struct device_attribute dattr;