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

Commit 1c7c2cde authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (63 commits)
  ide: remove REQ_TYPE_ATA_CMD
  ide: switch ide_cmd_ioctl() to use REQ_TYPE_ATA_TASKFILE requests
  ide: switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests
  ide: fix final status check in drive_cmd_intr()
  ide: check BUSY and ERROR status bits before reading data in drive_cmd_intr()
  ide: don't enable local IRQs for PIO-in in driver_cmd_intr() (take 2)
  ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILE
  ide: initialize rq->cmd_type in ide_init_drive_cmd() callers
  ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2)
  ide: kill DATA_READY define
  ide: task_end_request() fix
  ide: use rq->nr_sectors in task_end_request()
  ide: remove needless ->cursg clearing from task_end_request()
  ide: set IDE_TFLAG_IN_* flags before queuing/executing command
  ide-tape: fix handling of non-special requests in ->end_request method
  ide: fix final status check in task_in_intr()
  ide: clear HOB bit for REQ_TYPE_ATA_CMD requests in ide_end_drive_cmd()
  ide: fix ->io_32bit race in ide_taskfile_ioctl()
  cmd64x: remove /proc/ide/cmd64x
  ide: remove broken disk byte-swapping support
  ...
parents 0444fa78 7267c337
Loading
Loading
Loading
Loading
+5 −8
Original line number Original line Diff line number Diff line
@@ -30,7 +30,7 @@
***
***
***  The CMD640 is also used on some Vesa Local Bus (VLB) cards, and is *NOT*
***  The CMD640 is also used on some Vesa Local Bus (VLB) cards, and is *NOT*
***  automatically detected by Linux.  For safe, reliable operation with such
***  automatically detected by Linux.  For safe, reliable operation with such
***  interfaces, one *MUST* use the "ide0=cmd640_vlb" kernel option.
***  interfaces, one *MUST* use the "cmd640.probe_vlb" kernel option.
***
***
***  Use of the "serialize" option is no longer necessary.
***  Use of the "serialize" option is no longer necessary.


@@ -244,10 +244,6 @@ Summary of ide driver parameters for kernel command line


 "hdx=nodma"		: disallow DMA
 "hdx=nodma"		: disallow DMA


 "hdx=swapdata"		: when the drive is a disk, byte swap all data

 "hdx=bswap"		: same as above..........

 "hdx=scsi"		: the return of the ide-scsi flag, this is useful for
 "hdx=scsi"		: the return of the ide-scsi flag, this is useful for
 			  allowing ide-floppy, ide-tape, and ide-cdrom|writers
 			  allowing ide-floppy, ide-tape, and ide-cdrom|writers
 			  to use ide-scsi emulation on a device specific option.
 			  to use ide-scsi emulation on a device specific option.
@@ -292,9 +288,6 @@ The following are valid ONLY on ide0, which usually corresponds
to the first ATA interface found on the particular host, and the defaults for
to the first ATA interface found on the particular host, and the defaults for
the base,ctl ports must not be altered.
the base,ctl ports must not be altered.


 "ide0=cmd640_vlb"	: *REQUIRED* for VLB cards with the CMD640 chip
			  (not for PCI -- automatically detected)

 "ide=doubler"		: probe/support IDE doublers on Amiga
 "ide=doubler"		: probe/support IDE doublers on Amiga


There may be more options than shown -- use the source, Luke!
There may be more options than shown -- use the source, Luke!
@@ -310,6 +303,10 @@ i.e. to enable probing for ALI M14xx chipsets (ali14xx host driver) use:
* "probe" module parameter when ali14xx driver is compiled as module
* "probe" module parameter when ali14xx driver is compiled as module
  ("modprobe ali14xx probe")
  ("modprobe ali14xx probe")


Also for legacy CMD640 host driver (cmd640) you need to use "probe_vlb"
kernel paremeter to enable probing for VLB version of the chipset (PCI ones
are detected automatically).

================================================================================
================================================================================


IDE ATAPI streaming tape driver
IDE ATAPI streaming tape driver
+27 −23
Original line number Original line Diff line number Diff line
@@ -325,7 +325,7 @@ config BLK_DEV_PLATFORM
	  If unsure, say N.
	  If unsure, say N.


config BLK_DEV_CMD640
config BLK_DEV_CMD640
	bool "CMD640 chipset bugfix/support"
	tristate "CMD640 chipset bugfix/support"
	depends on X86
	depends on X86
	---help---
	---help---
	  The CMD-Technologies CMD640 IDE chip is used on many common 486 and
	  The CMD-Technologies CMD640 IDE chip is used on many common 486 and
