Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Browse files Browse the repository at this point in the history
* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits)
  IDE: Report errors during drive reset back to user space
  Update documentation of HDIO_DRIVE_RESET ioctl
  IDE: Remove unused code
  IDE: Fix HDIO_DRIVE_RESET handling
  hd.c: remove the #include <linux/mc146818rtc.h>
  update the BLK_DEV_HD help text
  move ide/legacy/hd.c to drivers/block/
  ide/legacy/hd.c: use late_initcall()
  remove BLK_DEV_HD_ONLY
  ide: endian annotations in ide-floppy.c
  ide-floppy: zero out the whole struct ide_atapi_pc on init
  ide-floppy: fold idefloppy_create_test_unit_ready_cmd into idefloppy_open
  ide-cd: move request prep chunk from cdrom_do_newpc_cont to rq issue path
  ide-cd: move request prep from cdrom_start_rw_cont to rq issue path
  ide-cd: move request prep from cdrom_start_seek_continuation to rq issue path
  ide-cd: fold cdrom_start_seek into ide_cd_do_request
  ide-cd: simplify request issuing path
  ide-cd: mv ide_do_rw_cdrom ide_cd_do_request
  ide-cd: cdrom_start_seek: remove unused argument block
  ide-cd: ide_do_rw_cdrom: add the catch-all bad request case to the if-else block
  ...
  • Loading branch information
Linus Torvalds committed Jul 16, 2008
2 parents 4314652 + 64a8f00 commit 42fdd14
Show file tree
Hide file tree
Showing 58 changed files with 695 additions and 1,871 deletions.
7 changes: 4 additions & 3 deletions Documentation/ioctl/hdio.txt
Original file line number Diff line number Diff line change
Expand Up @@ -508,12 +508,13 @@ HDIO_DRIVE_RESET execute a device reset

error returns:
EACCES Access denied: requires CAP_SYS_ADMIN
ENXIO No such device: phy dead or ctl_addr == 0
EIO I/O error: reset timed out or hardware error

notes:

Abort any current command, prevent anything else from being
queued, execute a reset on the device, and issue BLKRRPART
ioctl on the block device.
Execute a reset on the device as soon as the current IO
operation has completed.

Executes an ATAPI soft reset if applicable, otherwise
executes an ATA soft reset on the controller.
Expand Down
12 changes: 12 additions & 0 deletions drivers/block/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -433,4 +433,16 @@ config VIRTIO_BLK
This is the virtual block driver for virtio. It can be used with
lguest or QEMU based VMMs (like KVM or Xen). Say Y or M.

config BLK_DEV_HD
bool "Very old hard disk (MFM/RLL/IDE) driver"
depends on HAVE_IDE
depends on !ARM || ARCH_RPC || ARCH_SHARK || BROKEN
help
This is a very old hard disk driver that lacks the enhanced
functionality of the newer ones.

It is required for systems with ancient MFM/RLL/ESDI drives.

If unsure, say N.

endif # BLK_DEV
1 change: 1 addition & 0 deletions drivers/block/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,6 @@ obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o
obj-$(CONFIG_VIODASD) += viodasd.o
obj-$(CONFIG_BLK_DEV_SX8) += sx8.o
obj-$(CONFIG_BLK_DEV_UB) += ub.o
obj-$(CONFIG_BLK_DEV_HD) += hd.o

obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o
3 changes: 1 addition & 2 deletions drivers/ide/legacy/hd.c → drivers/block/hd.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/mc146818rtc.h> /* CMOS defines */
#include <linux/init.h>
#include <linux/blkpg.h>
#include <linux/hdreg.h>
Expand Down Expand Up @@ -812,4 +811,4 @@ static int __init parse_hd_setup(char *line)
}
__setup("hd=", parse_hd_setup);

module_init(hd_init);
late_initcall(hd_init);
88 changes: 15 additions & 73 deletions drivers/ide/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ if BLK_DEV_IDE

comment "Please see Documentation/ide/ide.txt for help/info on IDE drives"

config IDE_TIMINGS
bool

config IDE_ATAPI
bool

