ToDo list (incomplete, unordered)
	- add compile as module support
	- fix clk usage
	  should not be using clk_get_sys(), but clk_get(&pdev->dev, conn)
	  where conn is either NULL if the device only has one clock, or
	  the device specific name if it has multiple clocks.
	- move half of the nvec init stuff to i2c-tegra.c
	- move event handling to nvec_events
	- finish suspend/resume support
	- modifiy the sync_write method to return the received
	  message in a variable (and return the error code).
	- add support for more device implementations
