linux/drivers/mtd/maps
Linus Walleij b0afd44bc1 mtd: physmap_of: add a hook for Versatile write protection
In order to support device tree probing of Versatile NOR flash
chips, there must be a way to add the VPP (write protection)
enable/disable callback. The register in question is in the
system controllers of these machines. Apart from this quirk,
the ARM flash chips are standard CFI flash chips from various
vendors.

Additionally, the Integrator/AP require you to set up the external
bus interface (EBI) to allow writes to the chip select where the
flash memory is connected.

Solve this by looking for the arm,versatile-flash compatible
string in the flash device tree node. In the driver,
add a special hook to check for the various Versatile syscons and
register a callback for .set_vpp() if this compatible is present.

Provide a special Kconfig entry for the addon hook so it will
not be compiled in if the Versatile boards are not supported.
Stubs in the header file make sure the impact will be zero on
other platforms. (Compilers optimze this out.)

With this patch, a large slew of ARM board file code can be
removed.

Cc: Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2016-04-04 10:33:16 +02:00
..
amd76xrom.c mtd: maps: Spelling s/reseved/reserved/ 2015-05-21 10:37:51 -07:00
bfin-async-flash.c mtd: bfin-async-flash: Remove unused variable 2014-10-22 01:35:41 -07:00
cfi_flagadm.c mtd: maps: cfi_flagadm: add missing __iomem annotation 2013-08-30 21:51:49 +01:00
ck804xrom.c mtd: maps: Remove redundant NULL check before kfree 2013-04-05 12:54:27 +01:00
dc21285.c mtd: dc21285: use raw spinlock functions for nw_gpio_lock 2015-05-28 12:01:29 -07:00
esb2rom.c mtd: maps: Spelling s/reseved/reserved/ 2015-05-21 10:37:51 -07:00
gpio-addr-flash.c mtd: maps: gpio-addr-flash: show parent device in sysfs 2015-10-13 12:56:18 -07:00
ichxrom.c mtd: maps: Spelling s/reseved/reserved/ 2015-05-21 10:37:51 -07:00
impa7.c mtd: impa7: add missing __iomem annotation 2013-08-30 21:51:40 +01:00
intel_vr_nor.c mtd: maps: intel_vr_nor: show parent device in sysfs 2015-10-13 12:56:19 -07:00
ixp4xx.c mtd: maps: ixp4xx: show parent device in sysfs 2015-10-13 12:56:19 -07:00
Kconfig mtd: physmap_of: add a hook for Versatile write protection 2016-04-04 10:33:16 +02:00
l440gx.c mtd: maps: l440gx: Add reference counter to set_vpp() 2012-03-27 00:52:49 +01:00
lantiq-flash.c mtd: drop unnecessary partition parser data 2015-11-11 13:58:59 -08:00
latch-addr-flash.c mtd: maps: latch-addr-flash: show parent device in sysfs 2015-10-13 12:56:21 -07:00
Makefile mtd: physmap_of: add a hook for Versatile write protection 2016-04-04 10:33:16 +02:00
map_funcs.c
netsc520.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
nettel.c mtd: nettel: do not ignore mtd_device_register() failure in nettel_init() 2015-08-18 17:33:34 -07:00
pci.c mtd: delete non-required instances of include <linux/init.h> 2014-03-10 22:42:22 -07:00
pcmciamtd.c drivers/mtd/maps/pcmciamtd.c: __iomem annotations 2016-01-04 10:28:56 -05:00
physmap_of_versatile.c mtd: physmap_of: add a hook for Versatile write protection 2016-04-04 10:33:16 +02:00
physmap_of_versatile.h mtd: physmap_of: add a hook for Versatile write protection 2016-04-04 10:33:16 +02:00
physmap_of.c mtd: physmap_of: add a hook for Versatile write protection 2016-04-04 10:33:16 +02:00
physmap.c mtd: maps: physmap: drop owner assignment 2015-10-13 12:56:21 -07:00
pismo.c Drivers: mtd: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
plat-ram.c mtd: maps: plat_ram: drop owner assignment 2015-10-13 12:56:22 -07:00
pmcmsp-flash.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
pxa2xx-flash.c mtd: maps: pxa2xx-flash: show parent device in sysfs 2015-10-13 12:56:23 -07:00
rbtx4939-flash.c mtd: maps: rbtx4939-flash: fix compile error 2015-10-19 18:21:25 -07:00
sa1100-flash.c mtd: maps: sa1100-flash: show parent device in sysfs 2015-10-13 12:56:24 -07:00
sbc_gxx.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
sc520cdp.c mtd: maps: sc520cdp: fix warnings 2014-05-28 00:05:24 -07:00
scb2_flash.c mtd: delete non-required instances of include <linux/init.h> 2014-03-10 22:42:22 -07:00
scx200_docflash.c mtd: scx200_docflash: convert to mtd_device_register() 2011-05-25 02:22:04 +01:00
solutionengine.c mtd: maps: remove check for CONFIG_MTD_SUPERH_RESERVE 2014-05-28 15:12:47 -07:00
sun_uflash.c mtd: maps: drop owner assignment from platform_drivers 2014-10-20 16:20:57 +02:00
ts5500_flash.c mtd: ts5500_flash: Fix typo in MODULE_DESCRIPTION in ts5500_flash.c 2015-03-30 20:19:44 -07:00
tsunami_flash.c mtd: maps: add const qualifiers 2013-04-05 13:04:20 +01:00
uclinux.c mtd: uclinux: add a comment about why uclinux_ram_map must not be static 2013-02-04 09:26:30 +02:00
vmu-flash.c mtd: remove use of __devexit 2012-11-22 12:07:03 +02:00