Merge tag 'for-linus-5.18-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-block.git] / fs / pstore / internal.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
060287b8
AV
2#ifndef __PSTORE_INTERNAL_H__
3#define __PSTORE_INTERNAL_H__
4
67a101f5
AV
5#include <linux/types.h>
6#include <linux/time.h>
060287b8
AV
7#include <linux/pstore.h>
8
349d7438
DH
9extern unsigned long kmsg_bytes;
10
65f8c95e
AV
11#ifdef CONFIG_PSTORE_FTRACE
12extern void pstore_register_ftrace(void);
ee1d2674 13extern void pstore_unregister_ftrace(void);
16a58307
KC
14ssize_t pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size,
15 const char *src_log, size_t src_log_size);
65f8c95e
AV
16#else
17static inline void pstore_register_ftrace(void) {}
ee1d2674 18static inline void pstore_unregister_ftrace(void) {}
16a58307
KC
19static inline ssize_t
20pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size,
21 const char *src_log, size_t src_log_size)
22{
23 *dest_log_size = 0;
24 return 0;
25}
65f8c95e
AV
26#endif
27
9d5438f4
MS
28#ifdef CONFIG_PSTORE_PMSG
29extern void pstore_register_pmsg(void);
ee1d2674 30extern void pstore_unregister_pmsg(void);
9d5438f4
MS
31#else
32static inline void pstore_register_pmsg(void) {}
ee1d2674 33static inline void pstore_unregister_pmsg(void) {}
9d5438f4
MS
34#endif
35
060287b8
AV
36extern struct pstore_info *psinfo;
37
366f7e7a 38extern void pstore_set_kmsg_bytes(int);
6dda9266 39extern void pstore_get_records(int);
3a7d2fd1
KC
40extern void pstore_get_backend_records(struct pstore_info *psi,
41 struct dentry *root, int quiet);
609e28bb 42extern int pstore_put_backend_records(struct pstore_info *psi);
3a7d2fd1
KC
43extern int pstore_mkfile(struct dentry *root,
44 struct pstore_record *record);
e581ca81
KC
45extern void pstore_record_init(struct pstore_record *record,
46 struct pstore_info *psi);
060287b8 47
cb095afd
KC
48/* Called during pstore init/exit. */
49int __init pstore_init_fs(void);
50void __exit pstore_exit_fs(void);
fe1d4758 51
060287b8 52#endif