@ -203,12 +203,11 @@ static int fdt_fixup_stdout(void *fdt, int chosenoff)
}
# endif
int fdt_initrd ( void * fdt , ulong initrd_start , ulong initrd_end , int force )
int fdt_initrd ( void * fdt , ulong initrd_start , ulong initrd_end )
{
int nodeoffset , addr_cell_len ;
int err , j , total ;
fdt64_t tmp ;
const char * path ;
uint64_t addr , size ;
/* find or create "/chosen" node. */
@ -242,26 +241,22 @@ int fdt_initrd(void *fdt, ulong initrd_start, ulong initrd_end, int force)
addr_cell_len = get_cells_len ( fdt , " #address-cells " ) ;
path = fdt_getprop ( fdt , nodeoffset , " linux,initrd-start " , NULL ) ;
if ( ( path = = NULL ) | | force ) {
write_cell ( ( u8 * ) & tmp , initrd_start , addr_cell_len ) ;
err = fdt_setprop ( fdt , nodeoffset ,
" linux,initrd-start " , & tmp , addr_cell_len ) ;
if ( err < 0 ) {
printf ( " WARNING: "
" could not set linux,initrd-start %s. \n " ,
fdt_strerror ( err ) ) ;
return err ;
}
write_cell ( ( u8 * ) & tmp , initrd_end , addr_cell_len ) ;
err = fdt_setprop ( fdt , nodeoffset ,
write_cell ( ( u8 * ) & tmp , initrd_start , addr_cell_len ) ;
err = fdt_setprop ( fdt , nodeoffset ,
" linux,initrd-start " , & tmp , addr_cell_len ) ;
if ( err < 0 ) {
printf ( " WARNING: could not set linux,initrd-start %s. \n " ,
fdt_strerror ( err ) ) ;
return err ;
}
write_cell ( ( u8 * ) & tmp , initrd_end , addr_cell_len ) ;
err = fdt_setprop ( fdt , nodeoffset ,
" linux,initrd-end " , & tmp , addr_cell_len ) ;
if ( err < 0 ) {
printf ( " WARNING: could not set linux,initrd-end %s. \n " ,
fdt_strerror ( err ) ) ;
if ( err < 0 ) {
printf ( " WARNING: could not set linux,initrd-end %s. \n " ,
fdt_strerror ( err ) ) ;
return err ;
}
return err ;
}
return 0 ;