Here is LVM support for OpenWRT. It introduces 3 new packages:
[openwrt.git] / package / kernel / modules / block.mk
1 #
2 # Copyright (C) 2006-2008 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 BLOCK_MENU:=Block Devices
9
10 define KernelPackage/ata-core
11   SUBMENU:=$(BLOCK_MENU)
12   TITLE:=Serial and Parallel ATA support
13   DEPENDS:=@PCI_SUPPORT @LINUX_2_6 +kmod-scsi-core @!TARGET_ubicom32
14   KCONFIG:=CONFIG_ATA
15   FILES:=$(LINUX_DIR)/drivers/ata/libata.$(LINUX_KMOD_SUFFIX)
16   AUTOLOAD:=$(call AutoLoad,21,libata)
17 endef
18
19 $(eval $(call KernelPackage,ata-core))
20
21
22 define KernelPackage/ata/Depends
23   SUBMENU:=$(BLOCK_MENU)
24   DEPENDS:=kmod-ata-core $(1)
25 endef
26
27
28 define KernelPackage/ata-ahci
29 $(call KernelPackage/ata/Depends,)
30   TITLE:=AHCI Serial ATA support
31   KCONFIG:=CONFIG_SATA_AHCI
32   FILES:=$(LINUX_DIR)/drivers/ata/ahci.$(LINUX_KMOD_SUFFIX)
33   AUTOLOAD:=$(call AutoLoad,41,ahci)
34 endef
35
36 define KernelPackage/ata-ahci/description
37  Support for AHCI Serial ATA controllers.
38 endef
39
40 $(eval $(call KernelPackage,ata-ahci))
41
42
43 define KernelPackage/ata-sil24
44 $(call KernelPackage/ata/Depends,)
45   TITLE:=Silicon Image 3124/3132 SATA support
46   KCONFIG:=CONFIG_SATA_SIL24
47   FILES:=$(LINUX_DIR)/drivers/ata/sata_sil24.$(LINUX_KMOD_SUFFIX)
48   AUTOLOAD:=$(call AutoLoad,41,sata_sil24)
49 endef
50
51 define KernelPackage/ata-sil24/description
52  Support for Silicon Image 3124/3132 Serial ATA controllers.
53 endef
54
55 $(eval $(call KernelPackage,ata-sil24))
56
57
58 define KernelPackage/ata-artop
59 $(call KernelPackage/ata/Depends,)
60   TITLE:=ARTOP 6210/6260 PATA support
61   KCONFIG:=CONFIG_PATA_ARTOP
62   FILES:=$(LINUX_DIR)/drivers/ata/pata_artop.$(LINUX_KMOD_SUFFIX)
63   AUTOLOAD:=$(call AutoLoad,41,pata_artop)
64 endef
65
66 define KernelPackage/ata-artop/description
67  PATA support for ARTOP 6210/6260 host controllers.
68 endef
69
70 $(eval $(call KernelPackage,ata-artop))
71
72 define KernelPackage/ata-octeon-cf
73 $(call KernelPackage/ata/Depends,@TARGET_octeon)
74   TITLE:=Octeon Compact Flash support
75   KCONFIG:=CONFIG_PATA_OCTEON_CF
76   FILES:=$(LINUX_DIR)/drivers/ata/pata_octeon_cf.$(LINUX_KMOD_SUFFIX)
77   AUTOLOAD:=$(call AutoLoad,41,pata_octeon_cf)
78 endef
79
80 define KernelPackage/ata-octeon-cf/description
81   Octeon Compact Flash support.
82 endef
83
84 $(eval $(call KernelPackage,ata-octeon-cf))
85
86
87 define KernelPackage/ata-ixp4xx-cf
88 $(call KernelPackage/ata/Depends,@TARGET_ixp4xx)
89   TITLE:=IXP4XX Compact Flash support
90   KCONFIG:=CONFIG_PATA_IXP4XX_CF
91   FILES:=$(LINUX_DIR)/drivers/ata/pata_ixp4xx_cf.$(LINUX_KMOD_SUFFIX)
92   AUTOLOAD:=$(call AutoLoad,41,pata_ixp4xx_cf)
93 endef
94
95 define KernelPackage/ata-ixp4xx-cf/description
96  IXP4XX Compact Flash support.
97 endef
98
99 $(eval $(call KernelPackage,ata-ixp4xx-cf))
100
101 define KernelPackage/ata-rb532-cf
102 $(call KernelPackage/ata/Depends,@TARGET_rb532 @BROKEN)
103   TITLE:=RB532 Compact Flash support
104   KCONFIG:= \
105         CONFIG_PATA_PLATFORM \
106         CONFIG_PATA_RB532
107   FILES:=\
108         $(LINUX_DIR)/drivers/ata/pata_platform.$(LINUX_KMOD_SUFFIX) \
109         $(LINUX_DIR)/drivers/ata/pata_rb532_cf.$(LINUX_KMOD_SUFFIX)
110   AUTOLOAD:=$(call AutoLoad,41,pata_platform pata_rb532_cf)
111 endef
112
113 define KernelPackage/ata-rb532-cf/description
114   RB532 Compact Flash support.
115 endef
116
117 $(eval $(call KernelPackage,ata-rb532-cf))
118
119 define KernelPackage/ata-nvidia-sata
120 $(call KernelPackage/ata/Depends,)
121   TITLE:=Nvidia Serial ATA support
122   KCONFIG:=CONFIG_SATA_NV
123   FILES:=$(LINUX_DIR)/drivers/ata/sata_nv.$(LINUX_KMOD_SUFFIX)
124   AUTOLOAD:=$(call AutoLoad,41,sata_nv)
125 endef
126
127 $(eval $(call KernelPackage,ata-nvidia-sata))
128
129
130 define KernelPackage/ata-magicbox-cf
131 $(call KernelPackage/ata/Depends,@TARGET_ppc40x)
132   TITLE:=Magicbox v2/OpenRB Compact flash support (ATA)
133   KCONFIG:=CONFIG_PATA_MAGICBOX_CF
134   FILES:=$(LINUX_DIR)/drivers/ata/pata_magicbox_cf.$(LINUX_KMOD_SUFFIX)
135   AUTOLOAD:=$(call AutoLoad,41,pata_magicbox_cf)
136 endef
137
138 define KernelPackage/ata-magicbox-cf/description
139   Support for Magicbox v2/OpenRB on-board CF slot. (ATA version).
140 endef
141
142 $(eval $(call KernelPackage,ata-magicbox-cf))
143
144
145 define KernelPackage/ata-piix
146 $(call KernelPackage/ata/Depends,)
147   TITLE:=Intel PIIX PATA/SATA support
148   KCONFIG:=CONFIG_ATA_PIIX
149   FILES:=$(LINUX_DIR)/drivers/ata/ata_piix.$(LINUX_KMOD_SUFFIX)
150   AUTOLOAD:=$(call AutoLoad,41,ata_piix)
151 endef
152
153 define KernelPackage/ata-piix/description
154  SATA support for Intel ICH5/6/7/8 series host controllers and
155  PATA support for Intel ESB/ICH/PIIX3/PIIX4 series host controllers.
156 endef
157
158 $(eval $(call KernelPackage,ata-piix))
159
160
161 define KernelPackage/ata-via-sata
162 $(call KernelPackage/ata/Depends,)
163   TITLE:=VIA SATA support
164   KCONFIG:=CONFIG_SATA_VIA
165   FILES:=$(LINUX_DIR)/drivers/ata/sata_via.$(LINUX_KMOD_SUFFIX)
166   AUTOLOAD:=$(call AutoLoad,41,sata_via)
167 endef
168
169 define KernelPackage/ata-via-sata/description
170  This option enables support for VIA Serial ATA.
171 endef
172
173 $(eval $(call KernelPackage,ata-via-sata))
174
175
176 define KernelPackage/ide-core
177   SUBMENU:=$(BLOCK_MENU)
178   TITLE:=IDE (ATA/ATAPI) device support
179   DEPENDS:=@PCI_SUPPORT
180   KCONFIG:= \
181         CONFIG_IDE \
182         CONFIG_IDE_GENERIC \
183         CONFIG_BLK_DEV_GENERIC \
184         CONFIG_BLK_DEV_IDE \
185         CONFIG_BLK_DEV_IDEDISK \
186         CONFIG_IDE_GD \
187         CONFIG_IDE_GD_ATA=y \
188         CONFIG_IDE_GD_ATAPI=n \
189         CONFIG_BLK_DEV_IDEDMA_PCI=y \
190         CONFIG_BLK_DEV_IDEPCI=y
191   FILES:= \
192         $(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
193         $(LINUX_DIR)/drivers/ide/ide-gd_mod.$(LINUX_KMOD_SUFFIX)
194   AUTOLOAD:= \
195         $(call AutoLoad,20,ide-core) \
196         $(call AutoLoad,40,ide-gd_mod)
197 endef
198
199 define KernelPackage/ide-core/2.4
200   FILES:= \
201         $(LINUX_DIR)/drivers/ide/ide-core.$(LINUX_KMOD_SUFFIX) \
202         $(LINUX_DIR)/drivers/ide/ide-detect.$(LINUX_KMOD_SUFFIX) \
203         $(LINUX_DIR)/drivers/ide/ide-disk.$(LINUX_KMOD_SUFFIX)
204   AUTOLOAD:= \
205         $(call AutoLoad,20,ide-core) \
206         $(call AutoLoad,35,ide-detect) \
207         $(call AutoLoad,40,ide-disk)
208 endef
209
210 ifneq ($(CONFIG_arm)$(CONFIG_powerpc),y)
211   define KernelPackage/ide-core/2.6
212     FILES+=$(LINUX_DIR)/drivers/ide/ide-generic.$(LINUX_KMOD_SUFFIX)
213     AUTOLOAD+=$(call AutoLoad,30,ide-generic)
214   endef
215 endif
216
217 define KernelPackage/ide-core/description
218  Kernel support for IDE, useful for usb mass storage devices (e.g. on WL-HDD)
219  Includes:
220  - ide-core
221  - ide-detect
222  - ide-gd_mod (or ide-disk)
223 endef
224
225 $(eval $(call KernelPackage,ide-core))
226
227
228 define KernelPackage/ide/Depends
229   SUBMENU:=$(BLOCK_MENU)
230   DEPENDS:=kmod-ide-core $(1)
231 endef
232
233
234 define KernelPackage/ide-aec62xx
235 $(call KernelPackage/ide/Depends,@PCI_SUPPORT)
236   TITLE:=Acard AEC62xx IDE driver
237   KCONFIG:=CONFIG_BLK_DEV_AEC62XX
238   FILES:=$(LINUX_DIR)/drivers/ide/aec62xx.$(LINUX_KMOD_SUFFIX)
239   AUTOLOAD:=$(call AutoLoad,30,aec62xx)
240 endef
241
242 define KernelPackage/ide-aec62xx/2.4
243   FILES:=$(LINUX_DIR)/drivers/ide/pci/aec62xx.$(LINUX_KMOD_SUFFIX)
244 endef
245
246 define KernelPackage/ide-aec62xx/description
247  Support for Acard AEC62xx (Artop ATP8xx) IDE controllers.
248 endef
249
250 $(eval $(call KernelPackage,ide-aec62xx))
251
252
253 define KernelPackage/ide-magicbox
254 $(call KernelPackage/ide/Depends,@TARGET_ppc40x)
255   TITLE:=Magicbox v2/OpenRB Compact flash support (IDE)
256   KCONFIG:=CONFIG_BLK_DEV_IDE_MAGICBOX
257   FILES:=$(LINUX_DIR)/drivers/ide/magicbox_ide.$(LINUX_KMOD_SUFFIX)
258   AUTOLOAD:=$(call AutoLoad,30,magicbox_ide)
259 endef
260
261 define KernelPackage/ide-magicbox/description
262  Support for Magicbox v2/OpenRB on-board CF slot. (IDE version).
263 endef
264
265 $(eval $(call KernelPackage,ide-magicbox))
266
267
268 define KernelPackage/ide-pdc202xx
269 $(call KernelPackage/ide/Depends,@PCI_SUPPORT)
270   TITLE:=Promise PDC202xx IDE driver
271   KCONFIG:=CONFIG_BLK_DEV_PDC202XX_OLD
272   FILES:=$(LINUX_DIR)/drivers/ide/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
273   AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
274 endef
275
276 define KernelPackage/ide-pdc202xx/2.4
277   FILES:=$(LINUX_DIR)/drivers/ide/pci/pdc202xx_old.$(LINUX_KMOD_SUFFIX)
278 endef
279
280 define KernelPackage/ide-pdc202xx/description
281  Support for the Promise Ultra 33/66/100 (PDC202{46|62|65|67|68}) IDE
282  controllers.
283 endef
284
285 $(eval $(call KernelPackage,ide-pdc202xx))
286
287
288 define KernelPackage/ide-it821x
289 $(call KernelPackage/ide/Depends,@PCI_SUPPORT)
290   TITLE:=ITE IT821x IDE driver
291   KCONFIG:=CONFIG_BLK_DEV_IT821X
292   FILES=$(LINUX_DIR)/drivers/ide/it821x.$(LINUX_KMOD_SUFFIX)
293   AUTOLOAD:=$(call AutoLoad,30,it821x)
294 endef
295
296 define KernelPackage/ide-it821x/description
297   Kernel module for the ITE IDE821x IDE controllers.
298 endef
299
300 $(eval $(call KernelPackage,ide-it821x))
301
302
303 define KernelPackage/scsi-core
304   SUBMENU:=$(BLOCK_MENU)
305   TITLE:=SCSI device support
306   KCONFIG:= \
307         CONFIG_SCSI \
308         CONFIG_BLK_DEV_SD
309   FILES:= \
310         $(LINUX_DIR)/drivers/scsi/scsi_mod.$(LINUX_KMOD_SUFFIX) \
311         $(LINUX_DIR)/drivers/scsi/sd_mod.$(LINUX_KMOD_SUFFIX)
312   AUTOLOAD:=$(call AutoLoad,20,scsi_mod) $(call AutoLoad,40,sd_mod)
313 endef
314
315 $(eval $(call KernelPackage,scsi-core))
316
317
318 define KernelPackage/scsi-generic
319   SUBMENU:=$(BLOCK_MENU)
320   TITLE:=Kernel support for SCSI generic
321   KCONFIG:= \
322         CONFIG_CHR_DEV_SG
323   FILES:= \
324         $(LINUX_DIR)/drivers/scsi/sg.$(LINUX_KMOD_SUFFIX)
325   AUTOLOAD:=$(call AutoLoad,65,sg)
326 endef
327
328 $(eval $(call KernelPackage,scsi-generic))
329
330
331 define KernelPackage/loop
332   SUBMENU:=$(BLOCK_MENU)
333   TITLE:=Loopback device support
334   KCONFIG:= \
335         CONFIG_BLK_DEV_LOOP \
336         CONFIG_BLK_DEV_CRYPTOLOOP=n
337   FILES:=$(LINUX_DIR)/drivers/block/loop.$(LINUX_KMOD_SUFFIX)
338   AUTOLOAD:=$(call AutoLoad,30,loop)
339 endef
340
341 define KernelPackage/loop/description
342  Kernel module for loopback device support
343 endef
344
345 $(eval $(call KernelPackage,loop))
346
347
348 define KernelPackage/nbd
349   SUBMENU:=$(BLOCK_MENU)
350   TITLE:=Network block device support
351   KCONFIG:=CONFIG_BLK_DEV_NBD
352   FILES:=$(LINUX_DIR)/drivers/block/nbd.$(LINUX_KMOD_SUFFIX)
353   AUTOLOAD:=$(call AutoLoad,30,nbd)
354 endef
355
356 define KernelPackage/nbd/description
357  Kernel module for network block device support
358 endef
359
360 $(eval $(call KernelPackage,nbd))
361
362
363 define KernelPackage/dm
364   SUBMENU:=$(BLOCK_MENU)
365   TITLE:=Device Mapper
366   # All the "=n" are unnecessary, they're only there
367   # to stop the config from asking the question.
368   # MIRROR is M because I've needed it for pvmove.
369   KCONFIG:= \
370        CONFIG_BLK_DEV_MD=n \
371        CONFIG_DM_DEBUG=n \
372        CONFIG_DM_CRYPT=n \
373        CONFIG_DM_UEVENT=n \
374        CONFIG_DM_DELAY=n \
375        CONFIG_DM_MULTIPATH=n \
376        CONFIG_DM_ZERO=n \
377        CONFIG_DM_SNAPSHOT=n \
378        CONFIG_MD=y \
379        CONFIG_BLK_DEV_DM \
380        CONFIG_DM_MIRROR
381   FILES:=$(LINUX_DIR)/drivers/md/dm-*.$(LINUX_KMOD_SUFFIX)
382   AUTOLOAD:=$(call AutoLoad,30,dm-mod dm-region-hash dm-mirror dm-log)
383 endef
384
385 define KernelPackage/dm/description
386  Kernel module necessary for LVM2 support
387 endef
388
389 $(eval $(call KernelPackage,dm))
390
391
392 define KernelPackage/pata-rb153-cf
393 $(call KernelPackage/ata/Depends,@TARGET_adm5120_router_le)
394   TITLE:=RouterBOARD 153 CF Slot support
395   KCONFIG:=CONFIG_PATA_RB153_CF
396   FILES:=$(LINUX_DIR)/drivers/ata/pata_rb153_cf.$(LINUX_KMOD_SUFFIX)
397   AUTOLOAD:=$(call AutoLoad,30,pata_rb153_cf)
398 endef
399
400 define KernelPackage/pata-rb153-cf/description
401   Kernel support for the RouterBoard 153 CF slot.
402 endef
403
404 $(eval $(call KernelPackage,pata-rb153-cf))
405
406
407 define KernelPackage/aoe
408   SUBMENU:=$(BLOCK_MENU)
409   TITLE:=ATA over Ethernet support
410   KCONFIG:=CONFIG_ATA_OVER_ETH
411   FILES:=$(LINUX_DIR)/drivers/block/aoe/aoe.$(LINUX_KMOD_SUFFIX)
412   AUTOLOAD:=$(call AutoLoad,30,aoe)
413 endef
414
415 define KernelPackage/aoe/description
416   Kernel support for ATA over Ethernet
417 endef
418
419 $(eval $(call KernelPackage,aoe))
420
421 define KernelPackage/ps3vram
422   SUBMENU:=$(BLOCK_MENU)
423   TITLE:=PS3 Video RAM Storage Driver
424   DEPENDS:=@TARGET_ps3||TARGET_ps3chk
425   KCONFIG:=CONFIG_PS3_VRAM
426   FILES:=$(LINUX_DIR)/drivers/block/ps3vram.$(LINUX_KMOD_SUFFIX)
427   AUTOLOAD:=$(call AutoLoad,01,ps3vram)
428 endef
429
430 define KernelPackage/ps3vram/description
431   Kernel support for PS3 Video RAM Storage
432 endef
433
434 $(eval $(call KernelPackage,ps3vram))
435
436 define KernelPackage/axonram
437   SUBMENU:=$(BLOCK_MENU)
438   TITLE:=Axon DDR2 memory device driver
439   DEPENDS:=@TARGET_pxcab
440   KCONFIG:=CONFIG_AXON_RAM
441   FILES:=$(LINUX_DIR)/arch/powerpc/sysdev/axonram.$(LINUX_KMOD_SUFFIX)
442   AUTOLOAD:=$(call AutoLoad,01,axonram)
443 endef
444
445 define KernelPackage/axonram/description
446   Kernel support for Axon DDR2 memory device
447 endef
448
449 $(eval $(call KernelPackage,axonram))
450
451 define KernelPackage/libsas
452   SUBMENU:=$(BLOCK_MENU)
453   TITLE:=SAS Domain Transport Attributes
454   DEPENDS:=+kmod-scsi-core @TARGET_x86
455   KCONFIG:=CONFIG_SCSI_SAS_LIBSAS \
456         CONFIG_SCSI_SAS_ATTRS \
457         CONFIG_SCSI_SAS_ATA=y \
458         CONFIG_SCSI_SAS_HOST_SMP=y \
459         CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
460   FILES:= \
461         $(LINUX_DIR)/drivers/scsi/scsi_transport_sas.$(LINUX_KMOD_SUFFIX) \
462         $(LINUX_DIR)/drivers/scsi/libsas/libsas.$(LINUX_KMOD_SUFFIX)
463   AUTOLOAD:=$(call AutoLoad,29,scsi_transport_sas libsas)
464 endef
465
466 define KernelPackage/libsas/description
467   SAS Domain Transport Attributes support.
468 endef
469
470 $(eval $(call KernelPackage,libsas))
471
472 define KernelPackage/mvsas
473   SUBMENU:=$(BLOCK_MENU)
474   TITLE:=Marvell 88SE6440 SAS/SATA driver
475   DEPENDS:=@TARGET_x86 +kmod-libsas
476   KCONFIG:=CONFIG_SCSI_MVSAS
477   FILES:=$(LINUX_DIR)/drivers/scsi/mvsas.$(LINUX_KMOD_SUFFIX)
478   AUTOLOAD:=$(call AutoLoad,40,mvsas)
479 endef
480
481 define KernelPackage/mvsas/description
482   Kernel support for the Marvell SAS SCSI adapters
483 endef
484
485 $(eval $(call KernelPackage,mvsas))