Resolved device initialization bug

In the probe function the order or registration is changed.
Prior to this commit, first the device was registering with the
input subsystem and later the device's registers were being
initialized, which might lead to a bug!
Through this commit, the order of the initializations are swapped.
Now first the device is completely initialized and when ready, it is
registered with the input subsystem.