#define pr_fmt(fmt) …
#include <linux/capability.h>
#include <linux/device.h>
#include <linux/efi.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/kobject.h>
#include <linux/list.h>
#include <linux/memblock.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <asm/io.h>
#include <asm/early_ioremap.h>
struct efi_system_resource_entry_v1 { … };
struct efi_system_resource_table { … };
static phys_addr_t esrt_data;
static size_t esrt_data_size;
static struct efi_system_resource_table *esrt;
struct esre_entry { … };
static LIST_HEAD(entry_list);
struct esre_attribute { … };
static struct esre_entry *to_entry(struct kobject *kobj)
{ … }
static struct esre_attribute *to_attr(struct attribute *attr)
{ … }
static ssize_t esre_attr_show(struct kobject *kobj,
struct attribute *_attr, char *buf)
{ … }
static const struct sysfs_ops esre_attr_ops = …;
static ssize_t fw_class_show(struct esre_entry *entry, char *buf)
{ … }
static struct esre_attribute esre_fw_class = …;
#define esre_attr_decl(name, size, fmt) …
esre_attr_decl(…);
esre_attr_decl(…);
esre_attr_decl(…);
esre_attr_decl(…);
esre_attr_decl(…);
esre_attr_decl(…);
static struct attribute *esre1_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static void esre_release(struct kobject *kobj)
{ … }
static const struct kobj_type esre1_ktype = …;
static struct kobject *esrt_kobj;
static struct kset *esrt_kset;
static int esre_create_sysfs_entry(void *esre, int entry_num)
{ … }
#define esrt_attr_decl(name, size, fmt) …
esrt_attr_decl(…);
esrt_attr_decl(…);
esrt_attr_decl(…);
static struct attribute *esrt_attrs[] = …;
static inline int esrt_table_exists(void)
{ … }
static umode_t esrt_attr_is_visible(struct kobject *kobj,
struct attribute *attr, int n)
{ … }
static const struct attribute_group esrt_attr_group = …;
void __init efi_esrt_init(void)
{ … }
static int __init register_entries(void)
{ … }
static void cleanup_entry_list(void)
{ … }
static int __init esrt_sysfs_init(void)
{ … }
device_initcall(esrt_sysfs_init);