psmouse = kzalloc(sizeof(struct psmouse), GFP_KERNEL);
        input_dev = input_allocate_device();
        if (!psmouse || !input_dev)
 -              goto out;
 +              goto err_free;
  
        ps2_init(&psmouse->ps2dev, serio);
-       INIT_WORK(&psmouse->resync_work, psmouse_resync, psmouse);
+       INIT_WORK(&psmouse->resync_work, psmouse_resync);
        psmouse->dev = input_dev;
        snprintf(psmouse->phys, sizeof(psmouse->phys), "%s/input0", serio->phys);
  
 
  #define HID_QUIRK_POWERBOOK_HAS_FN            0x00001000
  #define HID_QUIRK_POWERBOOK_FN_ON             0x00002000
  #define HID_QUIRK_INVERT_HWHEEL                       0x00004000
- #define HID_QUIRK_BAD_RELATIVE_KEYS           0x00008000
+ #define HID_QUIRK_POWERBOOK_ISO_KEYBOARD      0x00008000
++#define HID_QUIRK_BAD_RELATIVE_KEYS           0x00010000
  
  /*
   * This is the global environment of the parser. This information is