Lines Matching refs:indicator
395 IndAddr *indicator; in get_indicator() local
397 QTAILQ_FOREACH(indicator, &channel_subsys.indicator_addresses, sibling) { in get_indicator()
398 if (indicator->addr == ind_addr) { in get_indicator()
399 indicator->refcnt++; in get_indicator()
400 return indicator; in get_indicator()
403 indicator = g_new0(IndAddr, 1); in get_indicator()
404 indicator->addr = ind_addr; in get_indicator()
405 indicator->len = len; in get_indicator()
406 indicator->refcnt = 1; in get_indicator()
408 indicator, sibling); in get_indicator()
409 return indicator; in get_indicator()
421 void release_indicator(AdapterInfo *adapter, IndAddr *indicator) in release_indicator() argument
423 assert(indicator->refcnt > 0); in release_indicator()
424 indicator->refcnt--; in release_indicator()
425 if (indicator->refcnt > 0) { in release_indicator()
428 QTAILQ_REMOVE(&channel_subsys.indicator_addresses, indicator, sibling); in release_indicator()
429 if (indicator->map) { in release_indicator()
430 s390_io_adapter_map(adapter, indicator->map, false); in release_indicator()
432 g_free(indicator); in release_indicator()
435 int map_indicator(AdapterInfo *adapter, IndAddr *indicator) in map_indicator() argument
439 if (indicator->map) { in map_indicator()
442 indicator->map = indicator->addr; in map_indicator()
443 ret = s390_io_adapter_map(adapter, indicator->map, true); in map_indicator()
450 indicator->map = 0; in map_indicator()