summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/maps/physmap_of_gemini.h
diff options
context:
space:
mode:
authorLinus Walleij2017-01-28 22:50:48 +0100
committerBrian Norris2017-02-08 22:01:00 +0100
commit56ff337ea433731fa5f04cf9901404705bbbb6e0 (patch)
tree4e555aa9dd17207617258495b7c607961a7277b5 /drivers/mtd/maps/physmap_of_gemini.h
parentmtd: update my email address (diff)
downloadkernel-qcow2-linux-56ff337ea433731fa5f04cf9901404705bbbb6e0.tar.gz
kernel-qcow2-linux-56ff337ea433731fa5f04cf9901404705bbbb6e0.tar.xz
kernel-qcow2-linux-56ff337ea433731fa5f04cf9901404705bbbb6e0.zip
mtd: physmap_of: add a hook for Gemini flash probing
In order to support device tree probing of Gemini NOR flash chips, a certain register in the syscon needs to be poked to enable parallel flash mode. Such things used to happen in "necessarily different" board file code, and this indeed was also done for the Gemini, so the MTD driver could treat it as any memory-mapped NOR flash, but this is not the way in the future: board files need to go, and hardware concerns distributed down to the applicable drivers. This adds a hook in the same way that the Versatile did: if the Kconfig symbol is not selected the net total of supporting Gemini should be zero bytes of added code. To live up to this promise, also the return value error print from the Versatile extra probe call get to be removed in this patch, all printing need to happen in the add-ons. Cc: Janos Laube <janos.dev@gmail.com> Cc: Paulius Zaleckas <paulius.zaleckas@gmail.com> Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'drivers/mtd/maps/physmap_of_gemini.h')
-rw-r--r--drivers/mtd/maps/physmap_of_gemini.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/mtd/maps/physmap_of_gemini.h b/drivers/mtd/maps/physmap_of_gemini.h
new file mode 100644
index 000000000000..c675025288dd
--- /dev/null
+++ b/drivers/mtd/maps/physmap_of_gemini.h
@@ -0,0 +1,16 @@
+#include <linux/of.h>
+#include <linux/mtd/map.h>
+
+#ifdef CONFIG_MTD_PHYSMAP_OF_GEMINI
+int of_flash_probe_gemini(struct platform_device *pdev,
+ struct device_node *np,
+ struct map_info *map);
+#else
+static inline
+int of_flash_probe_gemini(struct platform_device *pdev,
+ struct device_node *np,
+ struct map_info *map)
+{
+ return 0;
+}
+#endif