Lines Matching refs:cr

512 	int cr;  member
523 struct afu_config_record *cr = to_cr(kobj); in vendor_show() local
525 return scnprintf(buf, PAGE_SIZE, "0x%.4x\n", cr->vendor); in vendor_show()
531 struct afu_config_record *cr = to_cr(kobj); in device_show() local
533 return scnprintf(buf, PAGE_SIZE, "0x%.4x\n", cr->device); in device_show()
539 struct afu_config_record *cr = to_cr(kobj); in class_show() local
541 return scnprintf(buf, PAGE_SIZE, "0x%.6x\n", cr->class); in class_show()
548 struct afu_config_record *cr = to_cr(kobj); in afu_read_config() local
554 rc = cxl_ops->afu_cr_read64(afu, cr->cr, off & ~0x7, &val); in afu_read_config()
580 struct afu_config_record *cr = to_cr(kobj); in release_afu_config_record() local
582 kfree(cr); in release_afu_config_record()
593 struct afu_config_record *cr; in cxl_sysfs_afu_new_cr() local
596 cr = kzalloc(sizeof(struct afu_config_record), GFP_KERNEL); in cxl_sysfs_afu_new_cr()
597 if (!cr) in cxl_sysfs_afu_new_cr()
600 cr->cr = cr_idx; in cxl_sysfs_afu_new_cr()
602 rc = cxl_ops->afu_cr_read16(afu, cr_idx, PCI_DEVICE_ID, &cr->device); in cxl_sysfs_afu_new_cr()
605 rc = cxl_ops->afu_cr_read16(afu, cr_idx, PCI_VENDOR_ID, &cr->vendor); in cxl_sysfs_afu_new_cr()
608 rc = cxl_ops->afu_cr_read32(afu, cr_idx, PCI_CLASS_REVISION, &cr->class); in cxl_sysfs_afu_new_cr()
611 cr->class >>= 8; in cxl_sysfs_afu_new_cr()
622 sysfs_bin_attr_init(&cr->config_attr); in cxl_sysfs_afu_new_cr()
623 cr->config_attr.attr.name = "config"; in cxl_sysfs_afu_new_cr()
624 cr->config_attr.attr.mode = S_IRUSR; in cxl_sysfs_afu_new_cr()
625 cr->config_attr.size = afu->crs_len; in cxl_sysfs_afu_new_cr()
626 cr->config_attr.read = afu_read_config; in cxl_sysfs_afu_new_cr()
628 rc = kobject_init_and_add(&cr->kobj, &afu_config_record_type, in cxl_sysfs_afu_new_cr()
629 &afu->dev.kobj, "cr%i", cr->cr); in cxl_sysfs_afu_new_cr()
633 rc = sysfs_create_bin_file(&cr->kobj, &cr->config_attr); in cxl_sysfs_afu_new_cr()
637 rc = kobject_uevent(&cr->kobj, KOBJ_ADD); in cxl_sysfs_afu_new_cr()
641 return cr; in cxl_sysfs_afu_new_cr()
643 sysfs_remove_bin_file(&cr->kobj, &cr->config_attr); in cxl_sysfs_afu_new_cr()
645 kobject_put(&cr->kobj); in cxl_sysfs_afu_new_cr()
648 kfree(cr); in cxl_sysfs_afu_new_cr()
655 struct afu_config_record *cr, *tmp; in cxl_sysfs_afu_remove() local
669 list_for_each_entry_safe(cr, tmp, &afu->crs, list) { in cxl_sysfs_afu_remove()
670 sysfs_remove_bin_file(&cr->kobj, &cr->config_attr); in cxl_sysfs_afu_remove()
671 kobject_put(&cr->kobj); in cxl_sysfs_afu_remove()
678 struct afu_config_record *cr; in cxl_sysfs_afu_add() local
711 cr = cxl_sysfs_afu_new_cr(afu, i); in cxl_sysfs_afu_add()
712 if (IS_ERR(cr)) { in cxl_sysfs_afu_add()
713 rc = PTR_ERR(cr); in cxl_sysfs_afu_add()
716 list_add(&cr->list, &afu->crs); in cxl_sysfs_afu_add()