From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC][PATCH 14/19] nand_fsl_nfc: get rid of local var
Date: Thu, 29 Jul 2010 12:45:03 +0200 [thread overview]
Message-ID: <4C515BAF.90403@denx.de> (raw)
If we have -fPIC enabled, this var leads in one entry in the
GOT. The result of this is that the image size is > 0x800.
Signed-off-by: Heiko Schocher <hs@denx.de>
---
I tried to fix this in the u-boot.lds, but without success. If
somebody knows, how to fix this without this patch, it would be
great!
nand_spl/nand_boot_fsl_nfc.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/nand_spl/nand_boot_fsl_nfc.c b/nand_spl/nand_boot_fsl_nfc.c
index 9720f6a..0543512 100644
--- a/nand_spl/nand_boot_fsl_nfc.c
+++ b/nand_spl/nand_boot_fsl_nfc.c
@@ -34,10 +34,9 @@
#include <asm/io.h>
#include <fsl_nfc.h>
-struct fsl_nfc_regs *nfc;
-
static void nfc_wait_ready(void)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
uint32_t tmp;
while (!(readw(&nfc->nand_flash_config2) & NFC_INT))
@@ -51,6 +50,7 @@ static void nfc_wait_ready(void)
void nfc_nand_init(void)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
#if defined(MXC_NFC_V1_1)
int ecc_per_page = CONFIG_SYS_NAND_PAGE_SIZE / 512;
int config1;
@@ -82,6 +82,7 @@ void nfc_nand_init(void)
static void nfc_nand_command(unsigned short command)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
writew(command, &nfc->flash_cmd);
writew(NFC_CMD, &nfc->nand_flash_config2);
nfc_wait_ready();
@@ -89,6 +90,7 @@ static void nfc_nand_command(unsigned short command)
static void nfc_nand_page_address(unsigned int page_address)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
unsigned int page_count;
writew(0x00, &nfc->flash_add);
@@ -122,6 +124,7 @@ static void nfc_nand_page_address(unsigned int page_address)
static void nfc_nand_data_output(void)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
int config1 = readw(&nfc->nand_flash_config1);
#ifdef NAND_MXC_2K_MULTI_CYCLE
int i;
@@ -150,11 +153,13 @@ static void nfc_nand_data_output(void)
static int nfc_nand_check_ecc(void)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
return readw(&nfc->ecc_status_result);
}
static int nfc_read_page(unsigned int page_address, unsigned char *buf)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
int i;
u32 *src;
u32 *dst;
@@ -186,6 +191,7 @@ static int nfc_read_page(unsigned int page_address, unsigned char *buf)
static int is_badblock(int pagenumber)
{
+ struct fsl_nfc_regs *nfc = (void *)NFC_BASE_ADDR;
int page = pagenumber;
u32 badblock;
u32 *src;
@@ -228,8 +234,6 @@ static int nand_load(unsigned int from, unsigned int size, unsigned char *buf)
unsigned int maxpages = CONFIG_SYS_NAND_SIZE /
CONFIG_SYS_NAND_PAGE_SIZE;
- nfc = (void *)NFC_BASE_ADDR;
-
nfc_nand_init();
/* Convert to page number */
@@ -279,8 +283,6 @@ void nand_boot(void)
{
__attribute__((noreturn)) void (*uboot)(void);
- nfc = (void *)NFC_BASE_ADDR;
-
/*
* CONFIG_SYS_NAND_U_BOOT_OFFS and CONFIG_SYS_NAND_U_BOOT_SIZE must
* be aligned to full pages
--
1.6.2.5
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next reply other threads:[~2010-07-29 10:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-29 10:45 Heiko Schocher [this message]
2010-07-29 16:40 ` [U-Boot] [RFC][PATCH 14/19] nand_fsl_nfc: get rid of local var Scott Wood
2010-07-30 6:24 ` Heiko Schocher
2010-08-03 10:15 ` [U-Boot] [RFC][PATCH v2 " Heiko Schocher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C515BAF.90403@denx.de \
--to=hs@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.