Expand Down Expand Up @@ -326,6 +329,7 @@ config BLK_DEV_PLATFORM
config BLK_DEV_CMD640
tristate "CMD640 chipset bugfix/support"
depends on X86
select IDE_TIMINGS
---help---
The CMD-Technologies CMD640 IDE chip is used on many common 486 and
Pentium motherboards, usually in combination with a "Neptune" or
Expand Down Expand Up @@ -455,6 +459,7 @@ config BLK_DEV_AEC62XX

config BLK_DEV_ALI15X3
tristate "ALI M15x3 chipset support"
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
Expand All @@ -469,6 +474,7 @@ config BLK_DEV_ALI15X3
config BLK_DEV_AMD74XX
tristate "AMD and nVidia IDE support"
depends on !ARM
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
This driver adds explicit support for AMD-7xx and AMD-8111 chips
Expand All @@ -489,6 +495,7 @@ config BLK_DEV_ATIIXP

config BLK_DEV_CMD64X
tristate "CMD64{3|6|8|9} chipset support"
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
Say Y here if you have an IDE controller which uses any of these
Expand All @@ -503,6 +510,7 @@ config BLK_DEV_TRIFLEX

config BLK_DEV_CY82C693
tristate "CY82C693 chipset support"
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
This driver adds detection and support for the CY82C693 chipset
Expand Down Expand Up @@ -695,6 +703,7 @@ config BLK_DEV_SIS5513
config BLK_DEV_SL82C105
tristate "Winbond SL82c105 support"
depends on (PPC || ARM)
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
If you have a Winbond SL82c105 IDE controller, say Y here to enable
Expand Down Expand Up @@ -725,6 +734,7 @@ config BLK_DEV_TRM290

config BLK_DEV_VIA82CXXX
tristate "VIA82CXXX chipset support"
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
help
This driver adds explicit support for VIA BusMastering IDE chips.
Expand All @@ -751,6 +761,7 @@ endif
config BLK_DEV_IDE_PMAC
tristate "PowerMac on-board IDE support"
depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
select IDE_TIMINGS
help
This driver provides support for the on-board IDE controller on
most of the recent Apple Power Macintoshes and PowerBooks.
Expand Down Expand Up @@ -829,13 +840,6 @@ config BLK_DEV_IDE_RAPIDE
Say Y here if you want to support the Yellowstone RapIDE controller
manufactured for use with Acorn computers.

config BLK_DEV_IDE_BAST
tristate "Simtec BAST / Thorcom VR1000 IDE support"
depends on ARM && (ARCH_BAST || MACH_VR1000)
help
Say Y here if you want to support the onboard IDE channels on the
Simtec BAST or the Thorcom VR1000

config IDE_H8300
tristate "H8300 IDE support"
depends on H8300
Expand Down Expand Up @@ -919,51 +923,12 @@ config BLK_DEV_Q40IDE
config BLK_DEV_PALMCHIP_BK3710
tristate "Palmchip bk3710 IDE controller support"
depends on ARCH_DAVINCI
select IDE_TIMINGS
select BLK_DEV_IDEDMA_SFF
help
Say Y here if you want to support the onchip IDE controller on the
TI DaVinci SoC


config BLK_DEV_MPC8xx_IDE
tristate "MPC8xx IDE support"
depends on 8xx && (LWMON || IVMS8 || IVML24 || TQM8xxL) && IDE=y && BLK_DEV_IDE=y && !PPC_MERGE
help
This option provides support for IDE on Motorola MPC8xx Systems.
Please see 'Type of MPC8xx IDE interface' for details.

If unsure, say N.

choice
prompt "Type of MPC8xx IDE interface"
depends on BLK_DEV_MPC8xx_IDE
default IDE_8xx_PCCARD

config IDE_8xx_PCCARD
bool "8xx_PCCARD"
---help---
Select how the IDE devices are connected to the MPC8xx system:

8xx_PCCARD uses the 8xx internal PCMCIA interface in combination
with a PC Card (e.g. ARGOSY portable Hard Disk Adapter),
ATA PC Card HDDs or ATA PC Flash Cards (example: TQM8xxL
systems)

