kni: fix build with kernel 3.18

From upstream kernel commit 3db2e9cd, strict_strto* serial functions
are removed. So that we should directly used kstrtoul instead.

Add kni/compat.h to be compatible with older kernel.

Signed-off-by: Jincheng Miao <jmiao@redhat.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
This commit is contained in:
Jincheng Miao 2014-12-10 11:33:02 +08:00 committed by Thomas Monjalon
parent 6573369dd7
commit ee19d51ae5
2 changed files with 16 additions and 1 deletions

View File

@ -0,0 +1,15 @@
/*
* Minimal wrappers to allow compiling kni on older kernels.
*/
#ifndef RHEL_RELEASE_VERSION
#define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b))
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) && \
(!(defined(RHEL_RELEASE_CODE) && \
RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 4)))
#define kstrtoul strict_strtoul
#endif /* < 2.6.39 */

View File

@ -740,7 +740,7 @@ set_sock_en(struct device *dev, struct device_attribute *attr,
unsigned long en;
int err = 0;
if (0 != strict_strtoul(buf, 0, &en))
if (0 != kstrtoul(buf, 0, &en))
return -EINVAL;
if (en)