Make module unloading and reloading behave:
- Driver probe could fail if input_register_device fails as
no error was returned from probe
- Driver interrupt was using unused platform_data field,
change to use i2c platform data interrupt instead
- Free resources on unloading module
- Mark platform data as __init_or_module
Signed-off-by: Tony Lindgren <tony@atomide.com>