···204204static unsigned int topo_unit_count(u32 lvlid, enum x86_topology_domains at_level,205205 unsigned long *map)206206{207207- unsigned int id, end, cnt = 0;207207+ unsigned int end;208208209209 /* Calculate the exclusive end */210210 end = lvlid + (1U << x86_topo_system.dom_shifts[at_level]);211211-212212- /* Unfortunately there is no bitmap_weight_range() */213213- for (id = find_next_bit(map, end, lvlid); id < end; id = find_next_bit(map, end, ++id))214214- cnt++;215215- return cnt;211211+ return bitmap_weight_from(map, lvlid, end);216212}217213218214static __init void topo_register_apic(u32 apic_id, u32 acpi_id, bool present)