Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a7780c9 authored by Tejun Heo's avatar Tejun Heo Committed by Jeff Garzik
Browse files

libata-sff: make BMDMA optional



Make BMDMA optional depending on new config variable CONFIG_ATA_BMDMA.
In Kconfig, drivers are grouped into five groups - non-SFF native, SFF
w/ custom DMA interface, SFF w/ BMDMA, PIO-only SFF, and generic
fallback / legacy ones.  Kconfig and Makefile are reorganized
according to the groups and ordered alphabetically inside each group.

ata_ioports.bmdma_addr and ata_port.bmdma_prd[_dma] are put into
CONFIG_ATA_BMDMA, as are all bmdma related ops, variables and
functions.

This increase the binary size slightly when BMDMA is enabled but on
both native-only and PIO-only configurations the size is slightly
reduced.  Either way, the size difference is insignificant.  This
change is more meaningful to signify the separation between SFF and
BMDMA and as a tool to verify the separation.

Signed-off-by: default avatarTejun Heo <tj@kernel.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent d6b0de8c
Loading
Loading
Loading
Loading
+268 −243
Original line number Original line Diff line number Diff line
@@ -57,6 +57,8 @@ config SATA_PMP
	  This option adds support for SATA Port Multipliers
	  This option adds support for SATA Port Multipliers
	  (the SATA version of an ethernet hub, or SAS expander).
	  (the SATA version of an ethernet hub, or SAS expander).


comment "Controllers with non-SFF native interface"

config SATA_AHCI
config SATA_AHCI
	tristate "AHCI SATA support"
	tristate "AHCI SATA support"
	depends on PCI
	depends on PCI
@@ -73,11 +75,12 @@ config SATA_AHCI_PLATFORM


	  If unsure, say N.
	  If unsure, say N.


config SATA_SIL24
config SATA_FSL
	tristate "Silicon Image 3124/3132 SATA support"
	tristate "Freescale 3.0Gbps SATA support"
	depends on PCI
	depends on FSL_SOC
	help
	help
	  This option enables support for Silicon Image 3124/3132 Serial ATA.
	  This option enables support for Freescale 3.0Gbps SATA controller.
	  It can be found on MPC837x and MPC8315.


	  If unsure, say N.
	  If unsure, say N.


@@ -87,12 +90,11 @@ config SATA_INIC162X
	help
	help
	  This option enables support for Initio 162x Serial ATA.
	  This option enables support for Initio 162x Serial ATA.


config SATA_FSL
config SATA_SIL24
	tristate "Freescale 3.0Gbps SATA support"
	tristate "Silicon Image 3124/3132 SATA support"
	depends on FSL_SOC
	depends on PCI
	help
	help
	  This option enables support for Freescale 3.0Gbps SATA controller.
	  This option enables support for Silicon Image 3124/3132 Serial ATA.
	  It can be found on MPC837x and MPC8315.


	  If unsure, say N.
	  If unsure, say N.


@@ -116,15 +118,65 @@ config ATA_SFF


if ATA_SFF
if ATA_SFF


config SATA_SVW
comment "SFF controllers with custom DMA interface"
	tristate "ServerWorks Frodo / Apple K2 SATA support"

config PDC_ADMA
	tristate "Pacific Digital ADMA support"
	depends on PCI
	depends on PCI
	help
	help
	  This option enables support for Broadcom/Serverworks/Apple K2
	  This option enables support for Pacific Digital ADMA controllers
	  SATA support.

	  If unsure, say N.

config PATA_MPC52xx
	tristate "Freescale MPC52xx SoC internal IDE"
	depends on PPC_MPC52xx && PPC_BESTCOMM
	select PPC_BESTCOMM_ATA
	help
	  This option enables support for integrated IDE controller
	  of the Freescale MPC52xx SoC.

	  If unsure, say N.

config PATA_OCTEON_CF
	tristate "OCTEON Boot Bus Compact Flash support"
	depends on CPU_CAVIUM_OCTEON
	help
	  This option enables a polled compact flash driver for use with
	  compact flash cards attached to the OCTEON boot bus.

	  If unsure, say N.

config SATA_QSTOR
	tristate "Pacific Digital SATA QStor support"
	depends on PCI
	help
	  This option enables support for Pacific Digital Serial ATA QStor.

	  If unsure, say N.

config SATA_SX4
	tristate "Promise SATA SX4 support (Experimental)"
	depends on PCI && EXPERIMENTAL
	help
	  This option enables support for Promise Serial ATA SX4.


	  If unsure, say N.
	  If unsure, say N.


config ATA_BMDMA
	bool "ATA BMDMA support"
	default y
	help
	  This option adds support for SFF ATA controllers with BMDMA
	  capability.  BMDMA stands for bus-master DMA and the
	  de-facto DMA interface for SFF controllers.

	  If unuser, say Y.

if ATA_BMDMA

comment "SATA SFF controllers with BMDMA"

config ATA_PIIX
config ATA_PIIX
	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
	tristate "Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support"
	depends on PCI
	depends on PCI
@@ -152,22 +204,6 @@ config SATA_NV


	  If unsure, say N.
	  If unsure, say N.