@@ -359,9 +359,8 @@ config BLK_DEV_CMD640_ENHANCED
	  Otherwise say N.
	  Otherwise say N.


config BLK_DEV_IDEPNP
config BLK_DEV_IDEPNP
	bool "PNP EIDE support"
	tristate "PNP EIDE support"
	depends on PNP
	depends on PNP
	select IDE_GENERIC
	help
	help
	  If you have a PnP (Plug and Play) compatible EIDE card and
	  If you have a PnP (Plug and Play) compatible EIDE card and
	  would like the kernel to automatically detect and activate
	  would like the kernel to automatically detect and activate
@@ -375,7 +374,19 @@ config BLK_DEV_IDEPCI
	bool
	bool


config IDEPCI_PCIBUS_ORDER
config IDEPCI_PCIBUS_ORDER
	def_bool BLK_DEV_IDE=y && BLK_DEV_IDEPCI
	bool "Probe IDE PCI devices in the PCI bus order (DEPRECATED)"
	depends on BLK_DEV_IDE=y && BLK_DEV_IDEPCI
	default y
	help
	  Probe IDE PCI devices in the order in which they appear on the
	  PCI bus (i.e. 00:1f.1 PCI device before 02:01.0 PCI device)
	  instead of the order in which IDE PCI host drivers are loaded.

	  Please note that this method of assuring stable naming of
	  IDE devices is unreliable and use other means for achieving
	  it (i.e. udev).

	  If in doubt, say N.


# TODO: split it on per host driver config options (or module parameters)
# TODO: split it on per host driver config options (or module parameters)
config BLK_DEV_OFFBOARD
config BLK_DEV_OFFBOARD
@@ -789,7 +800,7 @@ config BLK_DEV_CELLEB
endif
endif


config BLK_DEV_IDE_PMAC
config BLK_DEV_IDE_PMAC
	bool "Builtin PowerMac IDE support"
	tristate "Builtin PowerMac IDE support"
	depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
	depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
	help
	help
	  This driver provides support for the built-in IDE controller on
	  This driver provides support for the built-in IDE controller on
@@ -843,8 +854,9 @@ config BLK_DEV_IDE_AU1XXX_SEQTS_PER_RQ
       depends on BLK_DEV_IDE_AU1XXX
       depends on BLK_DEV_IDE_AU1XXX


config IDE_ARM
config IDE_ARM
	def_bool ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
	tristate "ARM IDE support"
	select IDE_GENERIC
	depends on ARM && (ARCH_CLPS7500 || ARCH_RPC || ARCH_SHARK)
	default y


config BLK_DEV_IDE_ICSIDE
config BLK_DEV_IDE_ICSIDE
	tristate "ICS IDE interface support"
	tristate "ICS IDE interface support"
@@ -876,10 +888,9 @@ config BLK_DEV_IDE_BAST
	  Simtec BAST or the Thorcom VR1000
	  Simtec BAST or the Thorcom VR1000


config ETRAX_IDE
config ETRAX_IDE
	bool "ETRAX IDE support"
	tristate "ETRAX IDE support"
	depends on CRIS && BROKEN
	depends on CRIS && BROKEN
	select BLK_DEV_IDEDMA
	select BLK_DEV_IDEDMA
	select IDE_GENERIC
	help
	help
	  Enables the ETRAX IDE driver.
	  Enables the ETRAX IDE driver.


@@ -911,17 +922,15 @@ config ETRAX_IDE_G27_RESET
endchoice
endchoice


config IDE_H8300
config IDE_H8300
	bool "H8300 IDE support"
	tristate "H8300 IDE support"
	depends on H8300
	depends on H8300
	select IDE_GENERIC
	default y
	default y
	help
	help
	  Enables the H8300 IDE driver.
	  Enables the H8300 IDE driver.


config BLK_DEV_GAYLE
config BLK_DEV_GAYLE
	bool "Amiga Gayle IDE interface support"
	tristate "Amiga Gayle IDE interface support"
	depends on AMIGA
	depends on AMIGA
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the Amiga Gayle IDE interface. It supports
	  This is the IDE driver for the Amiga Gayle IDE interface. It supports
	  both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
	  both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
@@ -951,9 +960,8 @@ config BLK_DEV_IDEDOUBLER
	  runtime using the "ide=doubler" kernel boot parameter.
	  runtime using the "ide=doubler" kernel boot parameter.


config BLK_DEV_BUDDHA
config BLK_DEV_BUDDHA
	bool "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
	tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)"
	depends on ZORRO && EXPERIMENTAL
	depends on ZORRO && EXPERIMENTAL
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the IDE interfaces on the Buddha, 
	  This is the IDE driver for the IDE interfaces on the Buddha, 
	  Catweasel and X-Surf expansion boards.  It supports up to two interfaces 
	  Catweasel and X-Surf expansion boards.  It supports up to two interfaces 
