+define Download/kernel
+ URL:=$(LINUX_SITE)
+ FILE:=$(LINUX_SOURCE)
+ HASH:=$(LINUX_KERNEL_HASH)
+endef
+
+KERNEL_GIT_OPTS:=
+ifneq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"")
+ KERNEL_GIT_OPTS+=--reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)
+endif
+
+ifneq ($(strip $(CONFIG_KERNEL_GIT_BRANCH)),"")
+ KERNEL_GIT_OPTS+=--branch $(CONFIG_KERNEL_GIT_BRANCH)
+endif
+
+define Download/git-kernel
+ URL:=$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI))
+ PROTO:=git
+ VERSION:=$(CONFIG_KERNEL_GIT_BRANCH)
+ FILE:=$(LINUX_SOURCE)
+ SUBDIR:=linux-$(LINUX_VERSION)
+ OPTS:=$(KERNEL_GIT_OPTS)
+endef
+
+ifdef CONFIG_COLLECT_KERNEL_DEBUG
+ define Kernel/CollectDebug
+ rm -rf $(KERNEL_BUILD_DIR)/debug
+ mkdir -p $(KERNEL_BUILD_DIR)/debug/modules
+ $(CP) $(LINUX_DIR)/vmlinux $(KERNEL_BUILD_DIR)/debug/
+ -$(CP) \
+ $(STAGING_DIR_ROOT)/lib/modules/$(LINUX_VERSION)/* \
+ $(KERNEL_BUILD_DIR)/debug/modules/
+ $(FIND) $(KERNEL_BUILD_DIR)/debug -type f | $(XARGS) $(KERNEL_CROSS)strip --only-keep-debug
+ $(TAR) c -C $(KERNEL_BUILD_DIR) debug \
+ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+ | bzip2 -c -9 > $(BIN_DIR)/kernel-debug.tar.bz2
+ endef
+endif
+
+ifeq ($(DUMP)$(filter prereq clean refresh update,$(MAKECMDGOALS)),)
+ ifneq ($(if $(QUILT),,$(CONFIG_AUTOREBUILD)),)
+ define Kernel/Autoclean
+ $(PKG_BUILD_DIR)/.dep_files: $(STAMP_PREPARED)
+ $(call rdep,$(KERNEL_FILE_DEPENDS),$(STAMP_PREPARED),$(PKG_BUILD_DIR)/.dep_files,-x "*/.dep_*")
+ endef