config PDC_ADMA
	tristate "Pacific Digital ADMA support"
	depends on PCI
	help
	  This option enables support for Pacific Digital ADMA controllers

	  If unsure, say N.

config SATA_QSTOR
	tristate "Pacific Digital SATA QStor support"
	depends on PCI
	help
	  This option enables support for Pacific Digital Serial ATA QStor.

	  If unsure, say N.

config SATA_PROMISE
config SATA_PROMISE
	tristate "Promise SATA TX2/TX4 support"
	tristate "Promise SATA TX2/TX4 support"
	depends on PCI
	depends on PCI
@@ -176,14 +212,6 @@ config SATA_PROMISE


	  If unsure, say N.
	  If unsure, say N.


config SATA_SX4
	tristate "Promise SATA SX4 support (Experimental)"
	depends on PCI && EXPERIMENTAL
	help
	  This option enables support for Promise Serial ATA SX4.

	  If unsure, say N.

config SATA_SIL
config SATA_SIL
	tristate "Silicon Image SATA support"
	tristate "Silicon Image SATA support"
	depends on PCI
	depends on PCI
@@ -203,6 +231,15 @@ config SATA_SIS
	  enable the PATA_SIS driver in the config.
	  enable the PATA_SIS driver in the config.
	  If unsure, say N.
	  If unsure, say N.


config SATA_SVW
	tristate "ServerWorks Frodo / Apple K2 SATA support"
	depends on PCI
	help
	  This option enables support for Broadcom/Serverworks/Apple K2
	  SATA support.

	  If unsure, say N.

config SATA_ULI
config SATA_ULI
	tristate "ULi Electronics SATA support"
	tristate "ULi Electronics SATA support"
	depends on PCI
	depends on PCI
@@ -227,14 +264,7 @@ config SATA_VITESSE


	  If unsure, say N.
	  If unsure, say N.


config PATA_ACPI
comment "PATA SFF controllers with BMDMA"
	tristate "ACPI firmware driver for PATA"
	depends on ATA_ACPI
	help
	  This option enables an ACPI method driver which drives
	  motherboard PATA controller interfaces through the ACPI
	  firmware in the BIOS. This driver can sometimes handle
	  otherwise unsupported hardware.


config PATA_ALI
config PATA_ALI
	tristate "ALi PATA support"
	tristate "ALi PATA support"
@@ -262,40 +292,30 @@ config PATA_ARTOP


	  If unsure, say N.
	  If unsure, say N.


config PATA_ATP867X
config PATA_ATIIXP
	tristate "ARTOP/Acard ATP867X PATA support"
	tristate "ATI PATA support"
	depends on PCI
	depends on PCI
	help
	help
	  This option enables support for ARTOP/Acard ATP867X PATA
	  This option enables support for the ATI ATA interfaces
	  controllers.
	  found on the many ATI chipsets.

	  If unsure, say N.

config PATA_AT32
	tristate "Atmel AVR32 PATA support (Experimental)"
	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
	help
	  This option enables support for the IDE devices on the
	  Atmel AT32AP platform.


	  If unsure, say N.
	  If unsure, say N.


config PATA_ATIIXP
config PATA_ATP867X
	tristate "ATI PATA support"
	tristate "ARTOP/Acard ATP867X PATA support"
	depends on PCI
	depends on PCI
	help
	help
	  This option enables support for the ATI ATA interfaces
	  This option enables support for ARTOP/Acard ATP867X PATA
	  found on the many ATI chipsets.
	  controllers.


	  If unsure, say N.
	  If unsure, say N.


config PATA_CMD640_PCI
config PATA_BF54X
	tristate "CMD640 PCI PATA support (Experimental)"
	tristate "Blackfin 54x ATAPI support"
	depends on PCI && EXPERIMENTAL
	depends on BF542 || BF548 || BF549
	help
	help
	  This option enables support for the CMD640 PCI IDE
	  This option enables support for the built-in ATAPI controller on
	  interface chip. Only the primary channel is currently
	  Blackfin 54x family chips.
	  supported.


	  If unsure, say N.
	  If unsure, say N.


@@ -362,15 +382,6 @@ config PATA_EFAR


	  If unsure, say N.
	  If unsure, say N.


config ATA_GENERIC
	tristate "Generic ATA support"
	depends on PCI
	help
	  This option enables support for generic BIOS configured
	  ATA controllers via the new ATA layer

	  If unsure, say N.

config PATA_HPT366
config PATA_HPT366
	tristate "HPT 366/368 PATA support"
	tristate "HPT 366/368 PATA support"
	depends on PCI
	depends on PCI
@@ -415,12 +426,20 @@ config PATA_HPT3X3_DMA
	  controllers. Enable with care as there are still some
	  controllers. Enable with care as there are still some
	  problems with DMA on this chipset.
	  problems with DMA on this chipset.


config PATA_ISAPNP
config PATA_ICSIDE
	tristate "ISA Plug and Play PATA support"
	tristate "Acorn ICS PATA support"
	depends on ISAPNP
	depends on ARM && ARCH_ACORN
	help
	help
	  This option enables support for ISA plug & play ATA
	  On Acorn systems, say Y here if you wish to use the ICS PATA
	  controllers such as those found on old soundcards.
	  interface card.  This is not required for ICS partition support.
	  If you are unsure, say N to this.

