Lines Matching refs:entry
54 ssize_t (*show)(struct dmi_sysfs_entry *entry, char *buf);
69 ssize_t (*show)(struct dmi_sysfs_entry *entry,
101 struct dmi_sysfs_entry *entry = to_entry(kobj); in dmi_sysfs_attr_show() local
108 return attr->show(entry, buf); in dmi_sysfs_attr_show()
119 struct dmi_sysfs_entry *entry; member
130 struct dmi_sysfs_entry *entry = data->entry; in find_dmi_entry_helper() local
133 if (dh->type != entry->dh.type) in find_dmi_entry_helper()
149 data->ret = data->callback(entry, dh, data->private); in find_dmi_entry_helper()
159 static ssize_t find_dmi_entry(struct dmi_sysfs_entry *entry, in find_dmi_entry() argument
163 .entry = entry, in find_dmi_entry()
166 .instance_countdown = entry->instance, in find_dmi_entry()
203 static ssize_t dmi_entry_attr_show_helper(struct dmi_sysfs_entry *entry, in dmi_entry_attr_show_helper() argument
212 return attr->show(entry, dh, data->buf); in dmi_entry_attr_show_helper()
269 static ssize_t dmi_sysfs_sel_##_field(struct dmi_sysfs_entry *entry, \
362 static ssize_t dmi_sel_raw_read_io(struct dmi_sysfs_entry *entry, in dmi_sel_raw_read_io() argument
380 static ssize_t dmi_sel_raw_read_phys32(struct dmi_sysfs_entry *entry, in dmi_sel_raw_read_phys32() argument
401 static ssize_t dmi_sel_raw_read_helper(struct dmi_sysfs_entry *entry, in dmi_sel_raw_read_helper() argument
418 return dmi_sel_raw_read_io(entry, &sel, state->buf, in dmi_sel_raw_read_helper()
422 return dmi_sel_raw_read_phys32(entry, &sel, state->buf, in dmi_sel_raw_read_helper()
438 struct dmi_sysfs_entry *entry = to_entry(kobj->parent); in raw_event_log_read() local
445 return find_dmi_entry(entry, dmi_sel_raw_read_helper, &state); in raw_event_log_read()
450 static int dmi_system_event_log(struct dmi_sysfs_entry *entry) in dmi_system_event_log() argument
454 entry->child = kzalloc(sizeof(*entry->child), GFP_KERNEL); in dmi_system_event_log()
455 if (!entry->child) in dmi_system_event_log()
457 ret = kobject_init_and_add(entry->child, in dmi_system_event_log()
459 &entry->kobj, in dmi_system_event_log()
464 ret = sysfs_create_bin_file(entry->child, &bin_attr_raw_event_log); in dmi_system_event_log()
471 kobject_del(entry->child); in dmi_system_event_log()
473 kfree(entry->child); in dmi_system_event_log()
481 static ssize_t dmi_sysfs_entry_length(struct dmi_sysfs_entry *entry, char *buf) in dmi_sysfs_entry_length() argument
483 return sprintf(buf, "%d\n", entry->dh.length); in dmi_sysfs_entry_length()
486 static ssize_t dmi_sysfs_entry_handle(struct dmi_sysfs_entry *entry, char *buf) in dmi_sysfs_entry_handle() argument
488 return sprintf(buf, "%d\n", entry->dh.handle); in dmi_sysfs_entry_handle()
491 static ssize_t dmi_sysfs_entry_type(struct dmi_sysfs_entry *entry, char *buf) in dmi_sysfs_entry_type() argument
493 return sprintf(buf, "%d\n", entry->dh.type); in dmi_sysfs_entry_type()
496 static ssize_t dmi_sysfs_entry_instance(struct dmi_sysfs_entry *entry, in dmi_sysfs_entry_instance() argument
499 return sprintf(buf, "%d\n", entry->instance); in dmi_sysfs_entry_instance()
502 static ssize_t dmi_sysfs_entry_position(struct dmi_sysfs_entry *entry, in dmi_sysfs_entry_position() argument
505 return sprintf(buf, "%d\n", entry->position); in dmi_sysfs_entry_position()
508 static DMI_SYSFS_ATTR(entry, length);
509 static DMI_SYSFS_ATTR(entry, handle);
510 static DMI_SYSFS_ATTR(entry, type);
511 static DMI_SYSFS_ATTR(entry, instance);
512 static DMI_SYSFS_ATTR(entry, position);
524 static ssize_t dmi_entry_raw_read_helper(struct dmi_sysfs_entry *entry, in dmi_entry_raw_read_helper() argument
542 struct dmi_sysfs_entry *entry = to_entry(kobj); in raw_read() local
549 return find_dmi_entry(entry, dmi_entry_raw_read_helper, &state); in raw_read()
556 struct dmi_sysfs_entry *entry = to_entry(kobj); in dmi_sysfs_entry_release() local
559 list_del(&entry->list); in dmi_sysfs_entry_release()
561 kfree(entry); in dmi_sysfs_entry_release()
581 struct dmi_sysfs_entry *entry; in dmi_sysfs_register_handle() local
589 entry = kzalloc(sizeof(*entry), GFP_KERNEL); in dmi_sysfs_register_handle()
590 if (!entry) { in dmi_sysfs_register_handle()
596 memcpy(&entry->dh, dh, sizeof(*dh)); in dmi_sysfs_register_handle()
597 entry->instance = instance_counts[dh->type]++; in dmi_sysfs_register_handle()
598 entry->position = position_count++; in dmi_sysfs_register_handle()
600 entry->kobj.kset = dmi_kset; in dmi_sysfs_register_handle()
601 *ret = kobject_init_and_add(&entry->kobj, &dmi_sysfs_entry_ktype, NULL, in dmi_sysfs_register_handle()
602 "%d-%d", dh->type, entry->instance); in dmi_sysfs_register_handle()
606 list_add_tail(&entry->list, &entry_list); in dmi_sysfs_register_handle()
610 kobject_put(&entry->kobj); in dmi_sysfs_register_handle()
617 *ret = dmi_system_event_log(entry); in dmi_sysfs_register_handle()
627 *ret = sysfs_create_bin_file(&entry->kobj, &bin_attr_raw); in dmi_sysfs_register_handle()
633 kobject_put(entry->child); in dmi_sysfs_register_handle()
634 kobject_put(&entry->kobj); in dmi_sysfs_register_handle()
640 struct dmi_sysfs_entry *entry, *next; in cleanup_entry_list() local
643 list_for_each_entry_safe(entry, next, &entry_list, list) { in cleanup_entry_list()
644 kobject_put(entry->child); in cleanup_entry_list()
645 kobject_put(&entry->kobj); in cleanup_entry_list()