Lines Matching refs:elog

35 	ssize_t (*show)(struct elog_obj *elog, struct elog_attribute *attr,
37 ssize_t (*store)(struct elog_obj *elog, struct elog_attribute *attr,
98 struct elog_obj *elog; in elog_attr_show() local
101 elog = to_elog_obj(kobj); in elog_attr_show()
106 return attribute->show(elog, attribute, buf); in elog_attr_show()
114 struct elog_obj *elog; in elog_attr_store() local
117 elog = to_elog_obj(kobj); in elog_attr_store()
122 return attribute->store(elog, attribute, buf, len); in elog_attr_store()
132 struct elog_obj *elog; in elog_release() local
134 elog = to_elog_obj(kobj); in elog_release()
135 kfree(elog->buffer); in elog_release()
136 kfree(elog); in elog_release()
161 struct elog_obj *elog = to_elog_obj(kobj); in raw_attr_read() local
164 if (!elog->buffer) { in raw_attr_read()
165 elog->buffer = kzalloc(elog->size, GFP_KERNEL); in raw_attr_read()
166 if (!elog->buffer) in raw_attr_read()
169 opal_rc = opal_read_elog(__pa(elog->buffer), in raw_attr_read()
170 elog->size, elog->id); in raw_attr_read()
173 elog->id); in raw_attr_read()
174 kfree(elog->buffer); in raw_attr_read()
175 elog->buffer = NULL; in raw_attr_read()
180 memcpy(buffer, elog->buffer + pos, count); in raw_attr_read()
187 struct elog_obj *elog; in create_elog_obj() local
190 elog = kzalloc(sizeof(*elog), GFP_KERNEL); in create_elog_obj()
191 if (!elog) in create_elog_obj()
194 elog->kobj.kset = elog_kset; in create_elog_obj()
196 kobject_init(&elog->kobj, &elog_ktype); in create_elog_obj()
198 sysfs_bin_attr_init(&elog->raw_attr); in create_elog_obj()
200 elog->raw_attr.attr.name = "raw"; in create_elog_obj()
201 elog->raw_attr.attr.mode = 0400; in create_elog_obj()
202 elog->raw_attr.size = size; in create_elog_obj()
203 elog->raw_attr.read = raw_attr_read; in create_elog_obj()
205 elog->id = id; in create_elog_obj()
206 elog->size = size; in create_elog_obj()
207 elog->type = type; in create_elog_obj()
209 elog->buffer = kzalloc(elog->size, GFP_KERNEL); in create_elog_obj()
211 if (elog->buffer) { in create_elog_obj()
212 rc = opal_read_elog(__pa(elog->buffer), in create_elog_obj()
213 elog->size, elog->id); in create_elog_obj()
216 elog->id); in create_elog_obj()
217 kfree(elog->buffer); in create_elog_obj()
218 elog->buffer = NULL; in create_elog_obj()
222 rc = kobject_add(&elog->kobj, NULL, "0x%llx", id); in create_elog_obj()
224 kobject_put(&elog->kobj); in create_elog_obj()
228 rc = sysfs_create_bin_file(&elog->kobj, &elog->raw_attr); in create_elog_obj()
230 kobject_put(&elog->kobj); in create_elog_obj()
234 kobject_uevent(&elog->kobj, KOBJ_ADD); in create_elog_obj()
236 return elog; in create_elog_obj()