summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-at91-4.9.87/mtr/fix-atmel-mci-reg-overloading.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-at91-4.9.87/mtr/fix-atmel-mci-reg-overloading.patch')
-rw-r--r--recipes-kernel/linux/linux-at91-4.9.87/mtr/fix-atmel-mci-reg-overloading.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-at91-4.9.87/mtr/fix-atmel-mci-reg-overloading.patch b/recipes-kernel/linux/linux-at91-4.9.87/mtr/fix-atmel-mci-reg-overloading.patch
new file mode 100644
index 0000000..f5b844c
--- /dev/null
+++ b/recipes-kernel/linux/linux-at91-4.9.87/mtr/fix-atmel-mci-reg-overloading.patch
@@ -0,0 +1,19 @@
+diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
+index 0ad8ef56..e288f423 100644
+--- a/drivers/mmc/host/atmel-mci.c
++++ b/drivers/mmc/host/atmel-mci.c
+@@ -673,8 +673,12 @@ atmci_of_init(struct platform_device *pdev)
+ }
+
+ for_each_child_of_node(np, cnp) {
+- if (of_property_read_u32(cnp, "reg", &slot_id)) {
+- dev_warn(&pdev->dev, "reg property is missing for %s\n",
++ /* Multi-Tech patch here. The original driver went through each child
++ device, and interprets 'reg' as slot ID. All other devices treat 'reg'
++ as function. We correct the driver here to take a 'slot-id' parameter
++ from OF for slot. MN */
++ if (of_property_read_u32(cnp, "slot-id", &slot_id)) {
++ dev_warn(&pdev->dev, "slot-id property is missing for %s\n",
+ cnp->full_name);
+ continue;
+ }