static int hgpk_force_recalibrate(struct psmouse *psmouse)
 {
-       struct ps2dev *ps2dev = &psmouse->ps2dev;
        struct hgpk_data *priv = psmouse->private;
        int err;
 
         * we don't have a good way to deal with it.  The 2s window stuff
         * (below) is our best option for now.
         */
-
-       if (ps2_command(ps2dev, NULL, PSMOUSE_CMD_ENABLE))
+       if (psmouse_activate(psmouse))
                return -1;
 
-       psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
-
        if (tpdebug)
                psmouse_dbg(psmouse, "touchpad reactivated\n");
 
                }
 
                /* should be all set, enable the touchpad */
-               ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE);
-               psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
+               psmouse_activate(psmouse);
                psmouse_dbg(psmouse, "Touchpad powered up.\n");
        } else {
                psmouse_dbg(psmouse, "Powering off touchpad.\n");
 
         * to do that for writes because sysfs set helper does this for
         * us.
         */
-       ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE);
-       psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);
+       psmouse_deactivate(psmouse);
 
        ps2_begin_command(ps2dev);
 
 
  out:
        ps2_end_command(ps2dev);
-       ps2_command(ps2dev, NULL, PSMOUSE_CMD_ENABLE);
-       psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
+       psmouse_activate(psmouse);
        dev_dbg(&ps2dev->serio->dev, "READ REG: 0x%02x is 0x%02x (rc = %d)\n",
                reg_addr, *reg_val, rc);
        return rc;
        unsigned char param[3];
        int rc = -1;
 
-       ps2_command(ps2dev, NULL, PSMOUSE_CMD_DISABLE);
-       psmouse_set_state(psmouse, PSMOUSE_CMD_MODE);
+       psmouse_deactivate(psmouse);
 
        ps2_begin_command(ps2dev);
 
 
  out:
        ps2_end_command(ps2dev);
-       ps2_command(ps2dev, NULL, PSMOUSE_CMD_ENABLE);
-       psmouse_set_state(psmouse, PSMOUSE_ACTIVATED);
+       psmouse_activate(psmouse);
        dev_dbg(&ps2dev->serio->dev, "READ PAGE REG: 0x%02x (rc = %d)\n",
                *reg_val, rc);
        return rc;