Return -ENODEV, when device is absent. This should fix lockups on boot.
[openwrt.git] / include / kernel.mk
index b8af46c..119de86 100644 (file)
@@ -27,11 +27,11 @@ else
   endif
 
   PLATFORM_DIR := $(TOPDIR)/target/linux/$(BOARD)-$(KERNEL)
+  GENERIC_PLATFORM_DIR := $(TOPDIR)/target/linux/generic-$(KERNEL)
   KERNEL_BUILD_DIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
   LINUX_DIR := $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
 
   MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION)
-  MODULES_DIR := $(KERNEL_BUILD_DIR)/modules/$(MODULES_SUBDIR)
   TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
 
   LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
@@ -42,6 +42,8 @@ else
            http://www.kernel.org/pub/linux/kernel/v$(KERNEL) \
            http://www.de.kernel.org/pub/linux/kernel/v$(KERNEL)
 
+  PKG_BUILD_DIR ?= $(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
 endif
 
 
@@ -88,7 +90,7 @@ define KernelPackage
     CATEGORY:=Kernel modules
     DEFAULT:=$(KMOD_DEFAULT)
     DESCRIPTION:=$(DESCRIPTION)
-    EXTRA_DEPENDS:='kernel (=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE))'
+    EXTRA_DEPENDS:=kernel (=$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE))
     $(call KernelPackage/$(1))
     $(call KernelPackage/$(1)/$(KERNEL))
     $(call KernelPackage/$(1)/$(BOARD)-$(KERNEL))
@@ -98,13 +100,15 @@ define KernelPackage
     ifneq ($(strip $(FILES)),)
       define Package/kmod-$(1)/install
                mkdir -p $$(1)/lib/modules/$(LINUX_VERSION)
-               $(CP) $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
+               $(CP) -L $$(FILES) $$(1)/lib/modules/$(LINUX_VERSION)/
                $(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
                $(call KernelPackage/$(1)/install,$$(1))
       endef
     endif
   endif
   $$(eval $$(call BuildPackage,kmod-$(1)))
+
+  $$(IPKG_kmod-$(1)): $$(FILES)
 endef
 
 define AutoLoad
This page took 0.023234 seconds and 4 git commands to generate.