summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2008-07-07 14:24:39 -0500
committerWolfgang Denk <wd@denx.de>2008-07-10 00:39:28 +0200
commit98874ff329d4a5b32c467b43f6e966e1aa68479f (patch)
tree18bbde0bbeead87f55171c259c05c91ace1ee192
parentda8693a91b8eef75ade8de50a1b2ce035bc5fb54 (diff)
downloadu-boot-imx-98874ff329d4a5b32c467b43f6e966e1aa68479f.zip
u-boot-imx-98874ff329d4a5b32c467b43f6e966e1aa68479f.tar.gz
u-boot-imx-98874ff329d4a5b32c467b43f6e966e1aa68479f.tar.bz2
Fix LMB type issues
The LMB code now uses phys_addr_t and phys_size_t. Also, there were a couple of casting problems in the bootm code that called the LMB functions. Signed-off-by: Andy Fleming <afleming@freescale.com>
-rw-r--r--include/lmb.h2
-rw-r--r--lib_generic/lmb.c6
-rw-r--r--lib_ppc/bootm.c3
3 files changed, 6 insertions, 5 deletions
diff --git a/include/lmb.h b/include/lmb.h
index 0283075..14e8727 100644
--- a/include/lmb.h
+++ b/include/lmb.h
@@ -43,7 +43,7 @@ extern phys_addr_t lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align
extern phys_addr_t __lmb_alloc_base(struct lmb *lmb, phys_size_t size, ulong align,
phys_addr_t max_addr);
extern int lmb_is_reserved(struct lmb *lmb, phys_addr_t addr);
-extern long lmb_free(struct lmb *lmb, u64 base, u64 size);
+extern long lmb_free(struct lmb *lmb, phys_addr_t base, phys_size_t size);
extern void lmb_dump_all(struct lmb *lmb);
diff --git a/lib_generic/lmb.c b/lib_generic/lmb.c
index 93264c1..6b46fa8 100644
--- a/lib_generic/lmb.c
+++ b/lib_generic/lmb.c
@@ -181,11 +181,11 @@ long lmb_add(struct lmb *lmb, phys_addr_t base, phys_size_t size)
return lmb_add_region(_rgn, base, size);
}
-long lmb_free(struct lmb *lmb, u64 base, u64 size)
+long lmb_free(struct lmb *lmb, phys_addr_t base, phys_size_t size)
{
struct lmb_region *rgn = &(lmb->reserved);
- u64 rgnbegin, rgnend;
- u64 end = base + size;
+ phys_addr_t rgnbegin, rgnend;
+ phys_addr_t end = base + size;
int i;
rgnbegin = rgnend = 0; /* supress gcc warnings */
diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c
index b0d224e..81803dd 100644
--- a/lib_ppc/bootm.c
+++ b/lib_ppc/bootm.c
@@ -212,7 +212,8 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
}
/* Delete the old LMB reservation */
- lmb_free(lmb, (uint64_t)(u32)of_flat_tree, fdt_totalsize(of_flat_tree));
+ lmb_free(lmb, (phys_addr_t)(u32)of_flat_tree,
+ (phys_size_t)fdt_totalsize(of_flat_tree));
/* Calculate the actual size of the fdt */
actualsize = fdt_off_dt_strings(of_flat_tree) +