config PATA_IT8213
	tristate "IT8213 PATA support (Experimental)"
	depends on PCI && EXPERIMENTAL
	help
	  This option enables support for the ITE 821 PATA
          controllers via the new ATA layer.


	  If unsure, say N.
	  If unsure, say N.


@@ -434,15 +453,6 @@ config PATA_IT821X


	  If unsure, say N.
	  If unsure, say N.


config PATA_IT8213
	tristate "IT8213 PATA support (Experimental)"
	depends on PCI && EXPERIMENTAL
	help
	  This option enables support for the ITE 821 PATA
          controllers via the new ATA layer.

	  If unsure, say N.

config PATA_JMICRON
config PATA_JMICRON
	tristate "JMicron PATA support"
	tristate "JMicron PATA support"
	depends on PCI
	depends on PCI
@@ -452,23 +462,14 @@ config PATA_JMICRON


	  If unsure, say N.
	  If unsure, say N.


config PATA_LEGACY
config PATA_MACIO
	tristate "Legacy ISA PATA support (Experimental)"
	tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
	depends on (ISA || PCI)  && EXPERIMENTAL
	depends on PPC_PMAC
	help
	  This option enables support for ISA/VLB/PCI bus legacy PATA
	  ports and allows them to be accessed via the new ATA layer.

	  If unsure, say N.

config PATA_TRIFLEX
	tristate "Compaq Triflex PATA support"
	depends on PCI
	help
	help
	  Enable support for the Compaq 'Triflex' IDE controller as found
	  Most IDE capable PowerMacs have IDE busses driven by a variant
	  on many Compaq Pentium-Pro systems, via the new ATA layer.
          of this controller which is part of the Apple chipset used on

          most PowerMac models. Some models have multiple busses using
	  If unsure, say N.
          different chipsets, though generally, MacIO is one of them.


config PATA_MARVELL
config PATA_MARVELL
	tristate "Marvell PATA support via legacy mode"
	tristate "Marvell PATA support via legacy mode"
@@ -481,32 +482,6 @@ config PATA_MARVELL


	  If unsure, say N.
	  If unsure, say N.


config PATA_MPC52xx
	tristate "Freescale MPC52xx SoC internal IDE"
	depends on PPC_MPC52xx && PPC_BESTCOMM
	select PPC_BESTCOMM_ATA
	help
	  This option enables support for integrated IDE controller
	  of the Freescale MPC52xx SoC.

	  If unsure, say N.

config PATA_MPIIX
	tristate "Intel PATA MPIIX support"
	depends on PCI
	help
	  This option enables support for MPIIX PATA support.

	  If unsure, say N.

config PATA_OLDPIIX
	tristate "Intel PATA old PIIX support"
	depends on PCI
	help
	  This option enables support for early PIIX PATA support.

	  If unsure, say N.

config PATA_NETCELL
config PATA_NETCELL
	tristate "NETCELL Revolution RAID support"
	tristate "NETCELL Revolution RAID support"
	depends on PCI
	depends on PCI
@@ -525,15 +500,6 @@ config PATA_NINJA32


	  If unsure, say N.
	  If unsure, say N.


config PATA_NS87410
	tristate "Nat Semi NS87410 PATA support"
	depends on PCI
	help
	  This option enables support for the National Semiconductor
	  NS87410 PCI-IDE controller.

	  If unsure, say N.

config PATA_NS87415
config PATA_NS87415
	tristate "Nat Semi NS87415 PATA support"
	tristate "Nat Semi NS87415 PATA support"
	depends on PCI
	depends on PCI
@@ -543,12 +509,11 @@ config PATA_NS87415


	  If unsure, say N.
	  If unsure, say N.


config PATA_OPTI
config PATA_OLDPIIX
	tristate "OPTI621/6215 PATA support (Very Experimental)"
	tristate "Intel PATA old PIIX support"
	depends on PCI && EXPERIMENTAL
	depends on PCI
	help
	help
	  This option enables full PIO support for the early Opti ATA
	  This option enables support for early PIIX PATA support.
	  controllers found on some old motherboards.


	  If unsure, say N.
	  If unsure, say N.


@@ -562,24 +527,6 @@ config PATA_OPTIDMA


	  If unsure, say N.
	  If unsure, say N.


config PATA_PALMLD
	tristate "Palm LifeDrive PATA support"
	depends on MACH_PALMLD
	help
	  This option enables support for Palm LifeDrive's internal ATA
	  port via the new ATA layer.

	  If unsure, say N.

config PATA_PCMCIA
	tristate "PCMCIA PATA support"
	depends on PCMCIA
	help
	  This option enables support for PCMCIA ATA interfaces, including
	  compact flash card adapters via the new ATA layer.

	  If unsure, say N.

config PATA_PDC2027X
config PATA_PDC2027X
	tristate "Promise PATA 2027x support"
	tristate "Promise PATA 2027x support"
	depends on PCI
	depends on PCI
@@ -597,12 +544,6 @@ config PATA_PDC_OLD


	  If unsure, say N.
	  If unsure, say N.


