Since touchscreen driver does not handle any events to be sent to the
device we can close serio port first and then unregister the input device.
Tested-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
 {
        struct w8001 *w8001 = serio_get_drvdata(serio);
 
-       input_get_device(w8001->dev);
-       input_unregister_device(w8001->dev);
        serio_close(serio);
-       serio_set_drvdata(serio, NULL);
-       input_put_device(w8001->dev);
+
+       input_unregister_device(w8001->dev);
        kfree(w8001);
+
+       serio_set_drvdata(serio, NULL);
 }
 
 /*