Lines Matching refs:sd_file
360 struct sclp_sd_file *sd_file = to_sd_file(kobj); in sclp_sd_file_release() local
362 sclp_sd_data_reset(&sd_file->data); in sclp_sd_file_release()
363 kfree(sd_file); in sclp_sd_file_release()
376 static int sclp_sd_file_update(struct sclp_sd_file *sd_file) in sclp_sd_file_update() argument
378 const char *name = kobject_name(&sd_file->kobj); in sclp_sd_file_update()
382 rc = sclp_sd_store_data(&data, sd_file->di); in sclp_sd_file_update()
391 mutex_lock(&sd_file->data_mutex); in sclp_sd_file_update()
392 sclp_sd_data_reset(&sd_file->data); in sclp_sd_file_update()
393 sd_file->data = data; in sclp_sd_file_update()
394 mutex_unlock(&sd_file->data_mutex); in sclp_sd_file_update()
398 kobject_uevent(&sd_file->kobj, KOBJ_CHANGE); in sclp_sd_file_update()
409 struct sclp_sd_file *sd_file = data; in sclp_sd_file_update_async() local
411 sclp_sd_file_update(sd_file); in sclp_sd_file_update_async()
423 struct sclp_sd_file *sd_file = to_sd_file(kobj); in reload_store() local
425 sclp_sd_file_update(sd_file); in reload_store()
458 struct sclp_sd_file *sd_file = to_sd_file(kobj); in data_read() local
462 mutex_lock(&sd_file->data_mutex); in data_read()
464 data = sd_file->data.data; in data_read()
465 data_size = sd_file->data.dsize_bytes; in data_read()
474 mutex_unlock(&sd_file->data_mutex); in data_read()
497 struct sclp_sd_file *sd_file; in sclp_sd_file_create() local
500 sd_file = kzalloc(sizeof(*sd_file), GFP_KERNEL); in sclp_sd_file_create()
501 if (!sd_file) in sclp_sd_file_create()
503 sd_file->di = di; in sclp_sd_file_create()
504 mutex_init(&sd_file->data_mutex); in sclp_sd_file_create()
507 sd_file->kobj.kset = sclp_sd_kset; in sclp_sd_file_create()
508 rc = kobject_init_and_add(&sd_file->kobj, &sclp_sd_file_ktype, NULL, in sclp_sd_file_create()
511 kobject_put(&sd_file->kobj); in sclp_sd_file_create()
515 sysfs_bin_attr_init(&sd_file->data_attr); in sclp_sd_file_create()
516 sd_file->data_attr.attr.name = "data"; in sclp_sd_file_create()
517 sd_file->data_attr.attr.mode = 0444; in sclp_sd_file_create()
518 sd_file->data_attr.read = data_read; in sclp_sd_file_create()
520 rc = sysfs_create_bin_file(&sd_file->kobj, &sd_file->data_attr); in sclp_sd_file_create()
522 kobject_put(&sd_file->kobj); in sclp_sd_file_create()
530 kobject_uevent(&sd_file->kobj, KOBJ_ADD); in sclp_sd_file_create()
533 async_schedule(sclp_sd_file_update_async, sd_file); in sclp_sd_file_create()
535 return sd_file; in sclp_sd_file_create()