config PATA_QDI
	tristate "QDI VLB PATA support"
	depends on ISA
	help
	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.

config PATA_RADISYS
config PATA_RADISYS
	tristate "RADISYS 82600 PATA support (Experimental)"
	tristate "RADISYS 82600 PATA support (Experimental)"
	depends on PCI && EXPERIMENTAL
	depends on PCI && EXPERIMENTAL
@@ -612,15 +553,6 @@ config PATA_RADISYS


	  If unsure, say N.
	  If unsure, say N.


config PATA_RB532
	tristate "RouterBoard 532 PATA CompactFlash support"
	depends on MIKROTIK_RB532
	help
	  This option enables support for the RouterBoard 532
	  PATA CompactFlash controller.

	  If unsure, say N.

config PATA_RDC
config PATA_RDC
	tristate "RDC PATA support"
	tristate "RDC PATA support"
	depends on PCI
	depends on PCI
@@ -631,21 +563,30 @@ config PATA_RDC


	  If unsure, say N.
	  If unsure, say N.


config PATA_RZ1000
config PATA_SC1200
	tristate "PC Tech RZ1000 PATA support"
	tristate "SC1200 PATA support"
	depends on PCI
	depends on PCI
	help
	help
	  This option enables basic support for the PC Tech RZ1000/1
	  This option enables support for the NatSemi/AMD SC1200 SoC
	  PATA controllers via the new ATA layer
	  companion chip used with the Geode processor family.


	  If unsure, say N.
	  If unsure, say N.


config PATA_SC1200
config PATA_SCC
	tristate "SC1200 PATA support"
	tristate "Toshiba's Cell Reference Set IDE support"
	depends on PCI && PPC_CELLEB
	help
	  This option enables support for the built-in IDE controller on
	  Toshiba Cell Reference Board.

	  If unsure, say N.

config PATA_SCH
	tristate "Intel SCH PATA support"
	depends on PCI
	depends on PCI
	help
	help
	  This option enables support for the NatSemi/AMD SC1200 SoC
	  This option enables support for Intel SCH PATA on the Intel
	  companion chip used with the Geode processor family.
	  SCH (US15W, US15L, UL11L) series host controllers.


	  If unsure, say N.
	  If unsure, say N.


@@ -683,6 +624,15 @@ config PATA_TOSHIBA


	  If unsure, say N.
	  If unsure, say N.


config PATA_TRIFLEX
	tristate "Compaq Triflex PATA support"
	depends on PCI
	help
	  Enable support for the Compaq 'Triflex' IDE controller as found
	  on many Compaq Pentium-Pro systems, via the new ATA layer.

	  If unsure, say N.

config PATA_VIA
config PATA_VIA
	tristate "VIA PATA support"
	tristate "VIA PATA support"
	depends on PCI
	depends on PCI
@@ -701,12 +651,99 @@ config PATA_WINBOND


	  If unsure, say N.
	  If unsure, say N.


config PATA_WINBOND_VLB
endif # ATA_BMDMA
	tristate "Winbond W83759A VLB PATA support (Experimental)"

	depends on ISA && EXPERIMENTAL
comment "PIO-only SFF controllers"

config PATA_AT32
	tristate "Atmel AVR32 PATA support (Experimental)"
	depends on AVR32 && PLATFORM_AT32AP && EXPERIMENTAL
	help
	help
	  Support for the Winbond W83759A controller on Vesa Local Bus
	  This option enables support for the IDE devices on the
	  systems.
	  Atmel AT32AP platform.

	  If unsure, say N.

config PATA_AT91
	tristate "PATA support for AT91SAM9260"
	depends on ARM && ARCH_AT91
	help
	  This option enables support for IDE devices on the Atmel AT91SAM9260 SoC.

	  If unsure, say N.

config PATA_CMD640_PCI
	tristate "CMD640 PCI PATA support (Experimental)"
	depends on PCI && EXPERIMENTAL
	help
	  This option enables support for the CMD640 PCI IDE
	  interface chip. Only the primary channel is currently
	  supported.

	  If unsure, say N.

config PATA_ISAPNP
	tristate "ISA Plug and Play PATA support"
	depends on ISAPNP
	help
	  This option enables support for ISA plug & play ATA
	  controllers such as those found on old soundcards.

	  If unsure, say N.

config PATA_IXP4XX_CF
	tristate "IXP4XX Compact Flash support"
	depends on ARCH_IXP4XX
	help
	  This option enables support for a Compact Flash connected on
	  the ixp4xx expansion bus. This driver had been written for
	  Loft/Avila boards in mind but can work with others.

	  If unsure, say N.

config PATA_MPIIX
	tristate "Intel PATA MPIIX support"
	depends on PCI
	help
	  This option enables support for MPIIX PATA support.

	  If unsure, say N.

config PATA_NS87410
	tristate "Nat Semi NS87410 PATA support"
	depends on PCI
	help
	  This option enables support for the National Semiconductor
	  NS87410 PCI-IDE controller.

	  If unsure, say N.

