linux/drivers/mtd/maps
Greg Ungerer 08a3c4bc23 mtd: fix wrong usage of ioremap_nocache() in uclinux.c map driver
The uclinux.c mapping driver uses ioremap_nocache() to map its physical
mapping address to a system virtual address. Problem is that the region
it is mapping is not device memory. It is ordinary system RAM. On most
non-MMU systems this doesn't matter, and the mapping is always a 1:1
translation of the address. On paged memory systems on some architectures
the page table mappings are not compatible between normal RAM and device
memory.

If we want to use the uclinux.c mapping driver on real MMU enabled systems
we should be using the kernel virtual address that the mapping is at. For
architectures that support the traditional initrd they use phys_to_virt or
__va to convert the physical start initrd address to a kernel usable virtual
address. The uclinux filesystem mapping is even more restrictive than the
typical initrd, it always follows the kernels own bss section (so always in
directly mapped memory). Therefore we can use the usual phys_to_virt to
translate the physical start address to a virtual address.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2012-09-29 14:58:05 +01:00
..
amd76xrom.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
autcpu12-nvram.c mtd: autcpu12-nvram: Convert driver to platform_device 2012-09-29 14:55:19 +01:00
bfin-async-flash.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
cdb89712.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
cfi_flagadm.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
ck804xrom.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
dbox2-flash.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
dc21285.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
dilnetpc.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
dmv182.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
esb2rom.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
fortunet.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
gpio-addr-flash.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
h720x-flash.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
ichxrom.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
impa7.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
intel_vr_nor.c mtd: use module_pci_driver 2012-05-13 22:47:19 -05:00
ixp4xx.c mtd: ixp4xx: oops in ixp4xx_flash_probe 2012-03-27 00:33:33 +01:00
ixp2000.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
Kconfig mtd: autcpu12-nvram: Convert driver to platform_device 2012-09-29 14:55:19 +01:00
l440gx.c mtd: maps: l440gx: Add reference counter to set_vpp() 2012-03-27 00:52:49 +01:00
lantiq-flash.c MTD: MIPS: lantiq: verify that the NOR interface is available on falcon soc 2012-05-21 14:31:55 +01:00
latch-addr-flash.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
Makefile mtd: delete SBC82xx/SBC8560 MTD mapping support 2012-07-06 18:20:38 +01:00
map_funcs.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mbx860.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
netsc520.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
nettel.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
octagon-5066.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
pci.c mtd: use module_pci_driver 2012-05-13 22:47:19 -05:00
pcmciamtd.c MTD merge for 3.4 2012-03-30 17:31:56 -07:00
physmap_of.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
physmap.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
pismo.c ARM: 6910/1: MTD: physmap: let set_vpp() pass a platform_device instead of a map_info 2011-05-20 22:27:34 +01:00
plat-ram.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
pmcmsp-flash.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
pxa2xx-flash.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
rbtx4939-flash.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
rpxlite.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
sa1100-flash.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
sbc_gxx.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
sc520cdp.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
scb2_flash.c mtd: use module_pci_driver 2012-05-13 22:47:19 -05:00
scx200_docflash.c mtd: scx200_docflash: convert to mtd_device_register() 2011-05-25 02:22:04 +01:00
solutionengine.c mtd: do not use plain 0 as NULL 2012-03-27 00:53:20 +01:00
sun_uflash.c mtd: convert drivers/mtd/* to use module_platform_driver() 2012-01-09 18:12:35 +00:00
tqm8xxl.c mtd: tqm8xll: convert to mtd_device_register() 2011-05-25 02:22:57 +01:00
ts5500_flash.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
tsunami_flash.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
uclinux.c mtd: fix wrong usage of ioremap_nocache() in uclinux.c map driver 2012-09-29 14:58:05 +01:00
vmax301.c mtd: convert remaining users to mtd_device_register() 2011-05-25 02:25:00 +01:00
vmu-flash.c mtd: move zero length verification to MTD API functions 2012-03-27 00:32:19 +01:00