int ocxl_sysfs_register_afu(struct ocxl_file_info *info)
{ int i, rc;
for (i = 0; i < ARRAY_SIZE(afu_attrs); i++) {
rc = device_create_file(&info->dev, &afu_attrs[i]); if (rc) goto err;
}
sysfs_attr_init(&info->attr_global_mmio.attr);
info->attr_global_mmio.attr.name = "global_mmio_area";
info->attr_global_mmio.attr.mode = 0600;
info->attr_global_mmio.size = info->afu->config.global_mmio_size;
info->attr_global_mmio.read = global_mmio_read;
info->attr_global_mmio.mmap = global_mmio_mmap;
rc = device_create_bin_file(&info->dev, &info->attr_global_mmio); if (rc) {
dev_err(&info->dev, "Unable to create global mmio attr for afu: %d\n", rc); goto err;
}
return 0;
err: for (i--; i >= 0; i--)
device_remove_file(&info->dev, &afu_attrs[i]);
return rc;
}
void ocxl_sysfs_unregister_afu(struct ocxl_file_info *info)
{ int i;
/* * device_remove_bin_file is safe to call if the file is not added as * the files are removed by name, and early exit if not found
*/ for (i = 0; i < ARRAY_SIZE(afu_attrs); i++)
device_remove_file(&info->dev, &afu_attrs[i]);
device_remove_bin_file(&info->dev, &info->attr_global_mmio);
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.