Lines Matching refs:entry
52 ssize_t (*show)(struct dmi_sysfs_entry *entry, char *buf);
67 ssize_t (*show)(struct dmi_sysfs_entry *entry,
99 struct dmi_sysfs_entry *entry = to_entry(kobj); in dmi_sysfs_attr_show() local
106 return attr->show(entry, buf); in dmi_sysfs_attr_show()
117 struct dmi_sysfs_entry *entry; member
128 struct dmi_sysfs_entry *entry = data->entry; in find_dmi_entry_helper() local
131 if (dh->type != entry->dh.type) in find_dmi_entry_helper()
147 data->ret = data->callback(entry, dh, data->private); in find_dmi_entry_helper()
157 static ssize_t find_dmi_entry(struct dmi_sysfs_entry *entry, in find_dmi_entry() argument
161 .entry = entry, in find_dmi_entry()
164 .instance_countdown = entry->instance, in find_dmi_entry()
201 static ssize_t dmi_entry_attr_show_helper(struct dmi_sysfs_entry *entry, in dmi_entry_attr_show_helper() argument
210 return attr->show(entry, dh, data->buf); in dmi_entry_attr_show_helper()
267 static ssize_t dmi_sysfs_sel_##_field(struct dmi_sysfs_entry *entry, \
359 static ssize_t dmi_sel_raw_read_io(struct dmi_sysfs_entry *entry, in dmi_sel_raw_read_io() argument
376 static ssize_t dmi_sel_raw_read_phys32(struct dmi_sysfs_entry *entry, in dmi_sel_raw_read_phys32() argument
397 static ssize_t dmi_sel_raw_read_helper(struct dmi_sysfs_entry *entry, in dmi_sel_raw_read_helper() argument
413 return dmi_sel_raw_read_io(entry, &sel, state->buf, in dmi_sel_raw_read_helper()
416 return dmi_sel_raw_read_phys32(entry, &sel, state->buf, in dmi_sel_raw_read_helper()
432 struct dmi_sysfs_entry *entry = to_entry(kobj->parent); in dmi_sel_raw_read() local
439 return find_dmi_entry(entry, dmi_sel_raw_read_helper, &state); in dmi_sel_raw_read()
447 static int dmi_system_event_log(struct dmi_sysfs_entry *entry) in dmi_system_event_log() argument
451 entry->child = kzalloc(sizeof(*entry->child), GFP_KERNEL); in dmi_system_event_log()
452 if (!entry->child) in dmi_system_event_log()
454 ret = kobject_init_and_add(entry->child, in dmi_system_event_log()
456 &entry->kobj, in dmi_system_event_log()
461 ret = sysfs_create_bin_file(entry->child, &dmi_sel_raw_attr); in dmi_system_event_log()
468 kobject_del(entry->child); in dmi_system_event_log()
470 kfree(entry->child); in dmi_system_event_log()
478 static ssize_t dmi_sysfs_entry_length(struct dmi_sysfs_entry *entry, char *buf) in dmi_sysfs_entry_length() argument
480 return sprintf(buf, "%d\n", entry->dh.length); in dmi_sysfs_entry_length()
483 static ssize_t dmi_sysfs_entry_handle(struct dmi_sysfs_entry *entry, char *buf) in dmi_sysfs_entry_handle() argument
485 return sprintf(buf, "%d\n", entry->dh.handle); in dmi_sysfs_entry_handle()
488 static ssize_t dmi_sysfs_entry_type(struct dmi_sysfs_entry *entry, char *buf) in dmi_sysfs_entry_type() argument
490 return sprintf(buf, "%d\n", entry->dh.type); in dmi_sysfs_entry_type()
493 static ssize_t dmi_sysfs_entry_instance(struct dmi_sysfs_entry *entry, in dmi_sysfs_entry_instance() argument
496 return sprintf(buf, "%d\n", entry->instance); in dmi_sysfs_entry_instance()
499 static ssize_t dmi_sysfs_entry_position(struct dmi_sysfs_entry *entry, in dmi_sysfs_entry_position() argument
502 return sprintf(buf, "%d\n", entry->position); in dmi_sysfs_entry_position()
505 static DMI_SYSFS_ATTR(entry, length);
506 static DMI_SYSFS_ATTR(entry, handle);
507 static DMI_SYSFS_ATTR(entry, type);
508 static DMI_SYSFS_ATTR(entry, instance);
509 static DMI_SYSFS_ATTR(entry, position);
520 static ssize_t dmi_entry_raw_read_helper(struct dmi_sysfs_entry *entry, in dmi_entry_raw_read_helper() argument
538 struct dmi_sysfs_entry *entry = to_entry(kobj); in dmi_entry_raw_read() local
545 return find_dmi_entry(entry, dmi_entry_raw_read_helper, &state); in dmi_entry_raw_read()
555 struct dmi_sysfs_entry *entry = to_entry(kobj); in dmi_sysfs_entry_release() local
558 list_del(&entry->list); in dmi_sysfs_entry_release()
560 kfree(entry); in dmi_sysfs_entry_release()
580 struct dmi_sysfs_entry *entry; in dmi_sysfs_register_handle() local
588 entry = kzalloc(sizeof(*entry), GFP_KERNEL); in dmi_sysfs_register_handle()
589 if (!entry) { in dmi_sysfs_register_handle()
595 memcpy(&entry->dh, dh, sizeof(*dh)); in dmi_sysfs_register_handle()
596 entry->instance = instance_counts[dh->type]++; in dmi_sysfs_register_handle()
597 entry->position = position_count++; in dmi_sysfs_register_handle()
599 entry->kobj.kset = dmi_kset; in dmi_sysfs_register_handle()
600 *ret = kobject_init_and_add(&entry->kobj, &dmi_sysfs_entry_ktype, NULL, in dmi_sysfs_register_handle()
601 "%d-%d", dh->type, entry->instance); in dmi_sysfs_register_handle()
604 kfree(entry); in dmi_sysfs_register_handle()
610 list_add_tail(&entry->list, &entry_list); in dmi_sysfs_register_handle()
616 *ret = dmi_system_event_log(entry); in dmi_sysfs_register_handle()
626 *ret = sysfs_create_bin_file(&entry->kobj, &dmi_entry_raw_attr); in dmi_sysfs_register_handle()
632 kobject_put(entry->child); in dmi_sysfs_register_handle()
633 kobject_put(&entry->kobj); in dmi_sysfs_register_handle()
639 struct dmi_sysfs_entry *entry, *next; in cleanup_entry_list() local
642 list_for_each_entry_safe(entry, next, &entry_list, list) { in cleanup_entry_list()
643 kobject_put(entry->child); in cleanup_entry_list()
644 kobject_put(&entry->kobj); in cleanup_entry_list()