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