kernel/modules: add f2fs support
[openwrt.git] / package / kernel / linux / modules / fs.mk
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 FS_MENU:=Filesystems
9
10 define KernelPackage/fs-fscache
11   SUBMENU:=$(FS_MENU)
12   TITLE:=General filesystem local cache manager
13   DEPENDS:=
14   KCONFIG:=\
15         CONFIG_FSCACHE=m \
16         CONFIG_FSCACHE_STATS=y \
17         CONFIG_FSCACHE_HISTOGRAM=n \
18         CONFIG_FSCACHE_DEBUG=n \
19         CONFIG_FSCACHE_OBJECT_LIST=n \
20         CONFIG_CACHEFILES=y \
21         CONFIG_CACHEFILES_DEBUG=n \
22         CONFIG_CACHEFILES_HISTOGRAM=n
23   FILES:=$(LINUX_DIR)/fs/fscache/fscache.ko
24   AUTOLOAD:=$(call AutoLoad,29,fscache)
25 endef
26
27 $(eval $(call KernelPackage,fs-fscache))
28
29 define KernelPackage/fs-afs
30   SUBMENU:=$(FS_MENU)
31   TITLE:=Andrew FileSystem client
32   DEPENDS:=+kmod-rxrpc +kmod-dnsresolver +kmod-fs-fscache
33   KCONFIG:=\
34         CONFIG_AFS_FS=m \
35         CONFIG_AFS_DEBUG=n \
36         CONFIG_AFS_FSCACHE=y
37   FILES:=$(LINUX_DIR)/fs/afs/kafs.ko
38   AUTOLOAD:=$(call AutoLoad,30,kafs)
39 endef
40
41 define KernelPackage/fs-afs/description
42   Kernel module for Andrew FileSystem client support
43 endef
44
45 $(eval $(call KernelPackage,fs-afs))
46
47 define KernelPackage/fs-autofs4
48   SUBMENU:=$(FS_MENU)
49   TITLE:=AUTOFS4 filesystem support
50   KCONFIG:=CONFIG_AUTOFS4_FS
51   FILES:=$(LINUX_DIR)/fs/autofs4/autofs4.ko
52   AUTOLOAD:=$(call AutoLoad,30,autofs4)
53 endef
54
55 define KernelPackage/fs-autofs4/description
56  Kernel module for AutoFS4 support
57 endef
58
59 $(eval $(call KernelPackage,fs-autofs4))
60
61
62 define KernelPackage/fs-btrfs
63   SUBMENU:=$(FS_MENU)
64   TITLE:=BTRFS filesystem support
65   DEPENDS:=+kmod-lib-crc32c +kmod-lib-lzo +kmod-lib-zlib +(!LINUX_3_3&&!LINUX_3_6&&!LINUX_3_8):kmod-lib-raid6 +(!LINUX_3_3&&!LINUX_3_6&&!LINUX_3_8):kmod-lib-xor
66   KCONFIG:=\
67         CONFIG_BTRFS_FS \
68         CONFIG_BTRFS_FS_POSIX_ACL=n \
69         CONFIG_BTRFS_FS_CHECK_INTEGRITY=n
70   FILES:=\
71         $(LINUX_DIR)/fs/btrfs/btrfs.ko
72   AUTOLOAD:=$(call AutoLoad,30,btrfs,1)
73 endef
74
75 define KernelPackage/fs-btrfs/description
76  Kernel module for BTRFS support
77 endef
78
79 $(eval $(call KernelPackage,fs-btrfs))
80
81
82 define KernelPackage/fs-cifs
83   SUBMENU:=$(FS_MENU)
84   TITLE:=CIFS support
85   KCONFIG:= \
86         CONFIG_CIFS \
87         CONFIG_CIFS_DFS_UPCALL=n \
88         CONFIG_CIFS_UPCALL=n
89   FILES:=$(LINUX_DIR)/fs/cifs/cifs.ko
90   AUTOLOAD:=$(call AutoLoad,30,cifs)
91   $(call AddDepends/nls)
92   DEPENDS+= \
93     +kmod-crypto-arc4 \
94     +kmod-crypto-hmac \
95     +kmod-crypto-md5 \
96     +kmod-crypto-md4 \
97     +kmod-crypto-des \
98     +kmod-crypto-ecb \
99     +!LINUX_3_3&&!LINUX_3_6:kmod-crypto-sha256
100 endef
101
102 define KernelPackage/fs-cifs/description
103  Kernel module for CIFS support
104 endef
105
106 $(eval $(call KernelPackage,fs-cifs))
107
108
109 define KernelPackage/fs-configfs
110   SUBMENU:=$(FS_MENU)
111   TITLE:=Configuration filesystem support
112   KCONFIG:= \
113         CONFIG_CONFIGFS_FS
114   FILES:=$(LINUX_DIR)/fs/configfs/configfs.ko
115   AUTOLOAD:=$(call AutoLoad,30,configfs)
116 endef
117
118 define KernelPackage/fs-configfs/description
119  Kernel module for configfs support
120 endef
121
122 $(eval $(call KernelPackage,fs-configfs))
123
124 define KernelPackage/fs-cramfs
125   SUBMENU:=$(FS_MENU)
126   TITLE:=Compressed RAM/ROM filesystem support
127   DEPENDS:=+kmod-lib-zlib
128   KCONFIG:= \
129         CONFIG_CRAMFS
130   FILES:=$(LINUX_DIR)/fs/cramfs/cramfs.ko
131   AUTOLOAD:=$(call AutoLoad,30,cramfs)
132 endef
133
134 define KernelPackage/fs-cramfs/description
135  Kernel module for cramfs support
136 endef
137
138 $(eval $(call KernelPackage,fs-cramfs))
139
140 define KernelPackage/fs-exportfs
141   SUBMENU:=$(FS_MENU)
142   TITLE:=exportfs kernel server support
143   KCONFIG:=CONFIG_EXPORTFS
144   FILES=$(LINUX_DIR)/fs/exportfs/exportfs.ko
145   AUTOLOAD:=$(call AutoLoad,20,exportfs,1)
146 endef
147
148 define KernelPackage/fs-exportfs/description
149  Kernel module for exportfs. Needed for some other modules.
150 endef
151
152 $(eval $(call KernelPackage,fs-exportfs))
153
154
155 define KernelPackage/fs-ext4
156   SUBMENU:=$(FS_MENU)
157   TITLE:=EXT4 filesystem support
158   KCONFIG:= \
159         CONFIG_EXT4_FS \
160         CONFIG_JBD2
161   FILES:= \
162         $(LINUX_DIR)/fs/ext4/ext4.ko \
163         $(LINUX_DIR)/fs/jbd2/jbd2.ko \
164         $(LINUX_DIR)/fs/mbcache.ko
165   AUTOLOAD:=$(call AutoLoad,30,mbcache jbd2 ext4,1)
166   $(call AddDepends/crc16, +!LINUX_3_3:kmod-crypto-hash)
167 endef
168
169 define KernelPackage/fs-ext4/description
170  Kernel module for EXT4 filesystem support
171 endef
172
173 $(eval $(call KernelPackage,fs-ext4))
174
175
176 define KernelPackage/fs-f2fs
177   SUBMENU:=$(FS_MENU)
178   TITLE:=F2FS filesystem support
179   DEPENDS:=@!LINUX_3_3
180   KCONFIG:= \
181         CONFIG_F2FS_FS \
182         CONFIG_F2FS_STAT_FS=y \
183         CONFIG_F2FS_FS_XATTR=n \
184         CONFIG_F2FS_CHECK_FS=n
185   FILES:=$(LINUX_DIR)/fs/f2fs/f2fs.ko
186   AUTOLOAD:=$(call AutoLoad,30,f2fs,1)
187 endef
188
189 define KernelPackage/fs-f2fs/description
190  Kernel module for F2FS filesystem support
191 endef
192
193 $(eval $(call KernelPackage,fs-f2fs))
194
195
196 define KernelPackage/fuse
197   SUBMENU:=$(FS_MENU)
198   TITLE:=FUSE (Filesystem in Userspace) support
199   KCONFIG:= CONFIG_FUSE_FS
200   FILES:=$(LINUX_DIR)/fs/fuse/fuse.ko
201   AUTOLOAD:=$(call AutoLoad,80,fuse)
202 endef
203
204 define KernelPackage/fuse/description
205  Kernel module for userspace filesystem support
206 endef
207
208 $(eval $(call KernelPackage,fuse))
209
210
211 define KernelPackage/fs-hfs
212   SUBMENU:=$(FS_MENU)
213   TITLE:=HFS filesystem support
214   KCONFIG:=CONFIG_HFS_FS
215   FILES:=$(LINUX_DIR)/fs/hfs/hfs.ko
216   AUTOLOAD:=$(call AutoLoad,30,hfs)
217   $(call AddDepends/nls)
218 endef
219
220 define KernelPackage/fs-hfs/description
221  Kernel module for HFS filesystem support
222 endef
223
224 $(eval $(call KernelPackage,fs-hfs))
225
226
227 define KernelPackage/fs-hfsplus
228   SUBMENU:=$(FS_MENU)
229   TITLE:=HFS+ filesystem support
230   KCONFIG:=CONFIG_HFSPLUS_FS
231   FILES:=$(LINUX_DIR)/fs/hfsplus/hfsplus.ko
232   AUTOLOAD:=$(call AutoLoad,30,hfsplus)
233   $(call AddDepends/nls,utf8)
234 endef
235
236 define KernelPackage/fs-hfsplus/description
237  Kernel module for HFS+ filesystem support
238 endef
239
240 $(eval $(call KernelPackage,fs-hfsplus))
241
242
243 define KernelPackage/fs-isofs
244   SUBMENU:=$(FS_MENU)
245   TITLE:=ISO9660 filesystem support
246   DEPENDS:=+kmod-lib-zlib
247   KCONFIG:=CONFIG_ISO9660_FS CONFIG_JOLIET=y CONFIG_ZISOFS=n
248   FILES:=$(LINUX_DIR)/fs/isofs/isofs.ko
249   AUTOLOAD:=$(call AutoLoad,30,isofs)
250   $(call AddDepends/nls)
251 endef
252
253 define KernelPackage/fs-isofs/description
254  Kernel module for ISO9660 filesystem support
255 endef
256
257 $(eval $(call KernelPackage,fs-isofs))
258
259
260 define KernelPackage/fs-minix
261   SUBMENU:=$(FS_MENU)
262   TITLE:=Minix filesystem support
263   KCONFIG:=CONFIG_MINIX_FS
264   FILES:=$(LINUX_DIR)/fs/minix/minix.ko
265   AUTOLOAD:=$(call AutoLoad,30,minix)
266 endef
267
268 define KernelPackage/fs-minix/description
269  Kernel module for Minix filesystem support
270 endef
271
272 $(eval $(call KernelPackage,fs-minix))
273
274
275 define KernelPackage/fs-msdos
276   SUBMENU:=$(FS_MENU)
277   TITLE:=MSDOS filesystem support
278   DEPENDS:=+kmod-fs-vfat
279   KCONFIG:=CONFIG_MSDOS_FS
280   FILES:=$(LINUX_DIR)/fs/fat/msdos.ko
281   AUTOLOAD:=$(call AutoLoad,40,msdos)
282   $(call AddDepends/nls)
283 endef
284
285 define KernelPackage/fs-msdos/description
286  Kernel module for MSDOS filesystem support
287 endef
288
289 $(eval $(call KernelPackage,fs-msdos))
290
291
292 define KernelPackage/fs-nfs
293   SUBMENU:=$(FS_MENU)
294   TITLE:=NFS filesystem support
295   DEPENDS:=+kmod-fs-nfs-common +kmod-dnsresolver
296   KCONFIG:= \
297         CONFIG_NFS_FS \
298         CONFIG_NFS_USE_LEGACY_DNS=n \
299         CONFIG_NFS_USE_NEW_IDMAPPER=n
300 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.6.0)),1)
301   FILES:= \
302         $(LINUX_DIR)/fs/nfs/nfs.ko \
303         $(LINUX_DIR)/fs/nfs/nfsv3.ko
304 else
305   FILES:= \
306         $(LINUX_DIR)/fs/nfs/nfs.ko
307 endif
308   AUTOLOAD:=$(call AutoLoad,40,nfs nfsv3)
309 endef
310
311 define KernelPackage/fs-nfs/description
312  Kernel module for NFS support
313 endef
314
315 $(eval $(call KernelPackage,fs-nfs))
316
317
318 define KernelPackage/fs-nfs-common
319   SUBMENU:=$(FS_MENU)
320   TITLE:=Common NFS filesystem modules
321   KCONFIG:= \
322         CONFIG_LOCKD \
323         CONFIG_SUNRPC
324   FILES:= \
325         $(LINUX_DIR)/fs/lockd/lockd.ko \
326         $(LINUX_DIR)/net/sunrpc/sunrpc.ko
327   AUTOLOAD:=$(call AutoLoad,30,sunrpc lockd)
328 endef
329
330 $(eval $(call KernelPackage,fs-nfs-common))
331
332
333 define KernelPackage/fs-nfs-common-v4
334   SUBMENU:=$(FS_MENU)
335   TITLE:=Common NFS V4 filesystem modules
336   KCONFIG+=\
337         CONFIG_SUNRPC_GSS\
338         CONFIG_NFS_V4=y\
339         CONFIG_NFSD_V4=y
340   DEPENDS:= @BROKEN
341   FILES+=$(LINUX_DIR)/net/sunrpc/auth_gss/auth_rpcgss.ko
342   AUTOLOAD=$(call AutoLoad,30,auth_rpcgss)
343 endef
344
345 define KernelPackage/fs-nfs-common-v4/description
346  Kernel modules for NFS V4 & NFSD V4 kernel support
347 endef
348
349 $(eval $(call KernelPackage,fs-nfs-common-v4))
350
351
352 define KernelPackage/fs-nfsd
353   SUBMENU:=$(FS_MENU)
354   TITLE:=NFS kernel server support
355   DEPENDS:=+kmod-fs-nfs-common +kmod-fs-exportfs
356   KCONFIG:= \
357         CONFIG_NFSD \
358         CONFIG_NFSD_FAULT_INJECTION=n
359   FILES:=$(LINUX_DIR)/fs/nfsd/nfsd.ko
360   AUTOLOAD:=$(call AutoLoad,40,nfsd)
361 endef
362
363 define KernelPackage/fs-nfsd/description
364  Kernel module for NFS kernel server support
365 endef
366
367 $(eval $(call KernelPackage,fs-nfsd))
368
369
370 define KernelPackage/fs-ntfs
371   SUBMENU:=$(FS_MENU)
372   TITLE:=NTFS filesystem support
373   KCONFIG:=CONFIG_NTFS_FS
374   FILES:=$(LINUX_DIR)/fs/ntfs/ntfs.ko
375   AUTOLOAD:=$(call AutoLoad,30,ntfs)
376   $(call AddDepends/nls)
377 endef
378
379 define KernelPackage/fs-ntfs/description
380  Kernel module for NTFS filesystem support
381 endef
382
383 $(eval $(call KernelPackage,fs-ntfs))
384
385
386 define KernelPackage/fs-reiserfs
387   SUBMENU:=$(FS_MENU)
388   TITLE:=ReiserFS filesystem support
389   KCONFIG:=CONFIG_REISERFS_FS
390   FILES:=$(LINUX_DIR)/fs/reiserfs/reiserfs.ko
391   AUTOLOAD:=$(call AutoLoad,30,reiserfs,1)
392 endef
393
394 define KernelPackage/fs-reiserfs/description
395  Kernel module for ReiserFS support
396 endef
397
398 $(eval $(call KernelPackage,fs-reiserfs))
399
400
401 define KernelPackage/fs-udf
402   SUBMENU:=$(FS_MENU)
403   TITLE:=UDF filesystem support
404   KCONFIG:=CONFIG_UDF_FS
405   FILES:=$(LINUX_DIR)/fs/udf/udf.ko
406   AUTOLOAD:=$(call AutoLoad,30,udf)
407   DEPENDS:=+kmod-lib-crc-itu-t
408   $(call AddDepends/nls)
409 endef
410
411 define KernelPackage/fs-udf/description
412  Kernel module for UDF filesystem support
413 endef
414
415 $(eval $(call KernelPackage,fs-udf))
416
417
418 define KernelPackage/fs-vfat
419   SUBMENU:=$(FS_MENU)
420   TITLE:=VFAT filesystem support
421   KCONFIG:= \
422         CONFIG_FAT_FS \
423         CONFIG_VFAT_FS
424   FILES:= \
425         $(LINUX_DIR)/fs/fat/fat.ko \
426         $(LINUX_DIR)/fs/fat/vfat.ko
427   AUTOLOAD:=$(call AutoLoad,30,fat vfat)
428   $(call AddDepends/nls)
429 endef
430
431 define KernelPackage/fs-vfat/description
432  Kernel module for VFAT filesystem support
433 endef
434
435 $(eval $(call KernelPackage,fs-vfat))
436
437
438 define KernelPackage/fs-xfs
439   SUBMENU:=$(FS_MENU)
440   TITLE:=XFS filesystem support
441   KCONFIG:=CONFIG_XFS_FS
442   DEPENDS:= +kmod-fs-exportfs +kmod-lib-crc32c @!avr32
443   FILES:=$(LINUX_DIR)/fs/xfs/xfs.ko
444   AUTOLOAD:=$(call AutoLoad,30,xfs,1)
445 endef
446
447 define KernelPackage/fs-xfs/description
448  Kernel module for XFS support
449 endef
450
451 $(eval $(call KernelPackage,fs-xfs))
452
453
454 define KernelPackage/fs-jfs
455   SUBMENU:=$(FS_MENU)
456   TITLE:=JFS filesystem support
457   KCONFIG:=CONFIG_JFS_FS
458   FILES:=$(LINUX_DIR)/fs/jfs/jfs.ko
459   AUTOLOAD:=$(call AutoLoad,30,jfs,1)
460   $(call AddDepends/nls)
461 endef
462
463 define KernelPackage/fs-jfs/description
464  Kernel module for JFS support
465 endef
466
467 $(eval $(call KernelPackage,fs-jfs))