• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * drivers/auth_ctl/auth_ctrl.h
4  *
5  * Copyright (c) 2022 Huawei Device Co., Ltd.
6  *
7  */
8 
9 #ifndef __AUTH_CTRL_H
10 #define __AUTH_CTRL_H
11 
12 #include <linux/ioctl.h>
13 #include <linux/types.h>
14 #include <linux/spinlock.h>
15 #include <linux/list.h>
16 #include <linux/refcount.h>
17 
18 #include <linux/sched/qos_ctrl.h>
19 
20 struct auth_struct {
21 	struct mutex mutex;
22 	refcount_t usage;
23 	unsigned int status;
24 #ifdef CONFIG_RTG_AUTHORITY
25 	unsigned int rtg_auth_flag;
26 #endif
27 #ifdef CONFIG_QOS_AUTHORITY
28 	unsigned int qos_auth_flag;
29 #endif
30 #ifdef CONFIG_QOS_CTRL
31 	unsigned int num[NR_QOS];
32 	struct list_head tasks[NR_QOS];
33 #endif
34 };
35 
36 /*
37  * for debug fs
38  */
39 struct idr *get_auth_ctrl_idr(void);
40 struct mutex *get_auth_idr_mutex(void);
41 
42 #ifdef CONFIG_AUTH_QOS_DEBUG
43 int __init init_sched_auth_debug_procfs(void);
44 #else
init_sched_auth_debug_procfs(void)45 static inline int init_sched_auth_debug_procfs(void)
46 {
47 	return 0;
48 }
49 #endif
50 
51 #endif /* __AUTH_CTRL_H */
52 
53