Lines Matching refs:psi

378 	record->psi = psinfo;  in pstore_record_init()
558 ret = record->psi->write(record); in pstore_write_user_compat()
574 int pstore_register(struct pstore_info *psi) in pstore_register() argument
576 if (backend && strcmp(backend, psi->name)) { in pstore_register()
578 backend, psi->name); in pstore_register()
583 if (!psi->flags) { in pstore_register()
585 psi->name); in pstore_register()
590 if (!psi->read || !psi->write) { in pstore_register()
592 psi->name); in pstore_register()
599 psinfo->name, psi->name); in pstore_register()
604 if (!psi->write_user) in pstore_register()
605 psi->write_user = pstore_write_user_compat; in pstore_register()
606 psinfo = psi; in pstore_register()
610 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_register()
615 if (psi->flags & PSTORE_FLAGS_DMESG) { in pstore_register()
619 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_register()
621 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_register()
623 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_register()
633 backend = kstrdup(psi->name, GFP_KERNEL); in pstore_register()
635 pr_info("Registered %s as persistent store backend\n", psi->name); in pstore_register()
642 void pstore_unregister(struct pstore_info *psi) in pstore_unregister() argument
645 if (!psi) in pstore_unregister()
651 if (WARN_ON(psi != psinfo)) { in pstore_unregister()
657 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_unregister()
659 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_unregister()
661 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_unregister()
663 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_unregister()
671 pstore_put_backend_records(psi); in pstore_unregister()
679 pr_info("Unregistered %s as persistent store backend\n", psi->name); in pstore_unregister()
745 void pstore_get_backend_records(struct pstore_info *psi, in pstore_get_backend_records() argument
751 if (!psi || !root) in pstore_get_backend_records()
754 mutex_lock(&psi->read_mutex); in pstore_get_backend_records()
755 if (psi->open && psi->open(psi)) in pstore_get_backend_records()
772 pstore_record_init(record, psi); in pstore_get_backend_records()
774 record->size = psi->read(record); in pstore_get_backend_records()
793 if (psi->close) in pstore_get_backend_records()
794 psi->close(psi); in pstore_get_backend_records()
796 mutex_unlock(&psi->read_mutex); in pstore_get_backend_records()
800 failed, psi->name); in pstore_get_backend_records()
803 psi->name); in pstore_get_backend_records()