Lines Matching refs:cr

508 	int cr;
519 struct afu_config_record *cr = to_cr(kobj);
521 return scnprintf(buf, PAGE_SIZE, "0x%.4x\n", cr->vendor);
527 struct afu_config_record *cr = to_cr(kobj);
529 return scnprintf(buf, PAGE_SIZE, "0x%.4x\n", cr->device);
535 struct afu_config_record *cr = to_cr(kobj);
537 return scnprintf(buf, PAGE_SIZE, "0x%.6x\n", cr->class);
544 struct afu_config_record *cr = to_cr(kobj);
550 rc = cxl_ops->afu_cr_read64(afu, cr->cr, off & ~0x7, &val);
577 struct afu_config_record *cr = to_cr(kobj);
579 kfree(cr);
590 struct afu_config_record *cr;
593 cr = kzalloc(sizeof(struct afu_config_record), GFP_KERNEL);
594 if (!cr)
597 cr->cr = cr_idx;
599 rc = cxl_ops->afu_cr_read16(afu, cr_idx, PCI_DEVICE_ID, &cr->device);
602 rc = cxl_ops->afu_cr_read16(afu, cr_idx, PCI_VENDOR_ID, &cr->vendor);
605 rc = cxl_ops->afu_cr_read32(afu, cr_idx, PCI_CLASS_REVISION, &cr->class);
608 cr->class >>= 8;
619 sysfs_bin_attr_init(&cr->config_attr);
620 cr->config_attr.attr.name = "config";
621 cr->config_attr.attr.mode = S_IRUSR;
622 cr->config_attr.size = afu->crs_len;
623 cr->config_attr.read = afu_read_config;
625 rc = kobject_init_and_add(&cr->kobj, &afu_config_record_type,
626 &afu->dev.kobj, "cr%i", cr->cr);
630 rc = sysfs_create_bin_file(&cr->kobj, &cr->config_attr);
634 rc = kobject_uevent(&cr->kobj, KOBJ_ADD);
638 return cr;
640 sysfs_remove_bin_file(&cr->kobj, &cr->config_attr);
642 kobject_put(&cr->kobj);
645 kfree(cr);
652 struct afu_config_record *cr, *tmp;
666 list_for_each_entry_safe(cr, tmp, &afu->crs, list) {
667 sysfs_remove_bin_file(&cr->kobj, &cr->config_attr);
668 kobject_put(&cr->kobj);
675 struct afu_config_record *cr;
708 cr = cxl_sysfs_afu_new_cr(afu, i);
709 if (IS_ERR(cr)) {
710 rc = PTR_ERR(cr);
713 list_add(&cr->list, &afu->crs);