* [U-Boot] [PATCH 2/4] cfi_flash: Add weak default for cfi_flash_bank_addr()
@ 2010-08-31 11:33 Stefan Roese
2010-09-01 9:36 ` Sergei Shtylyov
0 siblings, 1 reply; 2+ messages in thread
From: Stefan Roese @ 2010-08-31 11:33 UTC (permalink / raw)
To: u-boot
cfi_flash_bank_addr(int bank_nr) returns the base addresses of the
requested bank. Introducing this weak default enables boards to override
this functions with a board specific version when required.
This feature will be used in the lwmon5 board update, supporting runtime
detection of 2 board revisions with different flash layouts.
Signed-off-by: Stefan Roese <sr@denx.de>
---
drivers/mtd/cfi_flash.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index b4a09dc..f10e09e 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -85,6 +85,13 @@ flash_info_t flash_info[CFI_MAX_FLASH_BANKS]; /* FLASH chips info */
#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_8BIT
#endif
+static phys_addr_t __cfi_flash_bank_addr(int i)
+{
+ return ((phys_addr_t [])CONFIG_SYS_FLASH_BANKS_LIST)[i];
+}
+phys_addr_t cfi_flash_bank_addr(int i)
+ __attribute__((weak, alias("__cfi_flash_bank_addr")));
+
static void __flash_write8(u8 value, void *addr)
{
__raw_writeb(value, addr);
@@ -2021,14 +2028,12 @@ unsigned long flash_init (void)
getenv_f("unlock", s, sizeof(s));
#endif
-#define BANK_BASE(i) (((phys_addr_t [CFI_MAX_FLASH_BANKS])CONFIG_SYS_FLASH_BANKS_LIST)[i])
-
/* Init: no FLASHes known */
for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
flash_info[i].flash_id = FLASH_UNKNOWN;
- if (!flash_detect_legacy (BANK_BASE(i), i))
- flash_get_size (BANK_BASE(i), i);
+ if (!flash_detect_legacy (cfi_flash_bank_addr(i), i))
+ flash_get_size (cfi_flash_bank_addr(i), i);
size += flash_info[i].size;
if (flash_info[i].flash_id == FLASH_UNKNOWN) {
#ifndef CONFIG_SYS_FLASH_QUIET_TEST
--
1.7.2.2
^ permalink raw reply related [flat|nested] 2+ messages in thread* [U-Boot] [PATCH 2/4] cfi_flash: Add weak default for cfi_flash_bank_addr()
2010-08-31 11:33 [U-Boot] [PATCH 2/4] cfi_flash: Add weak default for cfi_flash_bank_addr() Stefan Roese
@ 2010-09-01 9:36 ` Sergei Shtylyov
0 siblings, 0 replies; 2+ messages in thread
From: Sergei Shtylyov @ 2010-09-01 9:36 UTC (permalink / raw)
To: u-boot
Hello.
Stefan Roese wrote:
> cfi_flash_bank_addr(int bank_nr) returns the base addresses of the
> requested bank. Introducing this weak default enables boards to override
> this functions with a board specific version when required.
> This feature will be used in the lwmon5 board update, supporting runtime
> detection of 2 board revisions with different flash layouts.
> Signed-off-by: Stefan Roese <sr@denx.de>
[...]
> diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
> index b4a09dc..f10e09e 100644
> --- a/drivers/mtd/cfi_flash.c
> +++ b/drivers/mtd/cfi_flash.c
[...]
> @@ -2021,14 +2028,12 @@ unsigned long flash_init (void)
> getenv_f("unlock", s, sizeof(s));
> #endif
>
> -#define BANK_BASE(i) (((phys_addr_t [CFI_MAX_FLASH_BANKS])CONFIG_SYS_FLASH_BANKS_LIST)[i])
> -
> /* Init: no FLASHes known */
> for (i = 0; i < CONFIG_SYS_MAX_FLASH_BANKS; ++i) {
> flash_info[i].flash_id = FLASH_UNKNOWN;
>
> - if (!flash_detect_legacy (BANK_BASE(i), i))
> - flash_get_size (BANK_BASE(i), i);
> + if (!flash_detect_legacy (cfi_flash_bank_addr(i), i))
> + flash_get_size (cfi_flash_bank_addr(i), i);
Could remove the sopaces before parens to improve the coding style, while
at it...
WBR, Sergei
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-09-01 9:36 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-31 11:33 [U-Boot] [PATCH 2/4] cfi_flash: Add weak default for cfi_flash_bank_addr() Stefan Roese
2010-09-01 9:36 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox