diff options
author | Yoshiki Ito <ito.yoshiki001@jp.panasonic.com> | 2022-02-10 09:14:58 +0900 |
---|---|---|
committer | Yoshiki Ito <ito.yoshiki001@jp.panasonic.com> | 2022-02-10 14:21:01 +0900 |
commit | 4bdea8fcad6ffd4bcb1bba404ebf30c344ab7dfe (patch) | |
tree | 96ca02f2e2791e4036be04dd0ccb59738962251c | |
parent | 297bbddfa977d85317644d4626eeebdbc266f97a (diff) |
Add support for evklib to use struct proc_opsmarlin_12.93.0marlin/12.93.012.93.0
Kernel 5.6 and later replaced struct file_operations with struct proc_ops.
Enabling agl-refhw-h3 feature or virtio-aarch64 machine configuration
will cause build errors. This patch enables kernel-module-evklib to use
struct proc_ops at 5.6 and later to avoid the errors.
Bug-AGL: SPEC-4254
Signed-off-by: Yoshiki Ito <ito.yoshiki001@jp.panasonic.com>
Change-Id: Ie78913fc16d245403b7e283b8bdea94c7ea7d666
-rwxr-xr-x | module/kernel-module-evklib/evk_lib.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/module/kernel-module-evklib/evk_lib.c b/module/kernel-module-evklib/evk_lib.c index e6dd238..504b2e1 100755 --- a/module/kernel-module-evklib/evk_lib.c +++ b/module/kernel-module-evklib/evk_lib.c @@ -53,6 +53,10 @@ typedef __s32 INT32; typedef __s64 INT64; #endif /* !STANDARD_INT_DEFINITIONS */ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) +#define HAVE_PROC_OPS +#endif + #define ENABLE_PROC_FS 1 #define EVK_NAME "evk" @@ -1839,6 +1843,14 @@ evk_procFS_queue_open(struct inode *inode, struct file *file) return single_open(file, evk_procFS_queue_show, NULL); } +#ifdef HAVE_PROC_OPS +static struct proc_ops evk_proc_flag_fops = { + .proc_open = evk_procFS_flag_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = single_release, +}; +#else static struct file_operations evk_proc_flag_fops = { .owner = THIS_MODULE, .open = evk_procFS_flag_open, @@ -1846,7 +1858,16 @@ static struct file_operations evk_proc_flag_fops = { .llseek = seq_lseek, .release = single_release, }; - +#endif /* HAVE_PROC_OPS */ + +#ifdef HAVE_PROC_OPS +static struct proc_ops evk_proc_flag64_fops = { + .proc_open = evk_procFS_flag64_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = single_release, +}; +#else static struct file_operations evk_proc_flag64_fops = { .owner = THIS_MODULE, .open = evk_procFS_flag64_open, @@ -1854,7 +1875,16 @@ static struct file_operations evk_proc_flag64_fops = { .llseek = seq_lseek, .release = single_release, }; - +#endif /* HAVE_PROC_OPS */ + +#ifdef HAVE_PROC_OPS +static struct proc_ops evk_proc_queue_fops = { + .proc_open = evk_procFS_queue_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = single_release, +}; +#else static struct file_operations evk_proc_queue_fops = { .owner = THIS_MODULE, .open = evk_procFS_queue_open, @@ -1862,6 +1892,7 @@ static struct file_operations evk_proc_queue_fops = { .llseek = seq_lseek, .release = single_release, }; +#endif /* HAVE_PROC_OPS */ #endif /*ENABLE_PROC_FS*/ __init int |