Lines Matching refs:psi
267 record->psi = psinfo; in pstore_record_init()
449 ret = record->psi->write(record); in pstore_write_user_compat()
465 int pstore_register(struct pstore_info *psi) in pstore_register() argument
467 if (backend && strcmp(backend, psi->name)) { in pstore_register()
469 backend, psi->name); in pstore_register()
474 if (!psi->flags) { in pstore_register()
476 psi->name); in pstore_register()
481 if (!psi->read || !psi->write) { in pstore_register()
483 psi->name); in pstore_register()
490 psinfo->name, psi->name); in pstore_register()
495 if (!psi->write_user) in pstore_register()
496 psi->write_user = pstore_write_user_compat; in pstore_register()
497 psinfo = psi; in pstore_register()
501 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_register()
506 if (psi->flags & PSTORE_FLAGS_DMESG) { in pstore_register()
510 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_register()
512 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_register()
514 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_register()
524 backend = kstrdup(psi->name, GFP_KERNEL); in pstore_register()
526 pr_info("Registered %s as persistent store backend\n", psi->name); in pstore_register()
533 void pstore_unregister(struct pstore_info *psi) in pstore_unregister() argument
536 if (!psi) in pstore_unregister()
542 if (WARN_ON(psi != psinfo)) { in pstore_unregister()
548 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_unregister()
550 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_unregister()
552 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_unregister()
554 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_unregister()
562 pstore_put_backend_records(psi); in pstore_unregister()
570 pr_info("Unregistered %s as persistent store backend\n", psi->name); in pstore_unregister()
649 void pstore_get_backend_records(struct pstore_info *psi, in pstore_get_backend_records() argument
656 if (!psi || !root) in pstore_get_backend_records()
665 mutex_lock(&psi->read_mutex); in pstore_get_backend_records()
666 if (psi->open && psi->open(psi)) in pstore_get_backend_records()
683 pstore_record_init(record, psi); in pstore_get_backend_records()
685 record->size = psi->read(record); in pstore_get_backend_records()
704 if (psi->close) in pstore_get_backend_records()
705 psi->close(psi); in pstore_get_backend_records()
707 mutex_unlock(&psi->read_mutex); in pstore_get_backend_records()
717 failed, psi->name); in pstore_get_backend_records()
720 psi->name); in pstore_get_backend_records()