package the Winbond w83627hf super i/o controller
[openwrt/openwrt.git] / package / kernel / modules / fs.mk
index 639d74a2ec86f8879cc07e47973ace43da456015..85b8e1ab8c636cf90e39f4a5a5674ec41099c155 100644 (file)
@@ -4,7 +4,6 @@
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 FS_MENU:=Filesystems
 
@@ -113,6 +112,36 @@ endef
 
 $(eval $(call KernelPackage,fs-ext3))
 
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),lt,2.6.28)),1)
+       EXT4_NAME:=ext4dev
+else
+       EXT4_NAME:=ext4
+endif
+
+define KernelPackage/fs-ext4
+  SUBMENU:=$(FS_MENU)
+  TITLE:=EXT4 filesystem support
+  KCONFIG:= \
+       CONFIG_EXT4DEV_COMPAT=y \
+       CONFIG_EXT4_FS_XATTR=y \
+       CONFIG_EXT4_FS_POSIX_ACL=y \
+       CONFIG_EXT4_FS_SECURITY=y \
+       CONFIG_EXT4_FS \
+       CONFIG_JBD2
+  DEPENDS:= @LINUX_2_6 +kmod-crc16 $(if $(DUMP)$(CONFIG_FS_MBCACHE),+kmod-fs-mbcache)
+  FILES:= \
+       $(LINUX_DIR)/fs/ext4/$(EXT4_NAME).$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/fs/jbd2/jbd2.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,30,jbd2 $(EXT4_NAME))
+endef
+
+define KernelPackage/fs-ext4/description
+ Kernel module for EXT4 filesystem support
+endef
+
+$(eval $(call KernelPackage,fs-ext4))
+
+
 
 define KernelPackage/fs-hfs
   SUBMENU:=$(FS_MENU)
@@ -180,19 +209,30 @@ endef
 
 $(eval $(call KernelPackage,fs-udf))
 
-
-define KernelPackage/fs-nfs
+define KernelPackage/fs-nfs-common
   SUBMENU:=$(FS_MENU)
-  TITLE:=NFS filesystem support
+  TITLE:=Common NFS filesystem modules
   KCONFIG:= \
-       CONFIG_NFS_FS \
        CONFIG_LOCKD \
        CONFIG_SUNRPC
   FILES:= \
-       $(LINUX_DIR)/fs/nfs/nfs.$(LINUX_KMOD_SUFFIX) \
        $(LINUX_DIR)/fs/lockd/lockd.$(LINUX_KMOD_SUFFIX) \
        $(LINUX_DIR)/net/sunrpc/sunrpc.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD:=$(call AutoLoad,30,sunrpc lockd nfs)
+  AUTOLOAD:=$(call AutoLoad,30,sunrpc lockd)
+endef
+
+$(eval $(call KernelPackage,fs-nfs-common))
+
+
+define KernelPackage/fs-nfs
+  SUBMENU:=$(FS_MENU)
+  TITLE:=NFS filesystem support
+  DEPENDS:=kmod-fs-nfs-common
+  KCONFIG:= \
+       CONFIG_NFS_FS
+  FILES:= \
+       $(LINUX_DIR)/fs/nfs/nfs.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,40,nfs)
 endef
 
 define KernelPackage/fs-nfs/description
@@ -205,17 +245,18 @@ $(eval $(call KernelPackage,fs-nfs))
 define KernelPackage/fs-nfsd
   SUBMENU:=$(FS_MENU)
   TITLE:=NFS kernel server support
-  KCONFIG:= \
-       CONFIG_NFSD \
-       CONFIG_EXPORTFS
+  DEPENDS:=kmod-fs-nfs-common
+  KCONFIG:=CONFIG_NFSD
   FILES:=$(LINUX_DIR)/fs/nfsd/nfsd.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,40,nfsd)
 endef
 
 define KernelPackage/fs-nfsd/2.6
