Hi,
I am trying to build an image using kernel version socfpga-4.14.73-ltsi from altera to put on my SOC and using Buildroot 2018.02.10 but I am getting an error when I include my loadable kernel driver modules as shown below;
Code:
>>> fpga-alg-kernel-module 1.0 Configuring
>>> fpga-alg-kernel-module 1.0 Building
>>> fpga-alg-kernel-module 1.0 Building kernel module(s)
PATH="/home/deva/master_build/buildroot/output/host/bin:/home/deva/master_build/buildroot/output/host/sbin:/home/deva/bin:/home/deva/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" BR_BINARIES_DIR=/home/deva/master_build/buildroot/output/images /usr/bin/make -j5 -C /home/deva/master_build/buildroot/output/build/linux-socfpga-4.20 HOSTCC="/usr/bin/gcc -O2 -I/home/deva/master_build/buildroot/output/host/include -L/home/deva/master_build/buildroot/output/host/lib -Wl,-rpath,/home/deva/master_build/buildroot/output/host/lib" ARCH=arm INSTALL_MOD_PATH=/home/deva/master_build/buildroot/output/target CROSS_COMPILE="/home/deva/master_build/buildroot/output/host/bin/arm-buildroot-linux-uclibcgnueabi-" DEPMOD=/home/deva/master_build/buildroot/output/host/sbin/depmod INSTALL_MOD_STRIP=1 PWD=/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/. M=/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/. modules
CC [M] /home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.o
In file included from ./include/linux/module.h:10:0,
from /home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c:2:
./include/linux/stat.h:11:18: error: expected ‘)’ before ‘(’ token
#define S_IRUGO (S_IRUSR|S_IRGRP|S_IROTH)
^
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c:111:39: note: in expansion of macro ‘S_IRUGO’
static DRIVER_ATTR(fpga_alg_a_kernel, S_IRUGO | S_IWUSR, fpga_alg_a_kernel_show, fpga_alg_a_kernel_store); //everyone has read access
^~~~~~~
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c: In function ‘fpga_alg_a_kernel_init’:
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c:122:55: error: ‘driver_attr_fpga_alg_a_kernel’ undeclared (first use in this function)
ret = driver_create_file(&fpga_alg_a_kernel_driver, &driver_attr_fpga_alg_a_kernel);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c:122:55: note: each undeclared identifier is reported only once for each function it appears in
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c: In function ‘fpga_alg_a_kernel_exit’:
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c:191:49: error: ‘driver_attr_fpga_alg_a_kernel’ undeclared (first use in this function)
driver_remove_file(&fpga_alg_a_kernel_driver, &driver_attr_fpga_alg_a_kernel);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At top level:
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c:102:16: warning: ‘fpga_alg_a_kernel_store’ defined but not used [-Wunused-function]
static ssize_t fpga_alg_a_kernel_store(struct device_driver *drv, const char *buf, size_t count)
^~~~~~~~~~~~~~~~~~~~~~~
/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.c:76:16: warning: ‘fpga_alg_a_kernel_show’ defined but not used [-Wunused-function]
static ssize_t fpga_alg_a_kernel_show(struct device_driver *drv, char *buf)
^~~~~~~~~~~~~~~~~~~~~~
scripts/Makefile.build:297: recipe for target '/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.o' failed
make[3]: *** [/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/./fpga_alg_a_kernel.o] Error 1
Makefile:1563: recipe for target '_module_/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/.' failed
make[2]: *** [_module_/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/.] Error 2
package/pkg-generic.mk:238: recipe for target '/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/.stamp_built' failed
make[1]: *** [/home/deva/master_build/buildroot/output/build/fpga-alg-kernel-module-1.0/.stamp_built] Error 2
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2
My previous images using socfpga-3.10-ltsi and 4.9.78-ltsi were both successful but I am getting this issue with the 4.14.73-ltsi version and that’s why I think that the errors reported by the compiler might not exactly be the source of my problem but more likely that a change from 4.9 to 4.14 is preventing me from using the files as I have right now. I have compared the header files and I could not find any obvious reasons why this is happenning.
I am not sure if it is the right place to ask this but I would appreciate any kind of pointer. Thank you