Issue:
By default, cd_gpio is 0 for always presented host controller, which is a
valid gpio. Then it will result to free_irq for 0 in esdhc_pltfm_exit for
these always_present host controllers.
Fix:
Invalid cd_gpio if the controller is indicated to be always present.
Acked-by: Dong Aisheng <b29396@freescale.com>
Signed-off-by: Ryan QIAN <b32804@freescale.com>
if (boarddata->always_present) {
/* remove BROKEN_CD to disable card polling */
host->quirks &= ~SDHCI_QUIRK_BROKEN_CARD_DETECTION;
+ /* if it is always present, invalid cd_gpio */
+ boarddata->cd_gpio = ARCH_NR_GPIOS + 1;
if (host->clk_mgr_en)
clk_disable(pltfm_host->clk);
return 0;