config PATA_OPTI
	tristate "OPTI621/6215 PATA support (Very Experimental)"
	depends on PCI && EXPERIMENTAL
	help
	  This option enables full PIO support for the early Opti ATA
	  controllers found on some old motherboards.

	  If unsure, say N.

config PATA_PALMLD
	tristate "Palm LifeDrive PATA support"
	depends on MACH_PALMLD
	help
	  This option enables support for Palm LifeDrive's internal ATA
	  port via the new ATA layer.

	  If unsure, say N.

config PATA_PCMCIA
	tristate "PCMCIA PATA support"
	depends on PCMCIA
	help
	  This option enables support for PCMCIA ATA interfaces, including
	  compact flash card adapters via the new ATA layer.

	  If unsure, say N.


config HAVE_PATA_PLATFORM
config HAVE_PATA_PLATFORM
	bool
	bool
@@ -725,14 +762,6 @@ config PATA_PLATFORM


	  If unsure, say N.
	  If unsure, say N.


config PATA_AT91
	tristate "PATA support for AT91SAM9260"
	depends on ARM && ARCH_AT91
	help
	  This option enables support for IDE devices on the Atmel AT91SAM9260 SoC.

	  If unsure, say N.

config PATA_OF_PLATFORM
config PATA_OF_PLATFORM
	tristate "OpenFirmware platform device PATA support"
	tristate "OpenFirmware platform device PATA support"
	depends on PATA_PLATFORM && PPC_OF
	depends on PATA_PLATFORM && PPC_OF
@@ -743,69 +772,65 @@ config PATA_OF_PLATFORM


	  If unsure, say N.
	  If unsure, say N.


config PATA_ICSIDE
config PATA_QDI
	tristate "Acorn ICS PATA support"
	tristate "QDI VLB PATA support"
	depends on ARM && ARCH_ACORN
	depends on ISA
	help
	help
	  On Acorn systems, say Y here if you wish to use the ICS PATA
	  Support for QDI 6500 and 6580 PATA controllers on VESA local bus.
	  interface card.  This is not required for ICS partition support.
	  If you are unsure, say N to this.


config PATA_IXP4XX_CF
config PATA_RB532
	tristate "IXP4XX Compact Flash support"
	tristate "RouterBoard 532 PATA CompactFlash support"
	depends on ARCH_IXP4XX
	depends on MIKROTIK_RB532
	help
	help
	  This option enables support for a Compact Flash connected on
	  This option enables support for the RouterBoard 532
	  the ixp4xx expansion bus. This driver had been written for
	  PATA CompactFlash controller.
	  Loft/Avila boards in mind but can work with others.


	  If unsure, say N.
	  If unsure, say N.


config PATA_OCTEON_CF
config PATA_RZ1000
	tristate "OCTEON Boot Bus Compact Flash support"
	tristate "PC Tech RZ1000 PATA support"
	depends on CPU_CAVIUM_OCTEON
	depends on PCI
	help
	help
	  This option enables a polled compact flash driver for use with
	  This option enables basic support for the PC Tech RZ1000/1
	  compact flash cards attached to the OCTEON boot bus.
	  PATA controllers via the new ATA layer


	  If unsure, say N.
	  If unsure, say N.


config PATA_SCC
config PATA_WINBOND_VLB
	tristate "Toshiba's Cell Reference Set IDE support"
	tristate "Winbond W83759A VLB PATA support (Experimental)"
	depends on PCI && PPC_CELLEB
	depends on ISA && EXPERIMENTAL
	help
	help
	  This option enables support for the built-in IDE controller on
	  Support for the Winbond W83759A controller on Vesa Local Bus
	  Toshiba Cell Reference Board.
	  systems.


	  If unsure, say N.
comment "Generic fallback / legacy drivers"


config PATA_SCH
config PATA_ACPI
	tristate "Intel SCH PATA support"
	tristate "ACPI firmware driver for PATA"
	depends on PCI
	depends on ATA_ACPI && ATA_BMDMA
	help
	help
	  This option enables support for Intel SCH PATA on the Intel
	  This option enables an ACPI method driver which drives
	  SCH (US15W, US15L, UL11L) series host controllers.
	  motherboard PATA controller interfaces through the ACPI

	  firmware in the BIOS. This driver can sometimes handle
	  If unsure, say N.
	  otherwise unsupported hardware.


config PATA_BF54X
config ATA_GENERIC
	tristate "Blackfin 54x ATAPI support"
	tristate "Generic ATA support"
	depends on BF542 || BF548 || BF549
	depends on PCI && ATA_BMDMA
	help
	help
	  This option enables support for the built-in ATAPI controller on
	  This option enables support for generic BIOS configured
	  Blackfin 54x family chips.
	  ATA controllers via the new ATA layer


	  If unsure, say N.
	  If unsure, say N.


config PATA_MACIO
config PATA_LEGACY
	tristate "Apple PowerMac/PowerBook internal 'MacIO' IDE"
	tristate "Legacy ISA PATA support (Experimental)"
	depends on PPC_PMAC
	depends on (ISA || PCI) && EXPERIMENTAL
	help
	help
	  Most IDE capable PowerMacs have IDE busses driven by a variant
	  This option enables support for ISA/VLB/PCI bus legacy PATA
          of this controller which is part of the Apple chipset used on
	  ports and allows them to be accessed via the new ATA layer.
          most PowerMac models. Some models have multiple busses using
          different chipsets, though generally, MacIO is one of them.


	  If unsure, say N.


