View Issue Details

IDProjectCategoryView StatusLast Update
0001290channel: elrepo/el9kmod-a3818public2023-08-24 19:49
Reporterjcpunk Assigned Totoracat  
PrioritylowSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Summary0001290: [RFE] kmod-a3818 for elrepo-9
DescriptionCan version 1.6.8 of a3818 be built for ELRepo 9
Additional InformationDriver source attached.
TagsNo tags attached.
Attached Files
A3818Drv-1.6.8.tar.gz (17,734 bytes)

Relationships

related to 0001182 resolvedtoracat channel: elrepo/el8 a3818 driver for EL8 
related to 0001183 resolvedtoracat channel: elrepo/el7 Please update the CAEN 2818 kmod to the current driver 

Activities

toracat

2022-11-29 15:03

administrator   ~0008786

Last edited: 2022-11-29 21:13

Will do.

[Note added]
System Requirements

 - CAEN A3818 PCI CARD
 - Linux kernel Rel 2.6/3.x/4.x/5.4/5.11 with gnu C/C++ compiler
 - Tested on Linux kernel 4.18, 5.4 and 5.11

(kernel 5.14 is not included.)

toracat

2022-11-29 20:47

administrator   ~0008788

The following packages have been released to the main repository and are currently syncing to our mirror sites:

src:
 kmod-a3818-1.6.8-1.el9_1.elrepo.src.rpm

x86_64:
 kmod-a3818-1.6.8-1.el9_1.elrepo.x86_64.rpm

toracat

2022-11-29 21:08

administrator   ~0008789

* Build memo *

(1) Error 1
 ...A3818Drv-1.6.8/src/a3818.c:56:10: fatal error: a3818.h: No such file or directory
   56 | #include "a3818.h"
      | ^~~~~~~~~
* The patch used for el8 build worked with no mod.

(2) Error 2

In file included from ./include/linux/module.h:22,
                 from .../A3818Drv-1.6.8/src/a3818.c:37:
./include/linux/module.h:183:43: error: expected ',' or ';' before 'KBUILD_MODFILE'
  183 | #define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE);
      | ^~~~~~~~~~~~~~
./include/linux/moduleparam.h:26:61: note: in definition of macro '__MODULE_INFO'
   26 | = __MODULE_INFO_PREFIX __stringify(tag) "=" info
      | ^~~~
./include/linux/module.h:183:25: note: in expansion of macro 'MODULE_INFO'
  183 | #define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE);
      | ^~~~~~~~~~~
./include/linux/module.h:230:34: note: in expansion of macro 'MODULE_FILE'
  230 | #define MODULE_LICENSE(_license) MODULE_FILE MODULE_INFO(license, _license)
      | ^~~~~~~~~~~
 /A3818Drv-1.6.8/src/a3818.c:1659:1: note: in expansion of macro 'MODULE_LICENSE'
 1659 | MODULE_LICENSE("GPL");
      | ^~~~~~~~~~~~~~

=> Fix:

In kernel-5.14.0 (el9), include/linux/module.h has the following code:
==========================
/*
 * MODULE_FILE is used for generating modules.builtin
 * So, make it no-op when this is being built as a module
 */
#ifdef MODULE
#define MODULE_FILE
#else
#define MODULE_FILE MODULE_INFO(file, KBUILD_MODFILE);
#endif
==========================

Therefore a fix is to define MODULE in the source code.

In src/a3818.c, add:

#define MODULE

(elrepo-A3818-el9.patch)

jcpunk

2022-11-30 09:24

reporter   ~0008790

This module appears to work on my test system.

Thanks so much!

toracat

2022-11-30 13:00

administrator   ~0008791

Thanks for the feedback. I forgot to mention but this is not backward compatible.

Now closing as 'resolved'.

Issue History

Date Modified Username Field Change
2022-11-29 14:57 jcpunk New Issue
2022-11-29 14:57 jcpunk Status new => assigned
2022-11-29 14:57 jcpunk Assigned To => toracat
2022-11-29 14:57 jcpunk File Added: A3818Drv-1.6.8.tar.gz
2022-11-29 15:03 toracat Status assigned => acknowledged
2022-11-29 15:03 toracat Note Added: 0008786
2022-11-29 15:10 toracat Relationship added related to 0001182
2022-11-29 20:47 toracat Note Added: 0008788
2022-11-29 20:47 toracat Status acknowledged => feedback
2022-11-29 21:08 toracat Note Added: 0008789
2022-11-29 21:13 toracat Note Edited: 0008786
2022-11-30 09:24 jcpunk Note Added: 0008790
2022-11-30 09:24 jcpunk Status feedback => assigned
2022-11-30 13:00 toracat Status assigned => resolved
2022-11-30 13:00 toracat Resolution open => fixed
2022-11-30 13:00 toracat Note Added: 0008791
2023-08-24 19:49 toracat Relationship added related to 0001183