@@ -964,9 +972,8 @@ config BLK_DEV_BUDDHA
	  to one of its IDE interfaces.
	  to one of its IDE interfaces.


config BLK_DEV_FALCON_IDE
config BLK_DEV_FALCON_IDE
	bool "Falcon IDE interface support"
	tristate "Falcon IDE interface support"
	depends on ATARI
	depends on ATARI
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the builtin IDE interface on the Atari
	  This is the IDE driver for the builtin IDE interface on the Atari
	  Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
	  Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
@@ -974,9 +981,8 @@ config BLK_DEV_FALCON_IDE
	  interface.
	  interface.


config BLK_DEV_MAC_IDE
config BLK_DEV_MAC_IDE
	bool "Macintosh Quadra/Powerbook IDE interface support"
	tristate "Macintosh Quadra/Powerbook IDE interface support"
	depends on MAC
	depends on MAC
	select IDE_GENERIC
	help
	help
	  This is the IDE driver for the builtin IDE interface on some m68k
	  This is the IDE driver for the builtin IDE interface on some m68k
	  Macintosh models. It supports both the `Quadra style' (used in
	  Macintosh models. It supports both the `Quadra style' (used in
@@ -988,18 +994,16 @@ config BLK_DEV_MAC_IDE
	  builtin IDE interface.
	  builtin IDE interface.


config BLK_DEV_Q40IDE
config BLK_DEV_Q40IDE
	bool "Q40/Q60 IDE interface support"
	tristate "Q40/Q60 IDE interface support"
	depends on Q40
	depends on Q40
	select IDE_GENERIC
	help
	help
	  Enable the on-board IDE controller in the Q40/Q60.  This should
	  Enable the on-board IDE controller in the Q40/Q60.  This should
	  normally be on; disable it only if you are running a custom hard
	  normally be on; disable it only if you are running a custom hard
	  drive subsystem through an expansion card.
	  drive subsystem through an expansion card.


config BLK_DEV_MPC8xx_IDE
config BLK_DEV_MPC8xx_IDE
	bool "MPC8xx IDE support"
	tristate "MPC8xx IDE support"
	depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
	depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
	select IDE_GENERIC
	help
	help
	  This option provides support for IDE on Motorola MPC8xx Systems.
	  This option provides support for IDE on Motorola MPC8xx Systems.
	  Please see 'Type of MPC8xx IDE interface' for details.
	  Please see 'Type of MPC8xx IDE interface' for details.
+34 −24
Original line number Original line Diff line number Diff line
@@ -7,41 +7,37 @@
# Note : at this point, these files are compiled on all systems.
# Note : at this point, these files are compiled on all systems.
# In the future, some of these should be built conditionally.
# In the future, some of these should be built conditionally.
#
#
# First come modules that register themselves with the core
# link order is important here


EXTRA_CFLAGS				+= -Idrivers/ide
EXTRA_CFLAGS				+= -Idrivers/ide


obj-$(CONFIG_BLK_DEV_IDE)		+= pci/

ide-core-y += ide.o ide-io.o ide-iops.o ide-lib.o ide-probe.o ide-taskfile.o
ide-core-y += ide.o ide-io.o ide-iops.o ide-lib.o ide-probe.o ide-taskfile.o


ide-core-$(CONFIG_BLK_DEV_CMD640)	+= pci/cmd640.o
# core IDE code

# Core IDE code - must come before legacy
ide-core-$(CONFIG_BLK_DEV_IDEPCI)	+= setup-pci.o
ide-core-$(CONFIG_BLK_DEV_IDEPCI)	+= setup-pci.o
ide-core-$(CONFIG_BLK_DEV_IDEDMA)	+= ide-dma.o
ide-core-$(CONFIG_BLK_DEV_IDEDMA)	+= ide-dma.o
ide-core-$(CONFIG_IDE_PROC_FS)		+= ide-proc.o
ide-core-$(CONFIG_IDE_PROC_FS)		+= ide-proc.o
ide-core-$(CONFIG_BLK_DEV_IDEPNP)	+= ide-pnp.o
ide-core-$(CONFIG_BLK_DEV_IDEACPI)	+= ide-acpi.o
ide-core-$(CONFIG_BLK_DEV_IDEACPI)	+= ide-acpi.o


# built-in only drivers from arm/
obj-$(CONFIG_BLK_DEV_IDE)		+= ide-core.o
ide-core-$(CONFIG_IDE_ARM)		+= arm/ide_arm.o


