mmc: add hot plug support using extcon framework

We need to add the support for gpio based card insertion/removal event
detection support. But this is bit complicated as current platforms have
the combo card slot which can either take SD or UFS card at one time and
there is a single GPIO assigned for card detect event. This means we need
some module which takes the responsibility of controlling (configuration,
interrupt handling) this shared card detection GPIO and pass card detection
event to both MMC and UFS card drivers so they can probe to see what card
is inserted. Kernel already have the extcon-gpio module which can be used
a gpio control module and can pass the card detection event to both MMC &
UFS card drivers. So MMC driver registers the notification callback with
extcon driver and tries to detect/remove the SD card.

Change-Id: I860827272bfaa24116d9550a331657b99f53ec50
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt
index 8a37782..f978c58 100644
--- a/Documentation/devicetree/bindings/mmc/mmc.txt
+++ b/Documentation/devicetree/bindings/mmc/mmc.txt
@@ -52,6 +52,7 @@
 - no-sdio: controller is limited to send sdio cmd during initialization
 - no-sd: controller is limited to send sd cmd during initialization
 - no-mmc: controller is limited to send mmc cmd during initialization
+- extcon: phandle to external connector (Refer Documentation/devicetree/bindings/extcon/extcon-gpio.txt for more details).
 
 *NOTE* on CD and WP polarity. To use common for all SD/MMC host controllers line
 polarity properties, we have to fix the meaning of the "normal" and "inverted"