endif # ATA_SFF
endif # ATA_SFF
endif # ATA
endif # ATA
+46 −37
Original line number Original line Diff line number Diff line


obj-$(CONFIG_ATA)		+= libata.o
obj-$(CONFIG_ATA)		+= libata.o


# non-SFF interface
obj-$(CONFIG_SATA_AHCI)		+= ahci.o libahci.o
obj-$(CONFIG_SATA_AHCI)		+= ahci.o libahci.o
obj-$(CONFIG_SATA_AHCI_PLATFORM) += ahci_platform.o libahci.o
obj-$(CONFIG_SATA_AHCI_PLATFORM) += ahci_platform.o libahci.o
obj-$(CONFIG_SATA_SVW)		+= sata_svw.o
obj-$(CONFIG_SATA_FSL)		+= sata_fsl.o
obj-$(CONFIG_SATA_INIC162X)	+= sata_inic162x.o
obj-$(CONFIG_SATA_SIL24)	+= sata_sil24.o

# SFF w/ custom DMA
obj-$(CONFIG_PDC_ADMA)		+= pdc_adma.o
obj-$(CONFIG_PATA_MPC52xx)	+= pata_mpc52xx.o
obj-$(CONFIG_PATA_OCTEON_CF)	+= pata_octeon_cf.o
obj-$(CONFIG_SATA_QSTOR)	+= sata_qstor.o
obj-$(CONFIG_SATA_SX4)		+= sata_sx4.o

# SFF SATA w/ BMDMA
obj-$(CONFIG_ATA_PIIX)		+= ata_piix.o
obj-$(CONFIG_ATA_PIIX)		+= ata_piix.o
obj-$(CONFIG_SATA_MV)		+= sata_mv.o
obj-$(CONFIG_SATA_NV)		+= sata_nv.o
obj-$(CONFIG_SATA_PROMISE)	+= sata_promise.o
obj-$(CONFIG_SATA_PROMISE)	+= sata_promise.o
obj-$(CONFIG_SATA_QSTOR)	+= sata_qstor.o
obj-$(CONFIG_SATA_SIL)		+= sata_sil.o
obj-$(CONFIG_SATA_SIL)		+= sata_sil.o
obj-$(CONFIG_SATA_SIL24)	+= sata_sil24.o
obj-$(CONFIG_SATA_VIA)		+= sata_via.o
obj-$(CONFIG_SATA_VITESSE)	+= sata_vsc.o
obj-$(CONFIG_SATA_SIS)		+= sata_sis.o
obj-$(CONFIG_SATA_SIS)		+= sata_sis.o
obj-$(CONFIG_SATA_SX4)		+= sata_sx4.o
obj-$(CONFIG_SATA_SVW)		+= sata_svw.o
obj-$(CONFIG_SATA_NV)		+= sata_nv.o
obj-$(CONFIG_SATA_ULI)		+= sata_uli.o
obj-$(CONFIG_SATA_ULI)		+= sata_uli.o
obj-$(CONFIG_SATA_MV)		+= sata_mv.o
obj-$(CONFIG_SATA_VIA)		+= sata_via.o
obj-$(CONFIG_SATA_INIC162X)	+= sata_inic162x.o
obj-$(CONFIG_SATA_VITESSE)	+= sata_vsc.o
obj-$(CONFIG_PDC_ADMA)		+= pdc_adma.o
obj-$(CONFIG_SATA_FSL)		+= sata_fsl.o
obj-$(CONFIG_PATA_MACIO)	+= pata_macio.o


