Lines Matching full:core
206 struct bcma_device *core; in bcma_find_core_by_index() local
208 list_for_each_entry(core, &bus->cores, list) { in bcma_find_core_by_index()
209 if (core->core_index == index) in bcma_find_core_by_index()
210 return core; in bcma_find_core_by_index()
217 struct bcma_device *core) in bcma_get_next_core() argument
237 core->id.class = (cia & SCAN_CIA_CLASS) >> SCAN_CIA_CLASS_SHIFT; in bcma_get_next_core()
238 core->id.id = (cia & SCAN_CIA_ID) >> SCAN_CIA_ID_SHIFT; in bcma_get_next_core()
239 core->id.manuf = (cia & SCAN_CIA_MANUF) >> SCAN_CIA_MANUF_SHIFT; in bcma_get_next_core()
244 core->id.rev = (cib & SCAN_CIB_REV) >> SCAN_CIB_REV_SHIFT; in bcma_get_next_core()
246 if (((core->id.manuf == BCMA_MANUF_ARM) && in bcma_get_next_core()
247 (core->id.id == 0xFFF)) || in bcma_get_next_core()
253 /* check if component is a core at all */ in bcma_get_next_core()
273 match->manuf != core->id.manuf) || in bcma_get_next_core()
274 (match->id != BCMA_ANY_ID && match->id != core->id.id) || in bcma_get_next_core()
275 (match->rev != BCMA_ANY_REV && match->rev != core->id.rev) || in bcma_get_next_core()
276 (match->class != BCMA_ANY_CLASS && match->class != core->id.class) in bcma_get_next_core()
301 core->addr = tmp; in bcma_get_next_core()
318 core->wrap = tmp; in bcma_get_next_core()
336 core->wrap = tmp; in bcma_get_next_core()
341 core->io_addr = ioremap_nocache(core->addr, BCMA_CORE_SIZE); in bcma_get_next_core()
342 if (!core->io_addr) in bcma_get_next_core()
344 core->io_wrap = ioremap_nocache(core->wrap, BCMA_CORE_SIZE); in bcma_get_next_core()
345 if (!core->io_wrap) { in bcma_get_next_core()
346 iounmap(core->io_addr); in bcma_get_next_core()
395 struct bcma_device *core = kzalloc(sizeof(*core), GFP_KERNEL); in bcma_bus_scan() local
396 if (!core) in bcma_bus_scan()
398 INIT_LIST_HEAD(&core->list); in bcma_bus_scan()
399 core->bus = bus; in bcma_bus_scan()
401 err = bcma_get_next_core(bus, &eromptr, NULL, core_num, core); in bcma_bus_scan()
403 kfree(core); in bcma_bus_scan()
415 core->core_index = core_num++; in bcma_bus_scan()
418 pr_info("Core %d found: %s " in bcma_bus_scan()
420 core->core_index, bcma_device_name(&core->id), in bcma_bus_scan()
421 core->id.manuf, core->id.id, core->id.rev, in bcma_bus_scan()
422 core->id.class); in bcma_bus_scan()
424 list_add(&core->list, &bus->cores); in bcma_bus_scan()
435 struct bcma_device *core) in bcma_bus_scan_early() argument
457 memset(core, 0, sizeof(*core)); in bcma_bus_scan_early()
458 INIT_LIST_HEAD(&core->list); in bcma_bus_scan_early()
459 core->bus = bus; in bcma_bus_scan_early()
461 err = bcma_get_next_core(bus, &eromptr, match, core_num, core); in bcma_bus_scan_early()
472 core->core_index = core_num++; in bcma_bus_scan_early()
474 pr_info("Core %d found: %s " in bcma_bus_scan_early()
476 core->core_index, bcma_device_name(&core->id), in bcma_bus_scan_early()
477 core->id.manuf, core->id.id, core->id.rev, in bcma_bus_scan_early()
478 core->id.class); in bcma_bus_scan_early()
480 list_add(&core->list, &bus->cores); in bcma_bus_scan_early()