xref: /linux/arch/s390/hypfs/hypfs_diag.h (revision a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0)
1*3325b4d8SHeiko Carstens /* SPDX-License-Identifier: GPL-2.0 */
2*3325b4d8SHeiko Carstens /*
3*3325b4d8SHeiko Carstens  *    Hypervisor filesystem for Linux on s390. Diag 204 and 224
4*3325b4d8SHeiko Carstens  *    implementation.
5*3325b4d8SHeiko Carstens  *
6*3325b4d8SHeiko Carstens  *    Copyright IBM Corp. 2006, 2008
7*3325b4d8SHeiko Carstens  *    Author(s): Michael Holzheu <holzheu@de.ibm.com>
8*3325b4d8SHeiko Carstens  */
9*3325b4d8SHeiko Carstens 
10*3325b4d8SHeiko Carstens #ifndef _S390_HYPFS_DIAG_H_
11*3325b4d8SHeiko Carstens #define _S390_HYPFS_DIAG_H_
12*3325b4d8SHeiko Carstens 
13*3325b4d8SHeiko Carstens #include <asm/diag.h>
14*3325b4d8SHeiko Carstens 
15*3325b4d8SHeiko Carstens enum diag204_format diag204_get_info_type(void);
16*3325b4d8SHeiko Carstens void *diag204_get_buffer(enum diag204_format fmt, int *pages);
17*3325b4d8SHeiko Carstens int diag204_store(void *buf, int pages);
18*3325b4d8SHeiko Carstens 
19*3325b4d8SHeiko Carstens int __hypfs_diag_fs_init(void);
20*3325b4d8SHeiko Carstens void __hypfs_diag_fs_exit(void);
21*3325b4d8SHeiko Carstens 
hypfs_diag_fs_init(void)22*3325b4d8SHeiko Carstens static inline int hypfs_diag_fs_init(void)
23*3325b4d8SHeiko Carstens {
24*3325b4d8SHeiko Carstens 	if (IS_ENABLED(CONFIG_S390_HYPFS_FS))
25*3325b4d8SHeiko Carstens 		return __hypfs_diag_fs_init();
26*3325b4d8SHeiko Carstens 	return 0;
27*3325b4d8SHeiko Carstens }
28*3325b4d8SHeiko Carstens 
hypfs_diag_fs_exit(void)29*3325b4d8SHeiko Carstens static inline void hypfs_diag_fs_exit(void)
30*3325b4d8SHeiko Carstens {
31*3325b4d8SHeiko Carstens 	if (IS_ENABLED(CONFIG_S390_HYPFS_FS))
32*3325b4d8SHeiko Carstens 		__hypfs_diag_fs_exit();
33*3325b4d8SHeiko Carstens }
34*3325b4d8SHeiko Carstens 
35*3325b4d8SHeiko Carstens #endif /* _S390_HYPFS_DIAG_H_ */
36