# SFF PATA w/ BMDMA
obj-$(CONFIG_PATA_ALI)		+= pata_ali.o
obj-$(CONFIG_PATA_ALI)		+= pata_ali.o
obj-$(CONFIG_PATA_AMD)		+= pata_amd.o
obj-$(CONFIG_PATA_AMD)		+= pata_amd.o
obj-$(CONFIG_PATA_ARTOP)	+= pata_artop.o
obj-$(CONFIG_PATA_ARTOP)	+= pata_artop.o
obj-$(CONFIG_PATA_ATP867X)	+= pata_atp867x.o
obj-$(CONFIG_PATA_AT32)		+= pata_at32.o
obj-$(CONFIG_PATA_ATIIXP)	+= pata_atiixp.o
obj-$(CONFIG_PATA_ATIIXP)	+= pata_atiixp.o
obj-$(CONFIG_PATA_CMD640_PCI)	+= pata_cmd640.o
obj-$(CONFIG_PATA_ATP867X)	+= pata_atp867x.o
obj-$(CONFIG_PATA_BF54X)	+= pata_bf54x.o
obj-$(CONFIG_PATA_CMD64X)	+= pata_cmd64x.o
obj-$(CONFIG_PATA_CMD64X)	+= pata_cmd64x.o
obj-$(CONFIG_PATA_CS5520)	+= pata_cs5520.o
obj-$(CONFIG_PATA_CS5520)	+= pata_cs5520.o
obj-$(CONFIG_PATA_CS5530)	+= pata_cs5530.o
obj-$(CONFIG_PATA_CS5530)	+= pata_cs5530.o
@@ -39,47 +45,50 @@ obj-$(CONFIG_PATA_HPT366) += pata_hpt366.o
obj-$(CONFIG_PATA_HPT37X)	+= pata_hpt37x.o
obj-$(CONFIG_PATA_HPT37X)	+= pata_hpt37x.o
obj-$(CONFIG_PATA_HPT3X2N)	+= pata_hpt3x2n.o
obj-$(CONFIG_PATA_HPT3X2N)	+= pata_hpt3x2n.o
obj-$(CONFIG_PATA_HPT3X3)	+= pata_hpt3x3.o
obj-$(CONFIG_PATA_HPT3X3)	+= pata_hpt3x3.o
obj-$(CONFIG_PATA_ISAPNP)	+= pata_isapnp.o
obj-$(CONFIG_PATA_ICSIDE)	+= pata_icside.o
obj-$(CONFIG_PATA_IT821X)	+= pata_it821x.o
obj-$(CONFIG_PATA_IT8213)	+= pata_it8213.o
obj-$(CONFIG_PATA_IT8213)	+= pata_it8213.o
obj-$(CONFIG_PATA_IT821X)	+= pata_it821x.o
obj-$(CONFIG_PATA_JMICRON)	+= pata_jmicron.o
obj-$(CONFIG_PATA_JMICRON)	+= pata_jmicron.o
obj-$(CONFIG_PATA_MACIO)	+= pata_macio.o
obj-$(CONFIG_PATA_MARVELL)	+= pata_marvell.o
obj-$(CONFIG_PATA_NETCELL)	+= pata_netcell.o
obj-$(CONFIG_PATA_NETCELL)	+= pata_netcell.o
obj-$(CONFIG_PATA_NINJA32)	+= pata_ninja32.o
obj-$(CONFIG_PATA_NINJA32)	+= pata_ninja32.o
obj-$(CONFIG_PATA_NS87410)	+= pata_ns87410.o
obj-$(CONFIG_PATA_NS87415)	+= pata_ns87415.o
obj-$(CONFIG_PATA_NS87415)	+= pata_ns87415.o
obj-$(CONFIG_PATA_OPTI)		+= pata_opti.o
obj-$(CONFIG_PATA_OPTIDMA)	+= pata_optidma.o
obj-$(CONFIG_PATA_MPC52xx)	+= pata_mpc52xx.o
obj-$(CONFIG_PATA_MARVELL)	+= pata_marvell.o
obj-$(CONFIG_PATA_MPIIX)	+= pata_mpiix.o
obj-$(CONFIG_PATA_OLDPIIX)	+= pata_oldpiix.o
obj-$(CONFIG_PATA_OLDPIIX)	+= pata_oldpiix.o
obj-$(CONFIG_PATA_PALMLD)	+= pata_palmld.o
obj-$(CONFIG_PATA_OPTIDMA)	+= pata_optidma.o
obj-$(CONFIG_PATA_PCMCIA)	+= pata_pcmcia.o
obj-$(CONFIG_PATA_PDC2027X)	+= pata_pdc2027x.o
obj-$(CONFIG_PATA_PDC2027X)	+= pata_pdc2027x.o
obj-$(CONFIG_PATA_PDC_OLD)	+= pata_pdc202xx_old.o
obj-$(CONFIG_PATA_PDC_OLD)	+= pata_pdc202xx_old.o
obj-$(CONFIG_PATA_QDI)		+= pata_qdi.o
obj-$(CONFIG_PATA_RADISYS)	+= pata_radisys.o
obj-$(CONFIG_PATA_RADISYS)	+= pata_radisys.o
obj-$(CONFIG_PATA_RB532)	+= pata_rb532_cf.o
obj-$(CONFIG_PATA_RDC)		+= pata_rdc.o
obj-$(CONFIG_PATA_RDC)		+= pata_rdc.o
obj-$(CONFIG_PATA_RZ1000)	+= pata_rz1000.o
obj-$(CONFIG_PATA_SC1200)	+= pata_sc1200.o
obj-$(CONFIG_PATA_SC1200)	+= pata_sc1200.o
obj-$(CONFIG_PATA_SCC)		+= pata_scc.o
obj-$(CONFIG_PATA_SCH)		+= pata_sch.o
obj-$(CONFIG_PATA_SERVERWORKS)	+= pata_serverworks.o
obj-$(CONFIG_PATA_SERVERWORKS)	+= pata_serverworks.o
obj-$(CONFIG_PATA_SIL680)	+= pata_sil680.o
obj-$(CONFIG_PATA_SIL680)	+= pata_sil680.o
obj-$(CONFIG_PATA_SIS)		+= pata_sis.o
obj-$(CONFIG_PATA_TOSHIBA)	+= pata_piccolo.o
obj-$(CONFIG_PATA_TOSHIBA)	+= pata_piccolo.o
obj-$(CONFIG_PATA_TRIFLEX)	+= pata_triflex.o
obj-$(CONFIG_PATA_VIA)		+= pata_via.o
obj-$(CONFIG_PATA_VIA)		+= pata_via.o
obj-$(CONFIG_PATA_WINBOND)	+= pata_sl82c105.o
obj-$(CONFIG_PATA_WINBOND)	+= pata_sl82c105.o
obj-$(CONFIG_PATA_WINBOND_VLB)	+= pata_winbond.o