-#  KCONFIG+=CONFIG_EXPORTFS
-  FILES+=$(LINUX_DIR)/fs/exportfs/exportfs.$(LINUX_KMOD_SUFFIX)
-  AUTOLOAD+=$(call AutoLoad,30,exportfs)
+  KCONFIG+=CONFIG_EXPORTFS \
+       CONFIG_SUNRPC_GSS
+  FILES+=$(LINUX_DIR)/fs/exportfs/exportfs.$(LINUX_KMOD_SUFFIX) \
+       $(LINUX_DIR)/net/sunrpc/auth_gss/auth_rpcgss.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD+=$(call AutoLoad,40,auth_rpcgss exportfs nfsd)
 endef
 
 define KernelPackage/fs-nfsd/description
@@ -225,11 +266,16 @@ endef
 $(eval $(call KernelPackage,fs-nfsd))
 
 
+ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,2.6.28)),1)
+  MSDOS_DIR:=fat
+endif
+MSDOS_DIR?=msdos
+
 define KernelPackage/fs-msdos
   SUBMENU:=$(FS_MENU)
   TITLE:=MSDOS filesystem support
   KCONFIG:=CONFIG_MSDOS_FS
-  FILES:=$(LINUX_DIR)/fs/msdos/msdos.$(LINUX_KMOD_SUFFIX)
+  FILES:=$(LINUX_DIR)/fs/$(MSDOS_DIR)/msdos.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,40,msdos)
 $(call KernelPackage/nls/Depends)
 endef
@@ -265,7 +311,7 @@ define KernelPackage/fs-vfat
        CONFIG_VFAT_FS
   FILES:= \
        $(LINUX_DIR)/fs/fat/fat.$(LINUX_KMOD_SUFFIX) \
-       $(LINUX_DIR)/fs/vfat/vfat.$(LINUX_KMOD_SUFFIX)
+       $(LINUX_DIR)/fs/$(if $(CONFIG_LINUX_2_6_28),fat,vfat)/vfat.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoLoad,30,fat vfat)
 $(call KernelPackage/nls/Depends)
 endef
@@ -342,6 +388,23 @@ endef
 $(eval $(call KernelPackage,nls-cp850))
 
 
+define KernelPackage/nls-cp852
+  SUBMENU:=$(FS_MENU)
+  TITLE:=Codepage 852 (Europe)
+  KCONFIG:=CONFIG_NLS_CODEPAGE_852
+  FILES:=$(LINUX_DIR)/fs/nls/nls_cp852.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,25,nls_cp852)
+$(call KernelPackage/nls/Depends)
+endef
+
+
+define KernelPackage/nls-cp852/description
+ Kernel module for NLS Codepage 852 (Europe)
+endef
+
+$(eval $(call KernelPackage,nls-cp852))
+
+
 define KernelPackage/nls-cp1250
   SUBMENU:=$(FS_MENU)
   TITLE:=Codepage 1250 (Eastern Europe)
@@ -359,6 +422,23 @@ endef
 $(eval $(call KernelPackage,nls-cp1250))
 
 
+define KernelPackage/nls-cp1251
+  SUBMENU:=$(FS_MENU)
+  TITLE:=Codepage 1251 (Russian)
+  KCONFIG:=CONFIG_NLS_CODEPAGE_1251
+  FILES:=$(LINUX_DIR)/fs/nls/nls_cp1251.$(LINUX_KMOD_SUFFIX)
+  AUTOLOAD:=$(call AutoLoad,25,nls_cp1251)
+$(call KernelPackage/nls/Depends)
+endef
+
+
+define KernelPackage/nls-cp1251/description
+ Kernel module for NLS Codepage 1251 (Russian)
+endef
+
+$(eval $(call KernelPackage,nls-cp1251))
+
+
 define KernelPackage/nls-iso8859-1
   SUBMENU:=$(FS_MENU)
   TITLE:=ISO 8859-1 (Latin 1; Western European Languages)