summaryrefslogtreecommitdiff
path: root/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-force-detect.patch
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")) {