|
@@ -1425,6 +1425,10 @@ static int __devinit mmci_probe(struct amba_device *dev,
|
|
|
writel(0, host->base + MMCIMASK1);
|
|
|
writel(0xfff, host->base + MMCICLEAR);
|
|
|
|
|
|
+ if (plat->gpio_cd == -EPROBE_DEFER) {
|
|
|
+ ret = -EPROBE_DEFER;
|
|
|
+ goto err_gpio_cd;
|
|
|
+ }
|
|
|
if (gpio_is_valid(plat->gpio_cd)) {
|
|
|
ret = gpio_request(plat->gpio_cd, DRIVER_NAME " (cd)");
|
|
|
if (ret == 0)
|
|
@@ -1448,6 +1452,10 @@ static int __devinit mmci_probe(struct amba_device *dev,
|
|
|
if (ret >= 0)
|
|
|
host->gpio_cd_irq = gpio_to_irq(plat->gpio_cd);
|
|
|
}
|
|
|
+ if (plat->gpio_wp == -EPROBE_DEFER) {
|
|
|
+ ret = -EPROBE_DEFER;
|
|
|
+ goto err_gpio_wp;
|
|
|
+ }
|
|
|
if (gpio_is_valid(plat->gpio_wp)) {
|
|
|
ret = gpio_request(plat->gpio_wp, DRIVER_NAME " (wp)");
|
|
|
if (ret == 0)
|