Skip to content

Problem compiling agains 6.8.0 kernel

Hi Wojtek,

when compiling on my Ubuntu 22.04 with 6.8.0-49 kernel, I have following issue (error and some warnings):

make: Entering directory '/usr/src/linux-headers-6.8.0-49-generic'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  You are using:           gcc-13 (Ubuntu 13.2.0-23ubuntu4) 13.2.0
  CC [M]  /home/cbm/projects/wzdaq_drv/src/wzdaq_drv.o
/home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c:134:13: warning: no previous prototype for ‘daq1_irq’ [-Wmissing-prototypes]
  134 | irqreturn_t daq1_irq(int irq, void * dev_id)
      |             ^~~~~~~~
/home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c:164:10: warning: no previous prototype for ‘daq1_poll’ [-Wmissing-prototypes]
  164 | __poll_t daq1_poll(struct file *filp,poll_table *wait)
      |          ^~~~~~~~~
/home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c:311:6: warning: no previous prototype for ‘daq1_remove’ [-Wmissing-prototypes]
  311 | void daq1_remove(struct pci_dev *pdev )
      |      ^~~~~~~~~~~
/home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c:427:5: warning: no previous prototype for ‘sgl_map’ [-Wmissing-prototypes]
  427 | int sgl_map(struct daq1_device * ddev, const char __user *buf, size_t count)
      |     ^~~~~~~
In file included from /home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c:37:
/home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c: In function ‘daq1_ioctl’:
/home/cbm/projects/wzdaq_drv/src/wzab_daq1.h:87:27: error: ‘XDMA1_CONTROL_DEPTH_BUFS’ undeclared (first use in this function); did you mean ‘XDMA1_CONTROL_DEPTH_BUFS_V’?
   87 | #define DAQ1_MAX_NOF_BUFS XDMA1_CONTROL_DEPTH_BUFS
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c:728:20: note: in expansion of macro ‘DAQ1_MAX_NOF_BUFS’
  728 |         if(nofhp > DAQ1_MAX_NOF_BUFS)
      |                    ^~~~~~~~~~~~~~~~~
/home/cbm/projects/wzdaq_drv/src/wzab_daq1.h:87:27: note: each undeclared identifier is reported only once for each function it appears in
   87 | #define DAQ1_MAX_NOF_BUFS XDMA1_CONTROL_DEPTH_BUFS
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~
/home/cbm/projects/wzdaq_drv/src/wzdaq_drv.c:728:20: note: in expansion of macro ‘DAQ1_MAX_NOF_BUFS’
  728 |         if(nofhp > DAQ1_MAX_NOF_BUFS)
      |                    ^~~~~~~~~~~~~~~~~
make[2]: *** [scripts/Makefile.build:243: /home/cbm/projects/wzdaq_drv/src/wzdaq_drv.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.8.0-49-generic/Makefile:1925: /home/cbm/projects/wzdaq_drv/src] Error 2
make: *** [Makefile:240: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.8.0-49-generic'