kernel: add support for kernel 5.4
[openwrt/openwrt.git] / include / kernel-version.mk
1 # Use the default kernel version if the Makefile doesn't override it
2
3 LINUX_RELEASE?=1
4
5 ifdef CONFIG_TESTING_KERNEL
6 KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
7 endif
8
9 LINUX_VERSION-4.14 = .171
10 LINUX_VERSION-4.19 = .106
11 LINUX_VERSION-5.4 = .22
12
13 LINUX_KERNEL_HASH-4.14.171 = 4fe02489e4b4a187eccf0ef87df6100534c9d485e76d876b1fa247c7635332a0
14 LINUX_KERNEL_HASH-4.19.106 = 63c8bd76a9b282e18112f8ff9e3fd41e3d1df9f9b7248ea1a370b05a827e9cda
15 LINUX_KERNEL_HASH-5.4.22 = 661bcb8d7e390dcc28e53795485e648f2bdc9b697b731459cc2bcc9ceb4a7d1a
16
17 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
18 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
19
20 ifneq ($(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),)
21 LINUX_VERSION:=$(call sanitize_uri,$(call remove_uri_prefix,$(CONFIG_KERNEL_GIT_CLONE_URI)))
22 ifeq ($(call qstrip,$(CONFIG_KERNEL_GIT_REF)),)
23 CONFIG_KERNEL_GIT_REF:=HEAD
24 endif
25 LINUX_VERSION:=$(LINUX_VERSION)-$(call sanitize_uri,$(CONFIG_KERNEL_GIT_REF))
26 else
27 ifdef KERNEL_PATCHVER
28 LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
29 endif
30 ifdef KERNEL_TESTING_PATCHVER
31 LINUX_TESTING_VERSION:=$(KERNEL_TESTING_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_TESTING_PATCHVER)))
32 endif
33 endif
34
35 split_version=$(subst ., ,$(1))
36 merge_version=$(subst $(space),.,$(1))
37 KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION)))
38 KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE))))
39 KERNEL_PATCHVER ?= $(KERNEL)
40
41 # disable the md5sum check for unknown kernel versions
42 LINUX_KERNEL_HASH:=$(LINUX_KERNEL_HASH-$(strip $(LINUX_VERSION)))
43 LINUX_KERNEL_HASH?=x