| /* |
| * Copyright (C) 2018 MediaTek Inc. |
| * |
| * This program is free software: you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #ifndef MET_KERNEL_SYMBOL |
| #define MET_KERNEL_SYMBOL |
| |
| /*lookup symbol*/ |
| #include <asm/cpu.h> |
| #include <linux/kallsyms.h> |
| #include <linux/perf_event.h> |
| #include <linux/kthread.h> |
| |
| #if defined(CONFIG_MET_ARM_32BIT) |
| extern void met_get_cpuinfo(int cpu, struct cpuinfo_arm **cpuinfo); |
| extern void (*met_get_cpuinfo_symbol)(int cpu, struct cpuinfo_arm **cpuinfo); |
| #else |
| extern void met_get_cpuinfo(int cpu, struct cpuinfo_arm64 **cpuinfo); |
| extern void (*met_get_cpuinfo_symbol)(int cpu, struct cpuinfo_arm64 **cpuinfo); |
| #endif |
| |
| extern void (*tracing_record_cmdline_symbol)(struct task_struct *tsk); |
| extern void met_cpu_frequency(unsigned int frequency, unsigned int cpu_id); |
| extern void (*met_cpu_frequency_symbol)(unsigned int frequency, unsigned int cpu_id); |
| extern void (*met_arch_setup_dma_ops_symbol)(struct device *dev); |
| extern int (*met_perf_event_read_local_symbol)(struct perf_event *ev, u64 *value); |
| extern struct task_struct *(*met_kthread_create_on_cpu_symbol)(int (*threadfn)(void *data), |
| void *data, unsigned int cpu, |
| const char *namefmt); |
| extern int (*met_smp_call_function_single_symbol)(int cpu, smp_call_func_t func, void *info, int wait); |
| |
| extern void met_tracing_record_cmdline(struct task_struct *tsk); |
| extern int met_reg_switch(void); |
| extern int (*met_reg_switch_symbol)(void); |
| extern void met_unreg_switch(void); |
| extern void (*met_unreg_switch_symbol)(void); |
| #ifdef MET_EVENT_POWER_SUPPORT |
| extern int met_reg_event_power(void); |
| extern int (*met_reg_event_power_symbol)(void); |
| extern void met_unreg_event_power(void); |
| extern void (*met_unreg_event_power_symbol)(void); |
| #endif |
| extern void met_arch_setup_dma_ops(struct device *dev); |
| extern int met_perf_event_read_local(struct perf_event *ev, u64 *value); |
| extern struct task_struct *met_kthread_create_on_cpu(int (*threadfn)(void *data), |
| void *data, unsigned int cpu, |
| const char *namefmt); |
| extern int met_smp_call_function_single(int cpu, smp_call_func_t func, void *info, int wait); |
| extern void met_arch_send_call_function_single_ipi(int cpu); |
| #endif /* MET_KERNEL_SYMBOL */ |