mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
flash/cfi_flash: Use virtual sector start address, not phys
include/flash.h was commented to say that the address in flash_info->start was a physical address. However, from u-boot's point of view, and looking at most flash code, it makes more sense for this to be a virtual address. So I corrected the comment to indicate that this was a virtual address. The only flash driver that was actually treating the address as physical was the mtd/cfi_flash driver. However, this code was using it inconsistently as it actually directly dereferenced the "start" element, while it used map_physmem to get a virtual address in other places. I changed this driver so that the code which initializes the info->start field calls map_physmem to get a virtual address, eliminating the need for further map_physmem calls. The code is now consistent. The *only* place a physical address should be used is when defining the flash banks list that is used to initialize the flash_info struct, usually found in the board config file. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
9d8811c5bd
commit
09ce9921a7
2 changed files with 25 additions and 30 deletions
|
@ -33,7 +33,7 @@ typedef struct {
|
|||
ulong size; /* total bank size in bytes */
|
||||
ushort sector_count; /* number of erase units */
|
||||
ulong flash_id; /* combined device & manufacturer code */
|
||||
ulong start[CONFIG_SYS_MAX_FLASH_SECT]; /* physical sector start addresses */
|
||||
ulong start[CONFIG_SYS_MAX_FLASH_SECT]; /* virtual sector start address */
|
||||
uchar protect[CONFIG_SYS_MAX_FLASH_SECT]; /* sector protection status */
|
||||
#ifdef CONFIG_SYS_FLASH_CFI
|
||||
uchar portwidth; /* the width of the port */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue