Lines Matching refs:chp

135 	struct channel_path *chp;  in chp_measurement_chars_read()  local
139 chp = to_channelpath(device); in chp_measurement_chars_read()
140 if (chp->cmg == -1) in chp_measurement_chars_read()
143 return memory_read_from_buffer(buf, count, &off, &chp->cmg_chars, in chp_measurement_chars_read()
144 sizeof(chp->cmg_chars)); in chp_measurement_chars_read()
182 struct channel_path *chp; in chp_measurement_read() local
188 chp = to_channelpath(device); in chp_measurement_read()
189 css = to_css(chp->dev.parent); in chp_measurement_read()
196 chp_measurement_copy_block((struct cmg_entry *)buf, css, chp->chpid); in chp_measurement_read()
210 void chp_remove_cmg_attr(struct channel_path *chp) in chp_remove_cmg_attr() argument
212 device_remove_bin_file(&chp->dev, &chp_measurement_chars_attr); in chp_remove_cmg_attr()
213 device_remove_bin_file(&chp->dev, &chp_measurement_attr); in chp_remove_cmg_attr()
216 int chp_add_cmg_attr(struct channel_path *chp) in chp_add_cmg_attr() argument
220 ret = device_create_bin_file(&chp->dev, &chp_measurement_chars_attr); in chp_add_cmg_attr()
223 ret = device_create_bin_file(&chp->dev, &chp_measurement_attr); in chp_add_cmg_attr()
225 device_remove_bin_file(&chp->dev, &chp_measurement_chars_attr); in chp_add_cmg_attr()
235 struct channel_path *chp = to_channelpath(dev); in chp_status_show() local
238 mutex_lock(&chp->lock); in chp_status_show()
239 status = chp->state; in chp_status_show()
240 mutex_unlock(&chp->lock); in chp_status_show()
317 struct channel_path *chp = to_channelpath(dev); in chp_type_show() local
320 mutex_lock(&chp->lock); in chp_type_show()
321 type = chp->desc.desc; in chp_type_show()
322 mutex_unlock(&chp->lock); in chp_type_show()
331 struct channel_path *chp = to_channelpath(dev); in chp_cmg_show() local
333 if (!chp) in chp_cmg_show()
335 if (chp->cmg == -1) /* channel measurements not available */ in chp_cmg_show()
337 return sprintf(buf, "%x\n", chp->cmg); in chp_cmg_show()
345 struct channel_path *chp = to_channelpath(dev); in chp_shared_show() local
347 if (!chp) in chp_shared_show()
349 if (chp->shared == -1) /* channel measurements not available */ in chp_shared_show()
351 return sprintf(buf, "%x\n", chp->shared); in chp_shared_show()
359 struct channel_path *chp = to_channelpath(dev); in chp_chid_show() local
362 mutex_lock(&chp->lock); in chp_chid_show()
363 if (chp->desc_fmt1.flags & 0x10) in chp_chid_show()
364 rc = sprintf(buf, "%04x\n", chp->desc_fmt1.chid); in chp_chid_show()
367 mutex_unlock(&chp->lock); in chp_chid_show()
376 struct channel_path *chp = to_channelpath(dev); in chp_chid_external_show() local
379 mutex_lock(&chp->lock); in chp_chid_external_show()
380 if (chp->desc_fmt1.flags & 0x10) in chp_chid_external_show()
381 rc = sprintf(buf, "%x\n", chp->desc_fmt1.flags & 0x8 ? 1 : 0); in chp_chid_external_show()
384 mutex_unlock(&chp->lock); in chp_chid_external_show()
393 struct channel_path *chp = to_channelpath(dev); in chp_esc_show() local
396 mutex_lock(&chp->lock); in chp_esc_show()
397 rc = sprintf(buf, "%x\n", chp->desc_fmt1.esc); in chp_esc_show()
398 mutex_unlock(&chp->lock); in chp_esc_show()
408 struct channel_path *chp = to_channelpath(kobj_to_dev(kobj)); in util_string_read() local
411 mutex_lock(&chp->lock); in util_string_read()
412 rc = memory_read_from_buffer(buf, count, &off, chp->desc_fmt3.util_str, in util_string_read()
413 sizeof(chp->desc_fmt3.util_str)); in util_string_read()
414 mutex_unlock(&chp->lock); in util_string_read()
462 int chp_update_desc(struct channel_path *chp) in chp_update_desc() argument
466 rc = chsc_determine_fmt0_channel_path_desc(chp->chpid, &chp->desc); in chp_update_desc()
474 chsc_determine_fmt1_channel_path_desc(chp->chpid, &chp->desc_fmt1); in chp_update_desc()
475 chsc_determine_fmt3_channel_path_desc(chp->chpid, &chp->desc_fmt3); in chp_update_desc()
476 chsc_get_channel_measurement_chars(chp); in chp_update_desc()
491 struct channel_path *chp; in chp_new() local
498 chp = kzalloc(sizeof(struct channel_path), GFP_KERNEL); in chp_new()
499 if (!chp) { in chp_new()
504 chp->chpid = chpid; in chp_new()
505 chp->state = 1; in chp_new()
506 chp->dev.parent = &css->device; in chp_new()
507 chp->dev.groups = chp_attr_groups; in chp_new()
508 chp->dev.release = chp_release; in chp_new()
509 mutex_init(&chp->lock); in chp_new()
512 ret = chp_update_desc(chp); in chp_new()
515 if ((chp->desc.flags & 0x80) == 0) { in chp_new()
519 dev_set_name(&chp->dev, "chp%x.%02x", chpid.cssid, chpid.id); in chp_new()
522 ret = device_register(&chp->dev); in chp_new()
526 put_device(&chp->dev); in chp_new()
531 ret = chp_add_cmg_attr(chp); in chp_new()
533 device_unregister(&chp->dev); in chp_new()
537 css->chps[chpid.id] = chp; in chp_new()
540 kfree(chp); in chp_new()
555 struct channel_path *chp; in chp_get_chp_desc() local
558 chp = chpid_to_chp(chpid); in chp_get_chp_desc()
559 if (!chp) in chp_get_chp_desc()
565 mutex_lock(&chp->lock); in chp_get_chp_desc()
566 memcpy(desc, &chp->desc, sizeof(*desc)); in chp_get_chp_desc()
567 mutex_unlock(&chp->lock); in chp_get_chp_desc()