obj-$(CONFIG_PATA_SIS)		+= pata_sis.o
# SFF PIO only
obj-$(CONFIG_PATA_TRIFLEX)	+= pata_triflex.o
obj-$(CONFIG_PATA_AT32)		+= pata_at32.o
obj-$(CONFIG_PATA_AT91)		+= pata_at91.o
obj-$(CONFIG_PATA_CMD640_PCI)	+= pata_cmd640.o
obj-$(CONFIG_PATA_ISAPNP)	+= pata_isapnp.o
obj-$(CONFIG_PATA_IXP4XX_CF)	+= pata_ixp4xx_cf.o
obj-$(CONFIG_PATA_IXP4XX_CF)	+= pata_ixp4xx_cf.o
obj-$(CONFIG_PATA_SCC)		+= pata_scc.o
obj-$(CONFIG_PATA_MPIIX)	+= pata_mpiix.o
obj-$(CONFIG_PATA_SCH)		+= pata_sch.o
obj-$(CONFIG_PATA_NS87410)	+= pata_ns87410.o
obj-$(CONFIG_PATA_BF54X)	+= pata_bf54x.o
obj-$(CONFIG_PATA_OPTI)		+= pata_opti.o
obj-$(CONFIG_PATA_OCTEON_CF)	+= pata_octeon_cf.o
obj-$(CONFIG_PATA_PCMCIA)	+= pata_pcmcia.o
obj-$(CONFIG_PATA_PALMLD)	+= pata_palmld.o
obj-$(CONFIG_PATA_PLATFORM)	+= pata_platform.o
obj-$(CONFIG_PATA_PLATFORM)	+= pata_platform.o
obj-$(CONFIG_PATA_AT91)	+= pata_at91.o
obj-$(CONFIG_PATA_OF_PLATFORM)	+= pata_of_platform.o
obj-$(CONFIG_PATA_OF_PLATFORM)	+= pata_of_platform.o
obj-$(CONFIG_PATA_ICSIDE)	+= pata_icside.o
obj-$(CONFIG_PATA_QDI)		+= pata_qdi.o
obj-$(CONFIG_PATA_RB532)	+= pata_rb532_cf.o
obj-$(CONFIG_PATA_RZ1000)	+= pata_rz1000.o
obj-$(CONFIG_PATA_WINBOND_VLB)	+= pata_winbond.o

# Should be last but two libata driver
# Should be last but two libata driver
obj-$(CONFIG_PATA_ACPI)		+= pata_acpi.o
obj-$(CONFIG_PATA_ACPI)		+= pata_acpi.o
# Should be last but one libata driver
# Should be last but one libata driver
+11 −0
Original line number Original line Diff line number Diff line
@@ -798,11 +798,15 @@ static void atapi_send_cdb(struct ata_port *ap, struct ata_queued_cmd *qc)
	case ATAPI_PROT_NODATA:
	case ATAPI_PROT_NODATA:
		ap->hsm_task_state = HSM_ST_LAST;
		ap->hsm_task_state = HSM_ST_LAST;
		break;
		break;
#ifdef CONFIG_ATA_BMDMA
	case ATAPI_PROT_DMA:
	case ATAPI_PROT_DMA:
		ap->hsm_task_state = HSM_ST_LAST;
		ap->hsm_task_state = HSM_ST_LAST;
		/* initiate bmdma */
		/* initiate bmdma */
		ap->ops->bmdma_start(qc);
		ap->ops->bmdma_start(qc);
		break;
		break;
#endif /* CONFIG_ATA_BMDMA */
	default:
		BUG();
	}
	}
}
}


@@ -2535,6 +2539,12 @@ EXPORT_SYMBOL_GPL(ata_pci_sff_init_one);


#endif /* CONFIG_PCI */
#endif /* CONFIG_PCI */


/*
 *	BMDMA support
 */

#ifdef CONFIG_ATA_BMDMA

const struct ata_port_operations ata_bmdma_port_ops = {
const struct ata_port_operations ata_bmdma_port_ops = {
	.inherits		= &ata_sff_port_ops,
	.inherits		= &ata_sff_port_ops,


@@ -3287,6 +3297,7 @@ int ata_pci_bmdma_init_one(struct pci_dev *pdev,
EXPORT_SYMBOL_GPL(ata_pci_bmdma_init_one);
EXPORT_SYMBOL_GPL(ata_pci_bmdma_init_one);


#endif /* CONFIG_PCI */
#endif /* CONFIG_PCI */
#endif /* CONFIG_ATA_BMDMA */


/**
/**
 *	ata_sff_port_init - Initialize SFF/BMDMA ATA port
 *	ata_sff_port_init - Initialize SFF/BMDMA ATA port
+16 −6

File changed.

Preview size limit exceeded, changes collapsed.