v4l2loopback: fix build in kernel 3.18

+33
+2
pkgs/os-specific/linux/v4l2loopback/default.nix
··· 14 14 sed -i '/depmod/d' Makefile 15 15 export PATH=${kmod}/sbin:$PATH 16 16 ''; 17 + 18 + patches = [ ./kernel-3.18-fix.patch ]; 17 19 18 20 buildInputs = [ kmod ]; 19 21
+31
pkgs/os-specific/linux/v4l2loopback/kernel-3.18-fix.patch
··· 1 + From 21195cd6d1ff767a271359dfa7d201078f766611 Mon Sep 17 00:00:00 2001 2 + From: tatokis <tasos@tasossah.com> 3 + Date: Mon, 24 Nov 2014 16:28:33 +0200 4 + Subject: [PATCH] Updated v4l2loopback.c to compile on >= 3.18 kernel 5 + 6 + --- 7 + v4l2loopback.c | 9 +++++++-- 8 + 1 file changed, 7 insertions(+), 2 deletions(-) 9 + 10 + diff --git a/v4l2loopback.c b/v4l2loopback.c 11 + index bb228bb..67f6ed4 100644 12 + --- a/v4l2loopback.c 13 + +++ b/v4l2loopback.c 14 + @@ -498,10 +498,15 @@ static ssize_t attr_store_maxopeners(struct device *cd, 15 + { 16 + struct v4l2_loopback_device *dev = NULL; 17 + unsigned long curr = 0; 18 + - 19 + + 20 + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0) 21 + + if (kstrtoul(buf, 0, &curr)) 22 + + return -EINVAL; 23 + + #else 24 + if (strict_strtoul(buf, 0, &curr)) 25 + return -EINVAL; 26 + - 27 + + #endif 28 + + 29 + dev = v4l2loopback_cd2dev(cd); 30 + 31 + if (dev->max_openers == curr)