mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
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>
This commit is contained in:
parent
da8693a91b
commit
98874ff329
3 changed files with 6 additions and 5 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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) +
|
||||
|
|
Loading…
Reference in a new issue