Lines Matching refs:psi
376 record->psi = psinfo; in pstore_record_init()
546 ret = record->psi->write(record); in pstore_write_user_compat()
562 int pstore_register(struct pstore_info *psi) in pstore_register() argument
564 if (backend && strcmp(backend, psi->name)) { in pstore_register()
565 pr_warn("ignoring unexpected backend '%s'\n", psi->name); in pstore_register()
570 if (!psi->flags) { in pstore_register()
572 psi->name); in pstore_register()
577 if (!psi->read || !psi->write) { in pstore_register()
579 psi->name); in pstore_register()
586 psinfo->name, psi->name); in pstore_register()
591 if (!psi->write_user) in pstore_register()
592 psi->write_user = pstore_write_user_compat; in pstore_register()
593 psinfo = psi; in pstore_register()
597 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_register()
602 if (psi->flags & PSTORE_FLAGS_DMESG) { in pstore_register()
606 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_register()
608 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_register()
610 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_register()
620 backend = kstrdup(psi->name, GFP_KERNEL); in pstore_register()
622 pr_info("Registered %s as persistent store backend\n", psi->name); in pstore_register()
629 void pstore_unregister(struct pstore_info *psi) in pstore_unregister() argument
632 if (!psi) in pstore_unregister()
638 if (WARN_ON(psi != psinfo)) { in pstore_unregister()
644 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_unregister()
646 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_unregister()
648 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_unregister()
650 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_unregister()
658 pstore_put_backend_records(psi); in pstore_unregister()
730 void pstore_get_backend_records(struct pstore_info *psi, in pstore_get_backend_records() argument
736 if (!psi || !root) in pstore_get_backend_records()
739 mutex_lock(&psi->read_mutex); in pstore_get_backend_records()
740 if (psi->open && psi->open(psi)) in pstore_get_backend_records()
757 pstore_record_init(record, psi); in pstore_get_backend_records()
759 record->size = psi->read(record); in pstore_get_backend_records()
778 if (psi->close) in pstore_get_backend_records()
779 psi->close(psi); in pstore_get_backend_records()
781 mutex_unlock(&psi->read_mutex); in pstore_get_backend_records()
785 failed, psi->name); in pstore_get_backend_records()
788 psi->name); in pstore_get_backend_records()