Commit 562f72a5 authored by Federico Vaga's avatar Federico Vaga

Merge branch '10-kernel-oops-after-few-minutes-of-loading-fine-delay-svec-module' into 'master'

Resolve "Kernel OOPS after few minutes of loading fine-delay svec module"

Closes #10

See merge request be-cem-edl/fec/hardware-modules/fmc-delay-1ns-8cha!2
parents 6af701eb d77c10ff
......@@ -207,17 +207,17 @@ int fd_calibrate_outputs(struct fd_dev *fd)
/**
* fd_update_calibration
* Called from a timer any few seconds. It updates the Delay line tap
* according to the measured temperature.
*
* As per tovalds/linux, the kernel version below 4.14 support
* fd_update_calibration(unsigned long arg)
* and not the other one. But even though CS7 is 3.10 based, patches might
* have been backported, and it supports the other one.
* according to the measured temperature
*/
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
void fd_update_calibration(unsigned long arg)
{
struct fd_dev *fd = (void *)arg;
#else
void fd_update_calibration(struct timer_list *arg)
{
struct fd_dev *fd = from_timer(fd, arg, temp_timer);
#endif
int ch, fitted, new;
fd_read_temp(fd, 0 /* not verbose */);
......
......@@ -393,7 +393,13 @@ extern void acam_writel(struct fd_dev *fd, int val, int reg);
/* Functions exported by calibrate.c, called within acam.c */
extern int fd_calibrate_outputs(struct fd_dev *fd);
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
extern void fd_update_calibration(unsigned long arg);
#else
extern void fd_update_calibration(struct timer_list *arg);
#endif
extern int fd_calib_period_s;
/* Functions exported by gpio.c */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment