1419b0af8Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 2419b0af8Sopenharmony_ci/* 3419b0af8Sopenharmony_ci * drivers/auth_ctl/auth_ctrl.h 4419b0af8Sopenharmony_ci * 5419b0af8Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 6419b0af8Sopenharmony_ci * 7419b0af8Sopenharmony_ci */ 8419b0af8Sopenharmony_ci 9419b0af8Sopenharmony_ci#ifndef __AUTH_CTRL_H 10419b0af8Sopenharmony_ci#define __AUTH_CTRL_H 11419b0af8Sopenharmony_ci 12419b0af8Sopenharmony_ci#include <linux/ioctl.h> 13419b0af8Sopenharmony_ci#include <linux/types.h> 14419b0af8Sopenharmony_ci#include <linux/spinlock.h> 15419b0af8Sopenharmony_ci#include <linux/list.h> 16419b0af8Sopenharmony_ci#include <linux/refcount.h> 17419b0af8Sopenharmony_ci 18419b0af8Sopenharmony_ci#include <linux/sched/qos_ctrl.h> 19419b0af8Sopenharmony_ci 20419b0af8Sopenharmony_cistruct auth_struct { 21419b0af8Sopenharmony_ci struct mutex mutex; 22419b0af8Sopenharmony_ci refcount_t usage; 23419b0af8Sopenharmony_ci unsigned int status; 24419b0af8Sopenharmony_ci#ifdef CONFIG_RTG_AUTHORITY 25419b0af8Sopenharmony_ci unsigned int rtg_auth_flag; 26419b0af8Sopenharmony_ci#endif 27419b0af8Sopenharmony_ci#ifdef CONFIG_QOS_AUTHORITY 28419b0af8Sopenharmony_ci unsigned int qos_auth_flag; 29419b0af8Sopenharmony_ci#endif 30419b0af8Sopenharmony_ci#ifdef CONFIG_QOS_CTRL 31419b0af8Sopenharmony_ci unsigned int num[NR_QOS]; 32419b0af8Sopenharmony_ci struct list_head tasks[NR_QOS]; 33419b0af8Sopenharmony_ci#endif 34419b0af8Sopenharmony_ci}; 35419b0af8Sopenharmony_ci 36419b0af8Sopenharmony_ci/* 37419b0af8Sopenharmony_ci * for debug fs 38419b0af8Sopenharmony_ci */ 39419b0af8Sopenharmony_cistruct idr *get_auth_ctrl_idr(void); 40419b0af8Sopenharmony_cistruct mutex *get_auth_idr_mutex(void); 41419b0af8Sopenharmony_ci 42419b0af8Sopenharmony_ci#ifdef CONFIG_AUTH_QOS_DEBUG 43419b0af8Sopenharmony_ciint __init init_sched_auth_debug_procfs(void); 44419b0af8Sopenharmony_ci#else 45419b0af8Sopenharmony_cistatic inline int init_sched_auth_debug_procfs(void) 46419b0af8Sopenharmony_ci{ 47419b0af8Sopenharmony_ci return 0; 48419b0af8Sopenharmony_ci} 49419b0af8Sopenharmony_ci#endif 50419b0af8Sopenharmony_ci 51419b0af8Sopenharmony_ci#endif /* __AUTH_CTRL_H */ 52419b0af8Sopenharmony_ci 53