/* SPDX-License-Identifier: GPL-2.0 */ /* * cpufreq-dbg-lite.c - eem debug driver * * Copyright (c) 2020 MediaTek Inc. * Tungchen Shih */ #define PROC_FOPS_RW(name)\ static int name ## _proc_open(struct inode *inode, struct file *file)\ {\ return single_open(file, name ## _proc_show, PDE_DATA(inode));\ } \ static const struct proc_ops name ## _proc_fops = {\ .proc_open = name ## _proc_open,\ .proc_read = seq_read,\ .proc_lseek = seq_lseek,\ .proc_release = single_release,\ .proc_write = name ## _proc_write,\ } #define PROC_FOPS_RO(name)\ static int name##_proc_open(struct inode *inode, struct file *file)\ {\ return single_open(file, name##_proc_show, PDE_DATA(inode));\ } \ static const struct proc_ops name##_proc_fops = {\ .proc_open = name##_proc_open,\ .proc_read = seq_read,\ .proc_lseek = seq_lseek,\ .proc_release = single_release,\ } #define PROC_ENTRY(name) {__stringify(name), &name ## _proc_fops} #define PROC_ENTRY_DATA(name) \ {__stringify(name), &name ## _proc_fops, g_ ## name} extern int mtk_eem_init(struct platform_device *pdev); extern int mtk_devinfo_init(struct platform_device *pdev);