From: Miroslav Ondra Date: Sat, 6 Feb 2021 12:52:34 +0000 (+0100) Subject: Fix setting priority of interrupt task for 5.9+ kernel X-Git-Url: http://git.graph-it.com/?a=commitdiff_plain;h=e3335ddfc70ec055e677376f02f2f9b129885bf2;p=graphit%2Funipi-kernel.git Fix setting priority of interrupt task for 5.9+ kernel --- diff --git a/Makefile b/Makefile index 7542628..14f2d9d 100644 --- a/Makefile +++ b/Makefile @@ -11,23 +11,23 @@ default: all ; all: for m in ${MODULES_LIST}; do\ - cd ${MODULES_DIR_PATH}$$m; make all || exit 1;\ + cd ${MODULES_DIR_PATH}$$m; $(MAKE) all || exit 1;\ done modules_install: install ; install: for m in ${MODULES_LIST}; do\ - cd ${MODULES_DIR_PATH}$$m; make modules_install INSTALL_MOD_PATH=${DESTDIR} || exit 1;\ + cd ${MODULES_DIR_PATH}$$m; $(MAKE) modules_install INSTALL_MOD_PATH=${DESTDIR} || exit 1;\ done dkms: for m in ${MODULES_LIST}; do\ - cd ${MODULES_DIR_PATH}$$m; make dkms INSTALL_MOD_PATH=${DESTDIR}/$$m || exit 1;\ + cd ${MODULES_DIR_PATH}$$m; $(MAKE) dkms INSTALL_MOD_PATH=${DESTDIR}/$$m || exit 1;\ done clean: for m in ${MODULES_LIST}; do\ - cd ${MODULES_DIR_PATH}$$m; make clean;\ + cd ${MODULES_DIR_PATH}$$m; $(MAKE) clean;\ done diff --git a/modules/rtc-unipi/Makefile b/modules/rtc-unipi/Makefile index 2fd9e22..350a952 100644 --- a/modules/rtc-unipi/Makefile +++ b/modules/rtc-unipi/Makefile @@ -25,10 +25,10 @@ obj-m += ${KERNEL_MODULE_NAME}.o default: all ; all: - make $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules + $(MAKE) $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules modules_install: - make $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules_install + $(MAKE) $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules_install dkms: $(INSTALL) -D $(C_SRC_FILES) $(MODULE_MAKE_FILE) -t $(INSTALL_MOD_PATH) diff --git a/modules/unipi/Makefile b/modules/unipi/Makefile index 48abdb9..68b8e0e 100644 --- a/modules/unipi/Makefile +++ b/modules/unipi/Makefile @@ -51,10 +51,10 @@ unipi-objs := ${OBJ_FILES} default: all ; all: - make $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules + $(MAKE) $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules modules_install: - make $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules_install + $(MAKE) $(CCPAR) -C $(LINUX_DIR_PATH) M=${PWD} modules_install dkms: $(INSTALL) -D $(MODULE_MAKE_FILE) -t $(INSTALL_MOD_PATH) diff --git a/modules/unipi/src/unipi_spi.c b/modules/unipi/src/unipi_spi.c index dc5a15c..959e431 100644 --- a/modules/unipi/src/unipi_spi.c +++ b/modules/unipi/src/unipi_spi.c @@ -19,6 +19,7 @@ ************/ #include #include +#include #include "unipi_common.h" #include "unipi_sysfs.h" @@ -31,6 +32,7 @@ #include "unipi_uart.h" #include "unipi_tty.h" + /* using trace_printk or printk ???*/ #if NEURONSPI_DETAILED_DEBUG > 1 @@ -1218,7 +1220,7 @@ s32 neuronspi_spi_probe(struct spi_device *spi) struct sched_param rt_param = { .sched_priority = MAX_RT_PRIO - 1 }; unsigned long flags; - + n_spi = kzalloc(sizeof *n_spi, GFP_ATOMIC); spin_lock_irqsave(neuronspi_probe_spinlock, flags); neuronspi_probe_count++; @@ -1341,7 +1343,11 @@ s32 neuronspi_spi_probe(struct spi_device *spi) kfree(n_spi); return PTR_ERR(worker); } +#if LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0) sched_setscheduler(worker->task, SCHED_FIFO, &neuronspi_sched_param); +#else + sched_set_fifo(worker->task); +#endif n_spi->primary_worker = worker; // Prepare Register map