blob: d59a7cc389c17f5b10db37cabeccff35f348509c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Index: linux-2.6.39.4/drivers/mmc/host/atmel-mci.c
===================================================================
--- linux-2.6.39.4.orig/drivers/mmc/host/atmel-mci.c 2012-05-10 11:44:02.069173755 -0500
+++ linux-2.6.39.4/drivers/mmc/host/atmel-mci.c 2012-05-11 11:21:42.119198300 -0500
@@ -1059,6 +1059,10 @@
dev_dbg(&mmc->class_dev, "card is %spresent\n",
present ? "" : "not ");
}
+ else {
+ // jjg - assume card is present if detect pin is unset
+ present = 1;
+ }
return present;
}
@@ -1655,8 +1659,12 @@
}
}
- if (!gpio_is_valid(slot->detect_pin))
- mmc->caps |= MMC_CAP_NEEDS_POLL;
+ // jjg - if detect pin isn't set, don't poll -- just assume device
+ // is there and mark it non-removable
+ if (!gpio_is_valid(slot->detect_pin)) {
+ dev_info(&host->pdev->dev,"No detect pin, marking non-removable and assuming device is present\n");
+ mmc->caps |= MMC_CAP_NONREMOVABLE;
+ }
if (gpio_is_valid(slot->wp_pin)) {
if (gpio_request(slot->wp_pin, "mmc_wp")) {
|