Lines Matching refs:psi
378 record->psi = psinfo; in pstore_record_init()
548 ret = record->psi->write(record); in pstore_write_user_compat()
564 int pstore_register(struct pstore_info *psi) in pstore_register() argument
566 if (backend && strcmp(backend, psi->name)) { in pstore_register()
567 pr_warn("ignoring unexpected backend '%s'\n", psi->name); in pstore_register()
572 if (!psi->flags) { in pstore_register()
574 psi->name); in pstore_register()
579 if (!psi->read || !psi->write) { in pstore_register()
581 psi->name); in pstore_register()
588 psinfo->name, psi->name); in pstore_register()
593 if (!psi->write_user) in pstore_register()
594 psi->write_user = pstore_write_user_compat; in pstore_register()
595 psinfo = psi; in pstore_register()
599 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_register()
604 if (psi->flags & PSTORE_FLAGS_DMESG) { in pstore_register()
608 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_register()
610 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_register()
612 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_register()
622 backend = kstrdup(psi->name, GFP_KERNEL); in pstore_register()
624 pr_info("Registered %s as persistent store backend\n", psi->name); in pstore_register()
631 void pstore_unregister(struct pstore_info *psi) in pstore_unregister() argument
634 if (!psi) in pstore_unregister()
640 if (WARN_ON(psi != psinfo)) { in pstore_unregister()
646 if (psi->flags & PSTORE_FLAGS_PMSG) in pstore_unregister()
648 if (psi->flags & PSTORE_FLAGS_FTRACE) in pstore_unregister()
650 if (psi->flags & PSTORE_FLAGS_CONSOLE) in pstore_unregister()
652 if (psi->flags & PSTORE_FLAGS_DMESG) in pstore_unregister()
660 pstore_put_backend_records(psi); in pstore_unregister()
732 void pstore_get_backend_records(struct pstore_info *psi, in pstore_get_backend_records() argument
738 if (!psi || !root) in pstore_get_backend_records()
741 mutex_lock(&psi->read_mutex); in pstore_get_backend_records()
742 if (psi->open && psi->open(psi)) in pstore_get_backend_records()
759 pstore_record_init(record, psi); in pstore_get_backend_records()
761 record->size = psi->read(record); in pstore_get_backend_records()
779 if (psi->close) in pstore_get_backend_records()
780 psi->close(psi); in pstore_get_backend_records()
782 mutex_unlock(&psi->read_mutex); in pstore_get_backend_records()
786 failed, psi->name); in pstore_get_backend_records()
789 psi->name); in pstore_get_backend_records()