1# 2# Copyright (C) 2006-2012 OpenWrt.org 3# 4# This is free software, licensed under the GNU General Public License v2. 5# See /LICENSE for more information. 6# 7 8BLOCK_MENU:=Block Devices 9 10define KernelPackage/aoe 11 SUBMENU:=$(BLOCK_MENU) 12 TITLE:=ATA over Ethernet support 13 KCONFIG:=CONFIG_ATA_OVER_ETH 14 FILES:=$(LINUX_DIR)/drivers/block/aoe/aoe.ko 15 AUTOLOAD:=$(call AutoLoad,30,aoe) 16endef 17 18define KernelPackage/aoe/description 19 Kernel support for ATA over Ethernet 20endef 21 22$(eval $(call KernelPackage,aoe)) 23 24 25define KernelPackage/ata-core 26 SUBMENU:=$(BLOCK_MENU) 27 TITLE:=Serial and Parallel ATA support 28 DEPENDS:=@PCI_SUPPORT +kmod-scsi-core @(!TARGET_ubicom32||!TARGET_etrax) 29 KCONFIG:=CONFIG_ATA 30 FILES:=$(LINUX_DIR)/drivers/ata/libata.ko 31 AUTOLOAD:=$(call AutoLoad,21,libata,1) 32endef 33 34$(eval $(call KernelPackage,ata-core)) 35 36 37define AddDepends/ata 38 SUBMENU:=$(BLOCK_MENU) 39 DEPENDS+=kmod-ata-core $(1) 40endef 41 42 43define KernelPackage/ata-ahci 44 TITLE:=AHCI Serial ATA support 45 KCONFIG:=CONFIG_SATA_AHCI 46 FILES:= \ 47 $(LINUX_DIR)/drivers/ata/ahci.ko \ 48 $(LINUX_DIR)/drivers/ata/libahci.ko 49 AUTOLOAD:=$(call AutoLoad,41,libahci ahci,1) 50 $(call AddDepends/ata) 51endef 52 53define KernelPackage/ata-ahci/description 54 Support for AHCI Serial ATA controllers. 55endef 56 57$(eval $(call KernelPackage,ata-ahci)) 58 59 60define KernelPackage/ata-artop 61 TITLE:=ARTOP 6210/6260 PATA support 62 KCONFIG:=CONFIG_PATA_ARTOP 63 FILES:=$(LINUX_DIR)/drivers/ata/pata_artop.ko 64 AUTOLOAD:=$(call AutoLoad,41,pata_artop,1) 65 $(call AddDepends/ata) 66endef 67 68define KernelPackage/ata-artop/description 69 PATA support for ARTOP 6210/6260 host controllers. 70endef 71 72$(eval $(call KernelPackage,ata-artop)) 73 74 75define KernelPackage/ata-marvell-sata 76 TITLE:=Marvell Serial ATA support 77 KCONFIG:=CONFIG_SATA_MV 78 FILES:=$(LINUX_DIR)/drivers/ata/sata_mv.ko 79 AUTOLOAD:=$(call AutoLoad,41,sata_mv,1) 80 $(call AddDepends/ata) 81endef 82 83define KernelPackage/ata-marvell-sata/description 84 SATA support for marvell chipsets 85endef 86 87$(eval $(call KernelPackage,ata-marvell-sata)) 88 89 90define KernelPackage/ata-nvidia-sata 91 TITLE:=Nvidia Serial ATA support 92 KCONFIG:=CONFIG_SATA_NV 93 FILES:=$(LINUX_DIR)/drivers/ata/sata_nv.ko 94 AUTOLOAD:=$(call AutoLoad,41,sata_nv,1) 95 $(call AddDepends/ata) 96endef 97 98$(eval $(call KernelPackage,ata-nvidia-sata)) 99 100 101define KernelPackage/ata-pdc202xx-old 102 SUBMENU:=$(BLOCK_MENU) 103 TITLE:=Older Promise PATA controller support 104 DEPENDS:=kmod-ata-core 105 KCONFIG:= \ 106 CONFIG_ATA_SFF=y \ 107 CONFIG_PATA_PDC_OLD 108 FILES:=$(LINUX_DIR)/drivers/ata/pata_pdc202xx_old.ko 109 AUTOLOAD:=$(call AutoLoad,41,pata_pdc202xx_old,1) 110endef 111 112define KernelPackage/ata-pdc202xx-old/description 113 This option enables support for the Promise 20246, 20262, 20263, 114 20265 and 20267 adapters. 115endef 116 117$(eval $(call KernelPackage,ata-pdc202xx-old)) 118 119 120define KernelPackage/ata-piix 121 TITLE:=Intel PIIX PATA/SATA support 122 KCONFIG:=CONFIG_ATA_PIIX 123 FILES:=$(LINUX_DIR)/drivers/ata/ata_piix.ko 124 AUTOLOAD:=$(call AutoLoad,41,ata_piix,1) 125 $(call AddDepends/ata) 126endef 127 128define KernelPackage/ata-piix/description 129 SATA support for Intel ICH5/6/7/8 series host controllers and 130 PATA support for Intel ESB/ICH/PIIX3/PIIX4 series host controllers. 131endef 132 133$(eval $(call KernelPackage,ata-piix)) 134 135 136define KernelPackage/ata-sil 137 TITLE:=Silicon Image SATA support 138 KCONFIG:=CONFIG_SATA_SIL 139 FILES:=$(LINUX_DIR)/drivers/ata/sata_sil.ko 140 AUTOLOAD:=$(call AutoLoad,41,sata_sil,1) 141 $(call AddDepends/ata) 142endef 143 144define KernelPackage/ata-sil/description 145 Support for Silicon Image Serial ATA controllers. 146endef 147 148$(eval $(call KernelPackage,ata-sil)) 149 150 151define KernelPackage/ata-sil24 152 TITLE:=Silicon Image 3124/3132 SATA support 153 KCONFIG:=CONFIG_SATA_SIL24 154 FILES:=$(LINUX_DIR)/drivers/ata/sata_sil24.ko 155 AUTOLOAD:=$(call AutoLoad,41,sata_sil24,1) 156 $(call AddDepends/ata) 157endef 158 159define KernelPackage/ata-sil24/description 160 Support for Silicon Image 3124/3132 Serial ATA controllers. 161endef 162 163$(eval $(call KernelPackage,ata-sil24)) 164 165 166define KernelPackage/ata-sis 167 TITLE:=SIS SATA support 168 KCONFIG:=CONFIG_SATA_SIS 169 FILES:=$(LINUX_DIR)/drivers/ata/sata_sis.ko 170 AUTOLOAD:=$(call AutoLoad,41,sata_sis,1) 171 $(call AddDepends/ata) 172endef 173 174define KernelPackage/ata-sis/description 175 Support for SIS Serial ATA controllers. 176endef 177 178$(eval $(call KernelPackage,ata-sis)) 179 180 181define KernelPackage/ata-via-sata 182 TITLE:=VIA SATA support 183 KCONFIG:=CONFIG_SATA_VIA 184 FILES:=$(LINUX_DIR)/drivers/ata/sata_via.ko 185 AUTOLOAD:=$(call AutoLoad,41,sata_via,1) 186 $(call AddDepends/ata) 187endef 188 189define KernelPackage/ata-via-sata/description 190 This option enables support for VIA Serial ATA. 191endef 192 193$(eval $(call KernelPackage,ata-via-sata)) 194 195 196define KernelPackage/block2mtd 197 SUBMENU:=$(BLOCK_MENU) 198 TITLE:=Block device MTD emulation 199 KCONFIG:=CONFIG_MTD_BLOCK2MTD 200 FILES:=$(LINUX_DIR)/drivers/mtd/devices/block2mtd.ko 201endef 202 203$(eval $(call KernelPackage,block2mtd)) 204 205 206define KernelPackage/dm 207 SUBMENU:=$(BLOCK_MENU) 208 TITLE:=Device Mapper 209 # All the "=n" are unnecessary, they're only there 210 # to stop the config from asking the question. 211 # MIRROR is M because I've needed it for pvmove. 212 KCONFIG:= \ 213 CONFIG_BLK_DEV_MD=n \ 214 CONFIG_DM_DEBUG=n \ 215 CONFIG_DM_UEVENT=n \ 216 CONFIG_DM_DELAY=n \ 217 CONFIG_DM_MULTIPATH=n \ 218 CONFIG_DM_ZERO=n \ 219 CONFIG_DM_SNAPSHOT=n \ 220 CONFIG_DM_LOG_USERSPACE=n \ 221 CONFIG_MD=y \ 222 CONFIG_BLK_DEV_DM \ 223 CONFIG_DM_CRYPT \ 224 CONFIG_DM_MIRROR 225 FILES:=$(LINUX_DIR)/drivers/md/dm-*.ko 226 AUTOLOAD:=$(call AutoLoad,30,dm-mod dm-log dm-region-hash dm-mirror dm-crypt) 227endef 228 229define KernelPackage/dm/description 230 Kernel module necessary for LVM2 support 231endef 232 233$(eval $(call KernelPackage,dm)) 234 235 236define KernelPackage/md-mod 237 SUBMENU:=$(BLOCK_MENU) 238 TITLE:=MD RAID 239 KCONFIG:= \ 240 CONFIG_MD=y \ 241 CONFIG_BLK_DEV_MD=m \ 242 CONFIG_MD_AUTODETECT=y \ 243 CONFIG_MD_FAULTY=n 244 FILES:=$(LINUX_DIR)/drivers/md/md-mod.ko 245 AUTOLOAD:=$(call AutoLoad,27,md-mod) 246endef 247 248define KernelPackage/md-mod/description 249 Kernel RAID md module (md-mod.ko). 250 You will need to select at least one RAID level module below. 251endef 252 253$(eval $(call KernelPackage,md-mod)) 254 255 256define KernelPackage/md/Depends 257 SUBMENU:=$(BLOCK_MENU) 258 DEPENDS:=kmod-md-mod $(1) 259endef 260 261 262define KernelPackage/md-linear 263$(call KernelPackage/md/Depends,) 264 TITLE:=RAID Linear Module 265 KCONFIG:=CONFIG_MD_LINEAR 266 FILES:=$(LINUX_DIR)/drivers/md/linear.ko 267 AUTOLOAD:=$(call AutoLoad,28,linear) 268endef 269 270define KernelPackage/md-linear/description 271 RAID "Linear" or "Append" driver module (linear.ko) 272endef 273 274$(eval $(call KernelPackage,md-linear)) 275 276 277define KernelPackage/md-raid0 278$(call KernelPackage/md/Depends,) 279 TITLE:=RAID0 Module 280 KCONFIG:=CONFIG_MD_RAID0 281 FILES:=$(LINUX_DIR)/drivers/md/raid0.ko 282 AUTOLOAD:=$(call AutoLoad,28,raid0) 283endef 284 285define KernelPackage/md-raid0/description 286 RAID Level 0 (Striping) driver module (raid0.ko) 287endef 288 289$(eval $(call KernelPackage,md-raid0)) 290 291 292define KernelPackage/md-raid1 293$(call KernelPackage/md/Depends,) 294 TITLE:=RAID1 Module 295 KCONFIG:=CONFIG_MD_RAID1 296 FILES:=$(LINUX_DIR)/drivers/md/raid1.ko 297 AUTOLOAD:=$(call AutoLoad,28,raid1) 298endef 299 300define KernelPackage/md-raid1/description 301 RAID Level 1 (Mirroring) driver (raid1.ko) 302endef 303 304$(eval $(call KernelPackage,md-raid1)) 305 306 307define KernelPackage/md-raid10 308$(call KernelPackage/md/Depends,) 309 TITLE:=RAID10 Module 310 KCONFIG:=CONFIG_MD_RAID10 311 FILES:=$(LINUX_DIR)/drivers/md/raid10.ko 312 AUTOLOAD:=$(call AutoLoad,28,raid10) 313endef 314 315define KernelPackage/md-raid10/description 316 RAID Level 10 (Mirroring+Striping) driver module (raid10.ko) 317endef 318 319$(eval $(call KernelPackage,md-raid10)) 320 321 322define KernelPackage/md-raid456 323$(call KernelPackage/md/Depends,) 324 TITLE:=RAID Level 456 Driver 325 KCONFIG:= \ 326 CONFIG_XOR_BLOCKS \ 327 CONFIG_ASYNC_CORE \ 328 CONFIG_ASYNC_MEMCPY \ 329 CONFIG_ASYNC_XOR \ 330 CONFIG_ASYNC_PQ \ 331 CONFIG_ASYNC_RAID6_RECOV \ 332 CONFIG_ASYNC_RAID6_TEST=n \ 333 CONFIG_MD_RAID6_PQ \ 334 CONFIG_MD_RAID456 \ 335 CONFIG_MULTICORE_RAID456=n 336 FILES:= \ 337 $(LINUX_DIR)/crypto/xor.ko \ 338 $(LINUX_DIR)/crypto/async_tx/async_tx.ko \ 339 $(LINUX_DIR)/crypto/async_tx/async_memcpy.ko \ 340 $(LINUX_DIR)/crypto/async_tx/async_xor.ko \ 341 $(LINUX_DIR)/crypto/async_tx/async_pq.ko \ 342 $(LINUX_DIR)/crypto/async_tx/async_raid6_recov.ko \ 343 $(LINUX_DIR)/drivers/md/raid456.ko \ 344 $(LINUX_DIR)/lib/raid6/raid6_pq.ko 345 AUTOLOAD:=$(call AutoLoad,28, xor async_tx async_memcpy async_xor raid6_pq async_pq async_raid6_recov raid456) 346endef 347 348define KernelPackage/md-raid456/description 349 RAID Level 4,5,6 kernel module (raid456.ko) 350 351 Includes the following modules required by 352 raid456.ko: 353 xor.ko 354 async_tx.ko 355 async_xor.ko 356 async_memcpy.ko 357 async_pq.ko 358 async_raid5_recov.ko 359 raid6_pq.ko 360endef 361 362$(eval $(call KernelPackage,md-raid456)) 363 364 365define KernelPackage/md-multipath 366$(call KernelPackage/md/Depends,) 367 TITLE:=MD Multipath Module 368 KCONFIG:=CONFIG_MD_MULTIPATH 369 FILES:=$(LINUX_DIR)/drivers/md/multipath.ko 370 AUTOLOAD:=$(call AutoLoad,29,multipath) 371endef 372 373define KernelPackage/md-multipath/description 374 Multipath driver module (multipath.ko) 375endef 376 377$(eval $(call KernelPackage,md-multipath)) 378 379 380define KernelPackage/ide-core 381 SUBMENU:=$(BLOCK_MENU) 382 TITLE:=IDE (ATA/ATAPI) device support 383 DEPENDS:=@PCI_SUPPORT 384 KCONFIG:= \ 385 CONFIG_IDE \ 386 CONFIG_BLK_DEV_IDE \ 387 CONFIG_BLK_DEV_IDEDISK \ 388 CONFIG_IDE_GD \ 389 CONFIG_IDE_GD_ATA=y \ 390 CONFIG_IDE_GD_ATAPI=n \ 391 CONFIG_IDEPCI_PCIBUS_ORDER=y \ 392 CONFIG_BLK_DEV_IDEDMA_PCI=y \ 393 CONFIG_BLK_DEV_IDEPCI=y 394 FILES:= \ 395 $(LINUX_DIR)/drivers/ide/ide-core.ko \ 396 $(LINUX_DIR)/drivers/ide/ide-gd_mod.ko 397 AUTOLOAD:= \ 398 $(call AutoLoad,20,ide-core,1) \ 399 $(call AutoLoad,40,ide-gd_mod,1) 400endef 401 402define KernelPackage/ide-core/description 403 Kernel support for IDE, useful for usb mass storage devices (e.g. on WL-HDD) 404 Includes: 405 - ide-core 406 - ide-gd_mod 407endef 408 409$(eval $(call KernelPackage,ide-core)) 410 411 412define AddDepends/ide 413 SUBMENU:=$(BLOCK_MENU) 414 DEPENDS+=kmod-ide-core $(1) 415endef 416 417 418define KernelPackage/ide-generic 419 SUBMENU:=$(BLOCK_MENU) 420 DEPENDS:=@PCI_SUPPORT 421 TITLE:=Kernel support for generic PCI IDE chipsets 422 KCONFIG:=CONFIG_BLK_DEV_GENERIC 423 FILES:=$(LINUX_DIR)/drivers/ide/ide-pci-generic.ko 424 AUTOLOAD:=$(call AutoLoad,30,ide-pci-generic,1) 425 $(call AddDepends/ide) 426endef 427 428$(eval $(call KernelPackage,ide-generic)) 429 430 431define KernelPackage/ide-generic-old 432 SUBMENU:=$(BLOCK_MENU) 433 TITLE:=Kernel support for generic (legacy) IDE chipsets 434 KCONFIG:=CONFIG_IDE_GENERIC 435 FILES:=$(LINUX_DIR)/drivers/ide/ide-generic.ko 436 AUTOLOAD:=$(call AutoLoad,30,ide-generic,1) 437 $(call AddDepends/ide) 438endef 439 440$(eval $(call KernelPackage,ide-generic-old)) 441 442 443define KernelPackage/ide-aec62xx 444 TITLE:=Acard AEC62xx IDE driver 445 DEPENDS:=@PCI_SUPPORT 446 KCONFIG:=CONFIG_BLK_DEV_AEC62XX 447 FILES:=$(LINUX_DIR)/drivers/ide/aec62xx.ko 448 AUTOLOAD:=$(call AutoLoad,30,aec62xx,1) 449 $(call AddDepends/ide) 450endef 451 452define KernelPackage/ide-aec62xx/description 453 Support for Acard AEC62xx (Artop ATP8xx) IDE controllers. 454endef 455 456$(eval $(call KernelPackage,ide-aec62xx,1)) 457 458 459define KernelPackage/ide-pdc202xx 460 TITLE:=Promise PDC202xx IDE driver 461 DEPENDS:=@PCI_SUPPORT 462 KCONFIG:=CONFIG_BLK_DEV_PDC202XX_OLD 463 FILES:=$(LINUX_DIR)/drivers/ide/pdc202xx_old.ko 464 AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old,1) 465 $(call AddDepends/ide) 466endef 467 468define KernelPackage/ide-pdc202xx/description 469 Support for the Promise Ultra 33/66/100 (PDC202{46|62|65|67|68}) IDE 470 controllers. 471endef 472 473$(eval $(call KernelPackage,ide-pdc202xx)) 474 475 476define KernelPackage/ide-it821x 477 TITLE:=ITE IT821x IDE driver 478 DEPENDS:=@PCI_SUPPORT 479 KCONFIG:=CONFIG_BLK_DEV_IT821X 480 FILES=$(LINUX_DIR)/drivers/ide/it821x.ko 481 AUTOLOAD:=$(call AutoLoad,30,it821x,1) 482 $(call AddDepends/ide) 483endef 484 485define KernelPackage/ide-it821x/description 486 Kernel module for the ITE IDE821x IDE controllers. 487endef 488 489$(eval $(call KernelPackage,ide-it821x)) 490 491 492define KernelPackage/libsas 493 SUBMENU:=$(BLOCK_MENU) 494 TITLE:=SAS Domain Transport Attributes 495 KCONFIG:=CONFIG_SCSI_SAS_LIBSAS \ 496 CONFIG_SCSI_SAS_ATTRS \ 497 CONFIG_SCSI_SAS_ATA=y \ 498 CONFIG_SCSI_SAS_HOST_SMP=y \ 499 CONFIG_SCSI_SAS_LIBSAS_DEBUG=y 500 FILES:= \ 501 $(LINUX_DIR)/drivers/scsi/scsi_transport_sas.ko \ 502 $(LINUX_DIR)/drivers/scsi/libsas/libsas.ko 503 AUTOLOAD:=$(call AutoLoad,29,scsi_transport_sas libsas,1) 504endef 505 506define KernelPackage/libsas/description 507 SAS Domain Transport Attributes support. 508endef 509 510$(eval $(call KernelPackage,libsas,1)) 511 512 513define KernelPackage/loop 514 SUBMENU:=$(BLOCK_MENU) 515 TITLE:=Loopback device support 516 KCONFIG:= \ 517 CONFIG_BLK_DEV_LOOP \ 518 CONFIG_BLK_DEV_CRYPTOLOOP=n 519 FILES:=$(LINUX_DIR)/drivers/block/loop.ko 520 AUTOLOAD:=$(call AutoLoad,30,loop) 521endef 522 523define KernelPackage/loop/description 524 Kernel module for loopback device support 525endef 526 527$(eval $(call KernelPackage,loop)) 528 529 530define KernelPackage/mvsas 531 SUBMENU:=$(BLOCK_MENU) 532 TITLE:=Marvell 88SE6440 SAS/SATA driver 533 DEPENDS:=@TARGET_x86 +kmod-libsas 534 KCONFIG:= \ 535 CONFIG_SCSI_MVSAS \ 536 CONFIG_SCSI_MVSAS_TASKLET=n 537 FILES:=$(LINUX_DIR)/drivers/scsi/mvsas/mvsas.ko 538 AUTOLOAD:=$(call AutoLoad,40,mvsas,1) 539endef 540 541define KernelPackage/mvsas/description 542 Kernel support for the Marvell SAS SCSI adapters 543endef 544 545$(eval $(call KernelPackage,mvsas)) 546 547 548define KernelPackage/nbd 549 SUBMENU:=$(BLOCK_MENU) 550 TITLE:=Network block device support 551 KCONFIG:=CONFIG_BLK_DEV_NBD 552 FILES:=$(LINUX_DIR)/drivers/block/nbd.ko 553 AUTOLOAD:=$(call AutoLoad,30,nbd) 554endef 555 556define KernelPackage/nbd/description 557 Kernel module for network block device support 558endef 559 560$(eval $(call KernelPackage,nbd)) 561 562 563define KernelPackage/scsi-core 564 SUBMENU:=$(BLOCK_MENU) 565 TITLE:=SCSI device support 566 KCONFIG:= \ 567 CONFIG_SCSI \ 568 CONFIG_BLK_DEV_SD 569 FILES:= \ 570 $(if $(findstring y,$(CONFIG_SCSI)),,$(LINUX_DIR)/drivers/scsi/scsi_mod.ko) \ 571 $(LINUX_DIR)/drivers/scsi/sd_mod.ko 572 AUTOLOAD:=$(call AutoLoad,20,scsi_mod,1) $(call AutoLoad,40,sd_mod,1) 573endef 574 575$(eval $(call KernelPackage,scsi-core)) 576 577 578define KernelPackage/scsi-generic 579 SUBMENU:=$(BLOCK_MENU) 580 TITLE:=Kernel support for SCSI generic 581 DEPENDS:=+kmod-scsi-core 582 KCONFIG:= \ 583 CONFIG_CHR_DEV_SG 584 FILES:= \ 585 $(LINUX_DIR)/drivers/scsi/sg.ko 586 AUTOLOAD:=$(call AutoLoad,65,sg) 587endef 588 589$(eval $(call KernelPackage,scsi-generic)) 590 591 592define KernelPackage/scsi-cdrom 593 SUBMENU:=$(BLOCK_MENU) 594 TITLE:=Kernel support for CD / DVD drives 595 DEPENDS:=+kmod-scsi-core 596 KCONFIG:= \ 597 CONFIG_BLK_DEV_SR \ 598 CONFIG_BLK_DEV_SR_VENDOR=n 599 FILES:= \ 600 $(LINUX_DIR)/drivers/cdrom/cdrom.ko \ 601 $(LINUX_DIR)/drivers/scsi/sr_mod.ko 602 AUTOLOAD:=$(call AutoLoad,30,cdrom) $(call AutoLoad,45,sr_mod) 603endef 604 605$(eval $(call KernelPackage,scsi-cdrom)) 606 607