switch: driver code for reverse switch on adp-m platform

The changes will trigger a thread to initialize or to exit the camera
when the gpio pins trigger corresponding interrupt. The image files will be
overlayed on the camera video to generate the final display.

Change-Id: I7bc6a140d3e5a76c4b52d3b561701c1df649549e
Signed-off-by: Joveen Joseph Thomas <joveenthomas@codeaurora.org>

Conflicts:
	include/linux/reverse.h
switch: fix the blank screen before camera preview

The uevent for hwc is triggered before the camera is initialized
which caused mdp to display blank screen. The change will delay the
trigger of uevent until the camera is completely initialized.

Change-Id: Ie98e6081565c4c9ac19cb625e638a4a16574ac1d
Signed-off-by: Joveen Joseph Thomas <joveenthomas@codeaurora.org>
switch: amend the camera init sequence for adp-m platfrom.

Amend the camera initialization, preview enable, preview disable,
and camera shutdown sequence in adp-m platform with proper state
transition and update.

Change-Id: If07813a11fb10b025c4b38521c7248785a639a0d
Signed-off-by: Joveen Joseph Thomas <joveenthomas@codeaurora.org>