static void fill_cacheinfo()

in kernel/cacheinfo.c [92:114]


static void fill_cacheinfo(struct cacheinfo **this_leaf,
			   struct device_node *node, unsigned int level)
{
	unsigned int size, sets, line_size;

	if (!of_property_read_u32(node, "cache-size", &size) &&
	    !of_property_read_u32(node, "cache-block-size", &line_size) &&
	    !of_property_read_u32(node, "cache-sets", &sets)) {
		ci_leaf_init((*this_leaf)++, CACHE_TYPE_UNIFIED, level, size, sets, line_size);
	}

	if (!of_property_read_u32(node, "i-cache-size", &size) &&
	    !of_property_read_u32(node, "i-cache-sets", &sets) &&
	    !of_property_read_u32(node, "i-cache-block-size", &line_size)) {
		ci_leaf_init((*this_leaf)++, CACHE_TYPE_INST, level, size, sets, line_size);
	}

	if (!of_property_read_u32(node, "d-cache-size", &size) &&
	    !of_property_read_u32(node, "d-cache-sets", &sets) &&
	    !of_property_read_u32(node, "d-cache-block-size", &line_size)) {
		ci_leaf_init((*this_leaf)++, CACHE_TYPE_DATA, level, size, sets, line_size);
	}
}