Lines Matching +full:rc +full:- +full:map +full:- +full:name
1 // SPDX-License-Identifier: GPL-2.0+
6 * through the sysfs file system. The ESRT provides a read-only catalog of
100 return -EACCES; in esre_attr_show()
102 return attr->show(entry, buf); in esre_attr_show()
114 efi_guid_to_str(&entry->esre.esre1->fw_class, str); in fw_class_show()
118 return str - buf; in fw_class_show()
123 #define esre_attr_decl(name, size, fmt) \ argument
124 static ssize_t name##_show(struct esre_entry *entry, char *buf) \
127 le##size##_to_cpu(entry->esre.esre1->name)); \
130 static struct esre_attribute esre_##name = __ATTR_RO_MODE(name, 0400)
155 list_del(&entry->list); in esre_release()
175 return -ENOMEM; in esre_create_sysfs_entry()
177 entry->kobj.kset = esrt_kset; in esre_create_sysfs_entry()
179 if (esrt->fw_resource_version == 1) { in esre_create_sysfs_entry()
180 int rc = 0; in esre_create_sysfs_entry() local
182 entry->esre.esre1 = esre; in esre_create_sysfs_entry()
183 rc = kobject_init_and_add(&entry->kobj, &esre1_ktype, NULL, in esre_create_sysfs_entry()
185 if (rc) { in esre_create_sysfs_entry()
186 kobject_put(&entry->kobj); in esre_create_sysfs_entry()
187 return rc; in esre_create_sysfs_entry()
191 list_add_tail(&entry->list, &entry_list); in esre_create_sysfs_entry()
196 #define esrt_attr_decl(name, size, fmt) \ argument
197 static ssize_t name##_show(struct kobject *kobj, \
200 return sprintf(buf, fmt "\n", le##size##_to_cpu(esrt->name)); \
203 static struct kobj_attribute esrt_##name = __ATTR_RO_MODE(name, 0400)
230 return attr->mode; in esrt_attr_is_visible()
247 int rc; in efi_esrt_init() local
253 pr_debug("esrt-init: loading.\n"); in efi_esrt_init()
257 rc = efi_mem_desc_lookup(efi.esrt, &md); in efi_esrt_init()
258 if (rc < 0 || in efi_esrt_init()
262 pr_warn("ESRT header is not in the memory map.\n"); in efi_esrt_init()
274 max -= efi.esrt; in efi_esrt_init()
277 pr_err("ESRT header doesn't fit on single memory map entry. (size: %zu max: %zu)\n", in efi_esrt_init()
299 if (tmpesrt.fw_resource_count > 0 && max - size < entry_size) { in efi_esrt_init()
300 pr_err("ESRT memory map entry can only hold the header. (max: %zu size: %zu)\n", in efi_esrt_init()
301 max - size, entry_size); in efi_esrt_init()
324 pr_err("ESRT does not fit on single memory map entry (size: %zu max: %zu)\n", in efi_esrt_init()
339 pr_debug("esrt-init: loaded.\n"); in efi_esrt_init()
344 struct efi_system_resource_entry_v1 *v1_entries = (void *)esrt->entries; in register_entries()
345 int i, rc; in register_entries() local
350 for (i = 0; i < le32_to_cpu(esrt->fw_resource_count); i++) { in register_entries()
352 if (esrt->fw_resource_version == 1) { in register_entries()
356 esrt->fw_resource_version); in register_entries()
357 return -EINVAL; in register_entries()
360 rc = esre_create_sysfs_entry(esre, i); in register_entries()
361 if (rc < 0) { in register_entries()
363 rc); in register_entries()
364 return rc; in register_entries()
375 kobject_put(&entry->kobj); in cleanup_entry_list()
383 pr_debug("esrt-sysfs: loading.\n"); in esrt_sysfs_init()
385 return -ENOSYS; in esrt_sysfs_init()
391 return -ENOMEM; in esrt_sysfs_init()
397 error = -ENOMEM; in esrt_sysfs_init()
411 error = -ENOMEM; in esrt_sysfs_init()
419 pr_debug("esrt-sysfs: loaded.\n"); in esrt_sysfs_init()