From b197196bc8c3736fb03980a0e46bb69f39fbcdab Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Sun, 24 Jul 2011 21:42:33 +0000
Subject: [PATCH] kernel.mk: Fix kernel module path for 3.0

Linux 3.0 calls itself 3.0.0, so insmod expects the modules in
/lib/modules/3.0.0.

SVN-Revision: 27761
---
 include/kernel.mk | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/include/kernel.mk b/include/kernel.mk
index e120cef1fa..a2dce091e9 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -33,7 +33,12 @@ else
   KERNEL_BUILD_DIR ?= $(BUILD_DIR_BASE)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX))
   LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
 
-  MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION)
+  LINUX_UNAME_VERSION:=$(if $(word 3,$(subst ., ,$(KERNEL_BASE))),$(KERNEL_BASE),$(KERNEL_BASE).0)
+  ifneq ($(findstring -rc,$(LINUX_VERSION)),)
+    LINUX_UNAME_VERSION:=$(LINUX_UNAME_VERSION)-$(strip $(lastword $(subst -, ,$(LINUX_VERSION))))
+  endif
+
+  MODULES_SUBDIR:=lib/modules/$(LINUX_UNAME_VERSION)
   TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
 
   LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
@@ -139,8 +144,8 @@ $(call KernelPackage/$(1)/config)
   ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),)
     ifneq ($(strip $(FILES)),)
       define Package/kmod-$(1)/install
-		  mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
-		  $(CP) -L $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
+		  mkdir -p $$(1)/$(MODULES_SUBDIR)
+		  $(CP) -L $$(FILES) $$(1)/$(MODULES_SUBDIR)/
 		  $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
 		  $(call KernelPackage/$(1)/install,$$(1))
       endef
-- 
2.30.2