From 6cbd378e239b57f5d160f712780b72a0718dfe43 Mon Sep 17 00:00:00 2001
From: nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Fri, 23 Apr 2010 04:01:03 +0000
Subject: package/kernel: introduce a new file that will be sourced first and
 holding complex dependencies spread over multiple files, use it for
 kmod-crc16

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21101 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/kernel/modules/001-depends.mk | 16 ++++++++++++++++
 package/kernel/modules/fs.mk          |  3 ++-
 package/kernel/modules/netsupport.mk  |  2 +-
 package/kernel/modules/other.mk       |  4 +++-
 4 files changed, 22 insertions(+), 3 deletions(-)
 create mode 100644 package/kernel/modules/001-depends.mk

(limited to 'package/kernel')

diff --git a/package/kernel/modules/001-depends.mk b/package/kernel/modules/001-depends.mk
new file mode 100644
index 000000000..2446d3e4b
--- /dev/null
+++ b/package/kernel/modules/001-depends.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+# XXX: xburst has CONFIG_CRC16=y because of CONFIG_UBIFS_FS=y
+
+define SetDepends/crc16
+  DEPENDS:= @!TARGET_xburst
+endef
+
+define AddDepends/crc16
+  DEPENDS+= +!TARGET_xburst:kmod-crc16
+endef
diff --git a/package/kernel/modules/fs.mk b/package/kernel/modules/fs.mk
index f497292d2..49193e66c 100644
--- a/package/kernel/modules/fs.mk
+++ b/package/kernel/modules/fs.mk
@@ -120,11 +120,12 @@ define KernelPackage/fs-ext4
 	CONFIG_EXT4_FS_SECURITY=y \
 	CONFIG_EXT4_FS \
 	CONFIG_JBD2
-  DEPENDS:= @LINUX_2_6 +kmod-crc16 $(if $(DUMP)$(CONFIG_FS_MBCACHE),+kmod-fs-mbcache)
+  DEPENDS:= @LINUX_2_6 $(if $(DUMP)$(CONFIG_FS_MBCACHE),+kmod-fs-mbcache)
   FILES:= \
 	$(LINUX_DIR)/fs/ext4/ext4.$(LINUX_KMOD_SUFFIX) \
 	$(LINUX_DIR)/fs/jbd2/jbd2.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,30,jbd2 ext4,1)
+  $(call AddDepends/crc16)
 endef
 
 define KernelPackage/fs-ext4/description
diff --git a/package/kernel/modules/netsupport.mk b/package/kernel/modules/netsupport.mk
index 0c0c91244..de044789e 100644
--- a/package/kernel/modules/netsupport.mk
+++ b/package/kernel/modules/netsupport.mk
@@ -601,7 +601,6 @@ $(eval $(call KernelPackage,sched))
 define KernelPackage/ax25
   SUBMENU:=$(NETWORK_SUPPORT_MENU)
   TITLE:=AX25 support
-  DEPENDS:= +kmod-crc16
   KCONFIG:= \
 	CONFIG_AX25 \
 	CONFIG_MKISS
@@ -609,6 +608,7 @@ define KernelPackage/ax25
 	$(LINUX_DIR)/net/ax25/ax25.$(LINUX_KMOD_SUFFIX) \
 	$(LINUX_DIR)/drivers/net/hamradio/mkiss.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,80,ax25 mkiss)
+  $(call AddDepends/crc16)
 endef
 
 define KernelPackage/ax25/description
diff --git a/package/kernel/modules/other.mk b/package/kernel/modules/other.mk
index 97ce3d3b7..d00b6f78a 100644
--- a/package/kernel/modules/other.mk
+++ b/package/kernel/modules/other.mk
@@ -65,6 +65,7 @@ define KernelPackage/crc16
   KCONFIG:=CONFIG_CRC16
   FILES:=$(LINUX_DIR)/lib/crc16.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,20,crc16,1)
+  $(call SetDepends/crc16)
 endef
 
 define KernelPackage/crc16/description
@@ -261,7 +262,7 @@ $(eval $(call KernelPackage,ssb))
 define KernelPackage/bluetooth
   SUBMENU:=$(OTHER_MENU)
   TITLE:=Bluetooth support
-  DEPENDS:=@USB_SUPPORT +kmod-crc16 +kmod-usb-core +!TARGET_x86:kmod-hid \
+  DEPENDS:=@USB_SUPPORT +kmod-usb-core +!TARGET_x86:kmod-hid \
 	+(TARGET_x86||TARGET_s3c24xx||TARGET_brcm47xx||TARGET_ar71xx):kmod-rfkill
   KCONFIG:= \
 	CONFIG_BLUEZ \
@@ -281,6 +282,7 @@ define KernelPackage/bluetooth
 	CONFIG_BT_HCIUSB \
 	CONFIG_BT_HCIUART \
 	CONFIG_BT_HIDP
+  $(call AddDepends/crc16)
 endef
 
 define KernelPackage/bluetooth/2.4
-- 
cgit v1.2.3