Lines Matching refs:elog
36 ssize_t (*show)(struct elog_obj *elog, struct elog_attribute *attr,
38 ssize_t (*store)(struct elog_obj *elog, struct elog_attribute *attr,
99 struct elog_obj *elog; in elog_attr_show() local
102 elog = to_elog_obj(kobj); in elog_attr_show()
107 return attribute->show(elog, attribute, buf); in elog_attr_show()
115 struct elog_obj *elog; in elog_attr_store() local
118 elog = to_elog_obj(kobj); in elog_attr_store()
123 return attribute->store(elog, attribute, buf, len); in elog_attr_store()
133 struct elog_obj *elog; in elog_release() local
135 elog = to_elog_obj(kobj); in elog_release()
136 kfree(elog->buffer); in elog_release()
137 kfree(elog); in elog_release()
162 struct elog_obj *elog = to_elog_obj(kobj); in raw_attr_read() local
165 if (!elog->buffer) { in raw_attr_read()
166 elog->buffer = kzalloc(elog->size, GFP_KERNEL); in raw_attr_read()
167 if (!elog->buffer) in raw_attr_read()
170 opal_rc = opal_read_elog(__pa(elog->buffer), in raw_attr_read()
171 elog->size, elog->id); in raw_attr_read()
174 elog->id); in raw_attr_read()
175 kfree(elog->buffer); in raw_attr_read()
176 elog->buffer = NULL; in raw_attr_read()
181 memcpy(buffer, elog->buffer + pos, count); in raw_attr_read()
188 struct elog_obj *elog; in create_elog_obj() local
191 elog = kzalloc(sizeof(*elog), GFP_KERNEL); in create_elog_obj()
192 if (!elog) in create_elog_obj()
195 elog->kobj.kset = elog_kset; in create_elog_obj()
197 kobject_init(&elog->kobj, &elog_ktype); in create_elog_obj()
199 sysfs_bin_attr_init(&elog->raw_attr); in create_elog_obj()
201 elog->raw_attr.attr.name = "raw"; in create_elog_obj()
202 elog->raw_attr.attr.mode = 0400; in create_elog_obj()
203 elog->raw_attr.size = size; in create_elog_obj()
204 elog->raw_attr.read = raw_attr_read; in create_elog_obj()
206 elog->id = id; in create_elog_obj()
207 elog->size = size; in create_elog_obj()
208 elog->type = type; in create_elog_obj()
210 elog->buffer = kzalloc(elog->size, GFP_KERNEL); in create_elog_obj()
212 if (elog->buffer) { in create_elog_obj()
213 rc = opal_read_elog(__pa(elog->buffer), in create_elog_obj()
214 elog->size, elog->id); in create_elog_obj()
217 elog->id); in create_elog_obj()
218 kfree(elog->buffer); in create_elog_obj()
219 elog->buffer = NULL; in create_elog_obj()
223 rc = kobject_add(&elog->kobj, NULL, "0x%llx", id); in create_elog_obj()
225 kobject_put(&elog->kobj); in create_elog_obj()
229 rc = sysfs_create_bin_file(&elog->kobj, &elog->raw_attr); in create_elog_obj()
231 kobject_put(&elog->kobj); in create_elog_obj()
235 kobject_uevent(&elog->kobj, KOBJ_ADD); in create_elog_obj()
237 return elog; in create_elog_obj()