Example #1
0
static void lk_dfo_tag_info_collect(void)
{
	// Device tree method
	struct tag	*tags;
	int 		node, dfo_nr;
	int		i;

	node = of_scan_flat_dt(early_init_dt_get_chosen, NULL);
	tags = of_get_flat_dt_prop(node, "atag,dfo", NULL);
	#ifndef CONFIG_ARM64
	if (tags) {
		dfo_nr = ((tags->hdr.size << 2) - sizeof(struct tag_header)) / sizeof(tag_dfo_boot);
		for(i=0; i<dfo_nr; i++)
			update_fos_table_item(tags->u.dfo_data.info[i].name, tags->u.dfo_data.info[i].value);
	}
	#endif
}
static void lk_dfo_tag_info_collect(void)
{
	// Device tree method
	struct tag	*tags;
	int 		ret, dfo_nr;
	int		i;

	ret = of_scan_flat_dt(early_init_dt_get_chosen, NULL);
    if(ret==0){
        CCCI_UTIL_INF_MSG("device node no chosen node\n");
        return;
    }
	tags = of_get_flat_dt_prop(dt_chosen_node, "atag,dfo", NULL);
	if (tags) {
		dfo_nr = ((tags->hdr.size << 2) - sizeof(struct tag_header)) / sizeof(tag_dfo_boot);
		for(i=0; i<dfo_nr; i++)
			update_fos_table_item(tags->u.dfo_data.info[i].name, tags->u.dfo_data.info[i].value);
	}else{
        CCCI_UTIL_INF_MSG("atag,dfo=NULL\n");
	}
}