# built-in only drivers from legacy/
ifeq ($(CONFIG_IDE_ARM), y)
ide-core-$(CONFIG_BLK_DEV_BUDDHA)	+= legacy/buddha.o
	ide-arm-core-y += arm/ide_arm.o
ide-core-$(CONFIG_BLK_DEV_FALCON_IDE)	+= legacy/falconide.o
	obj-y += ide-arm-core.o
ide-core-$(CONFIG_BLK_DEV_GAYLE)	+= legacy/gayle.o
endif
ide-core-$(CONFIG_BLK_DEV_MAC_IDE)	+= legacy/macide.o
ide-core-$(CONFIG_BLK_DEV_Q40IDE)	+= legacy/q40ide.o


# built-in only drivers from ppc/
obj-$(CONFIG_BLK_DEV_IDE)		+= legacy/ pci/
ide-core-$(CONFIG_BLK_DEV_MPC8xx_IDE)	+= ppc/mpc8xx.o
ide-core-$(CONFIG_BLK_DEV_IDE_PMAC)	+= ppc/pmac.o


# built-in only drivers from h8300/
obj-$(CONFIG_IDEPCI_PCIBUS_ORDER)	+= ide-scan-pci.o
ide-core-$(CONFIG_IDE_H8300)		+= h8300/ide-h8300.o


obj-$(CONFIG_BLK_DEV_IDE)		+= ide-core.o
ifeq ($(CONFIG_BLK_DEV_CMD640), y)
	cmd640-core-y += pci/cmd640.o
	obj-y += cmd640-core.o
endif

obj-$(CONFIG_BLK_DEV_IDE)		+= cris/ ppc/
obj-$(CONFIG_BLK_DEV_IDEPNP)		+= ide-pnp.o
obj-$(CONFIG_IDE_H8300)			+= h8300/
obj-$(CONFIG_IDE_GENERIC)		+= ide-generic.o
obj-$(CONFIG_IDE_GENERIC)		+= ide-generic.o


obj-$(CONFIG_BLK_DEV_IDEDISK)		+= ide-disk.o
obj-$(CONFIG_BLK_DEV_IDEDISK)		+= ide-disk.o
@@ -49,6 +45,20 @@ obj-$(CONFIG_BLK_DEV_IDECD) += ide-cd.o
obj-$(CONFIG_BLK_DEV_IDETAPE)		+= ide-tape.o
obj-$(CONFIG_BLK_DEV_IDETAPE)		+= ide-tape.o
obj-$(CONFIG_BLK_DEV_IDEFLOPPY)		+= ide-floppy.o
obj-$(CONFIG_BLK_DEV_IDEFLOPPY)		+= ide-floppy.o


obj-$(CONFIG_BLK_DEV_IDE)		+= legacy/ arm/ mips/
ifeq ($(CONFIG_BLK_DEV_IDECS), y)
obj-$(CONFIG_BLK_DEV_HD)		+= legacy/
	ide-cs-core-y += legacy/ide-cs.o
obj-$(CONFIG_ETRAX_IDE)		+= cris/
	obj-y += ide-cs-core.o
endif

ifeq ($(CONFIG_BLK_DEV_PLATFORM), y)
	ide-platform-core-y += legacy/ide_platform.o
	obj-y += ide-platform-core.o
endif

obj-$(CONFIG_BLK_DEV_IDE)		+= arm/ mips/

# old hd driver must be last
ifeq ($(CONFIG_BLK_DEV_HD), y)
	hd-core-y += legacy/hd.o
	obj-y += hd-core.o
endif
+4 −0
Original line number Original line Diff line number Diff line
@@ -3,4 +3,8 @@ obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o
obj-$(CONFIG_BLK_DEV_IDE_RAPIDE)	+= rapide.o
obj-$(CONFIG_BLK_DEV_IDE_RAPIDE)	+= rapide.o
obj-$(CONFIG_BLK_DEV_IDE_BAST)		+= bast-ide.o
obj-$(CONFIG_BLK_DEV_IDE_BAST)		+= bast-ide.o


ifeq ($(CONFIG_IDE_ARM), m)
	obj-m += ide_arm.o
endif

EXTRA_CFLAGS	:= -Idrivers/ide
EXTRA_CFLAGS	:= -Idrivers/ide
+1 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ bastide_register(unsigned int base, unsigned int aux, int irq,
	hw.io_ports[IDE_CONTROL_OFFSET] = aux + (6 * 0x20);
	hw.io_ports[IDE_CONTROL_OFFSET] = aux + (6 * 0x20);
	hw.irq = irq;
	hw.irq = irq;


	ide_register_hw(&hw, NULL, 0, hwif);
	ide_register_hw(&hw, NULL, hwif);


	return 0;
	return 0;
}
}
Loading