@ -79,11 +79,16 @@ fdt_addr_t fdtdec_get_addr(const void *blob, int node,
const fdt_addr_t * cell ;
int len ;
debug ( " get_addr: %s \n " , prop_name ) ;
debug ( " %s: %s: " , __func__ , prop_name ) ;
cell = fdt_getprop ( blob , node , prop_name , & len ) ;
if ( cell & & ( len = = sizeof ( fdt_addr_t ) | |
len = = sizeof ( fdt_addr_t ) * 2 ) )
return fdt_addr_to_cpu ( * cell ) ;
len = = sizeof ( fdt_addr_t ) * 2 ) ) {
fdt_addr_t addr = fdt_addr_to_cpu ( * cell ) ;
debug ( " %p \n " , ( void * ) addr ) ;
return addr ;
}
debug ( " (not found) \n " ) ;
return FDT_ADDR_T_NONE ;
}
@ -93,10 +98,15 @@ s32 fdtdec_get_int(const void *blob, int node, const char *prop_name,
const s32 * cell ;
int len ;
debug ( " get_size: %s \n " , prop_name ) ;
debug ( " %s: %s: " , __func__ , prop_name ) ;
cell = fdt_getprop ( blob , node , prop_name , & len ) ;
if ( cell & & len > = sizeof ( s32 ) )
return fdt32_to_cpu ( cell [ 0 ] ) ;
if ( cell & & len > = sizeof ( s32 ) ) {
s32 val = fdt32_to_cpu ( cell [ 0 ] ) ;
debug ( " %#x (%d) \n " , val , val ) ;
return val ;
}
debug ( " (not found) \n " ) ;
return default_val ;
}
@ -328,6 +338,7 @@ int fdtdec_lookup_phandle(const void *blob, int node, const char *prop_name)
const u32 * phandle ;
int lookup ;
debug ( " %s: %s \n " , __func__ , prop_name ) ;
phandle = fdt_getprop ( blob , node , prop_name , NULL ) ;
if ( ! phandle )
return - FDT_ERR_NOTFOUND ;
@ -427,7 +438,7 @@ static int fdtdec_decode_gpios(const void *blob, int node,
assert ( max_count > 0 ) ;
prop = fdt_get_property ( blob , node , prop_name , & len ) ;
if ( ! prop ) {
debug ( " FDT: %s: property '%s' missing\n " , __func__ , prop_name ) ;
debug ( " %s: property '%s' missing \n " , __func__ , prop_name ) ;
return - FDT_ERR_NOTFOUND ;
}
@ -436,7 +447,7 @@ static int fdtdec_decode_gpios(const void *blob, int node,
cell = ( u32 * ) prop - > data ;
len / = sizeof ( u32 ) * 3 ; /* 3 cells per GPIO record */
if ( len > max_count ) {
debug ( " FDT: %s: too many GPIOs / cells for "
debug ( " %s: too many GPIOs / cells for "
" property '%s' \n " , __func__ , prop_name ) ;
return - FDT_ERR_BADLAYOUT ;
}