|
@@ -160,10 +160,19 @@ static int omap4_twl6030_hsmmc_late_init(struct device *dev)
|
|
|
struct platform_device, dev);
|
|
|
struct omap_mmc_platform_data *pdata = dev->platform_data;
|
|
|
|
|
|
+ if (!pdata) {
|
|
|
+ dev_err(dev, "%s: NULL platform data\n", __func__);
|
|
|
+ return -EINVAL;
|
|
|
+ }
|
|
|
/* Setting MMC1 Card detect Irq */
|
|
|
- if (pdev->id == 0)
|
|
|
- pdata->slots[0].card_detect_irq = TWL6030_IRQ_BASE +
|
|
|
- MMCDETECT_INTR_OFFSET;
|
|
|
+ if (pdev->id == 0) {
|
|
|
+ ret = twl6030_mmc_card_detect_config();
|
|
|
+ if (ret)
|
|
|
+ dev_err(dev, "%s: Error card detect config(%d)\n",
|
|
|
+ __func__, ret);
|
|
|
+ else
|
|
|
+ pdata->slots[0].card_detect = twl6030_mmc_card_detect;
|
|
|
+ }
|
|
|
return ret;
|
|
|
}
|
|
|
|