|
@@ -184,16 +184,13 @@ static int tosa_mci_init(struct device *dev, irq_handler_t tosa_detect_int, void
|
|
|
|
|
|
tosa_mci_platform_data.detect_delay = msecs_to_jiffies(250);
|
|
|
|
|
|
- err = request_irq(TOSA_IRQ_GPIO_nSD_DETECT, tosa_detect_int, IRQF_DISABLED,
|
|
|
+ err = request_irq(TOSA_IRQ_GPIO_nSD_DETECT, tosa_detect_int,
|
|
|
+ IRQF_DISABLED | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
|
|
|
"MMC/SD card detect", data);
|
|
|
- if (err) {
|
|
|
+ if (err)
|
|
|
printk(KERN_ERR "tosa_mci_init: MMC/SD: can't request MMC card detect IRQ\n");
|
|
|
- return -1;
|
|
|
- }
|
|
|
-
|
|
|
- set_irq_type(TOSA_IRQ_GPIO_nSD_DETECT, IRQT_BOTHEDGE);
|
|
|
|
|
|
- return 0;
|
|
|
+ return err;
|
|
|
}
|
|
|
|
|
|
static void tosa_mci_setpower(struct device *dev, unsigned int vdd)
|