8xx_DIRECT is used for directly connected IDE devices using the 8xx
internal PCMCIA interface (example: IVMS8 systems)

EXT_DIRECT is used for IDE devices directly connected to the 8xx
bus using some glue logic, but _not_ the 8xx internal
PCMCIA interface (example: IDIF860 systems)

config IDE_8xx_DIRECT
bool "8xx_DIRECT"

config IDE_EXT_DIRECT
bool "EXT_DIRECT"

endchoice

# no isa -> no vlb
if ISA && (ALPHA || X86 || MIPS)

Expand All @@ -981,6 +946,7 @@ config BLK_DEV_4DRIVES

config BLK_DEV_ALI14XX
tristate "ALI M14xx support"
select IDE_TIMINGS
help
This driver is enabled at runtime using the "ali14xx.probe" kernel
boot parameter. It enables support for the secondary IDE interface
Expand All @@ -1000,6 +966,7 @@ config BLK_DEV_DTC2278

config BLK_DEV_HT6560B
tristate "Holtek HT6560B support"
select IDE_TIMINGS
help
This driver is enabled at runtime using the "ht6560b.probe" kernel
boot parameter. It enables support for the secondary IDE interface
Expand All @@ -1009,6 +976,7 @@ config BLK_DEV_HT6560B

config BLK_DEV_QD65XX
tristate "QDI QD65xx support"
select IDE_TIMINGS
help
This driver is enabled at runtime using the "qd65xx.probe" kernel
boot parameter. It permits faster I/O speeds to be set. See the
Expand All @@ -1032,30 +1000,4 @@ config BLK_DEV_IDEDMA

endif

config BLK_DEV_HD_ONLY
bool "Old hard disk (MFM/RLL/IDE) driver"
depends on !ARM || ARCH_RPC || ARCH_SHARK || BROKEN
help
There are two drivers for MFM/RLL/IDE hard disks. Most people use
the newer enhanced driver, but this old one is still around for two
reasons. Some older systems have strange timing problems and seem to
work only with the old driver (which itself does not work with some
newer systems). The other reason is that the old driver is smaller,
since it lacks the enhanced functionality of the new one. This makes
it a good choice for systems with very tight memory restrictions, or
for systems with only older MFM/RLL/ESDI drives. Choosing the old
driver can save 13 KB or so of kernel memory.

If you want to use this driver together with the new one you have
to use "hda=noprobe hdb=noprobe" kernel parameters to prevent the new
driver from probing the primary interface.

If you are unsure, then just choose the Enhanced IDE/MFM/RLL driver
instead of this one. For more detailed information, read the
Disk-HOWTO, available from
<http://www.tldp.org/docs.html#howto>.

config BLK_DEV_HD
def_bool BLK_DEV_HD_ONLY

endif # IDE
10 changes: 3 additions & 7 deletions drivers/ide/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@

EXTRA_CFLAGS += -Idrivers/ide

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-pio-blacklist.o

# core IDE code
ide-core-$(CONFIG_IDE_TIMINGS) += ide-timings.o
ide-core-$(CONFIG_IDE_ATAPI) += ide-atapi.o
ide-core-$(CONFIG_BLK_DEV_IDEPCI) += setup-pci.o
ide-core-$(CONFIG_BLK_DEV_IDEDMA) += ide-dma.o
Expand Down Expand Up @@ -59,9 +61,3 @@ ifeq ($(CONFIG_BLK_DEV_PLATFORM), y)
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
1 change: 0 additions & 1 deletion drivers/ide/arm/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@

obj-$(CONFIG_BLK_DEV_IDE_ICSIDE) += icside.o
obj-$(CONFIG_BLK_DEV_IDE_RAPIDE) += rapide.o
obj-$(CONFIG_BLK_DEV_IDE_BAST) += bast-ide.o
obj-$(CONFIG_BLK_DEV_PALMCHIP_BK3710) += palm_bk3710.o

ifeq ($(CONFIG_IDE_ARM), m)
Expand Down
90 changes: 0 additions & 90 deletions drivers/ide/arm/bast-ide.c

This file was deleted.

Loading

0 comments on commit 42fdd14

Please sign in to comment.