summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-3.12.70/linux-3.12-atmel-mci-force-detect.patch
blob: 2efdf51b220b410c7d3541855f091e693b330d80 (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
Index: linux-3.12.13/drivers/mmc/host/atmel-mci.c
===================================================================
--- linux-3.12.13.orig/drivers/mmc/host/atmel-mci.c	2014-04-10 13:32:40.012723945 -0500
+++ linux-3.12.13/drivers/mmc/host/atmel-mci.c	2014-04-10 13:36:46.088723297 -0500
@@ -1447,6 +1447,9 @@
 			    slot->detect_is_active_high);
 		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;
@@ -2205,8 +2208,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")) {