IDE updates part #2
Subsystems (5)
PATCH 1/1 IDE updates part #2
IDE updates continued:
* make remaining built-in only IDE host drivers modular and cleanup ide.c #ifdef hell (me)
* "resurrected" fixes for HDIO_DRIVE_TASKFILE ioctl (Tejun Heo)
* unify handling of REQ_TYPE_ATA_CMD and REQ_TYPE_ATA_TASKFILE requests (me, heavily based on the earlier patches from Tejun Heo)
* host driver specific fixes: sl82c105, cs5520, cy82c693, atiixp and others
* the usual cleanups/fixups all over the place
All patches included in this update have been in IDE tree since at least 12th December, got testing in -mm and (almost all) have been reviewed by Sergei (IOW it is just another "boring" IDE update ;).
Linus, please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6.git/
to receive the following updates:
Documentation/ide.txt | 13 +-- drivers/ide/Kconfig | 50 +++++----- drivers/ide/Makefile | 58 +++++++----- drivers/ide/arm/Makefile | 4 + drivers/ide/arm/bast-ide.c | 2 +- drivers/ide/arm/icside.c | 23 +---- drivers/ide/arm/ide_arm.c | 17 +++- drivers/ide/arm/rapide.c | 33 +++--- drivers/ide/cris/Makefile | 2 +- drivers/ide/cris/ide-cris.c | 29 +++--- drivers/ide/h8300/Makefile | 2 + drivers/ide/h8300/ide-h8300.c | 27 ++++-- drivers/ide/ide-acpi.c | 2 +- drivers/ide/ide-disk.c | 57 +++++------ drivers/ide/ide-dma.c | 98 +++++++----------- drivers/ide/ide-generic.c | 8 ++- drivers/ide/ide-io.c | 116 +++------------------- drivers/ide/ide-iops.c | 31 +++--- drivers/ide/ide-lib.c | 25 ++---- drivers/ide/ide-pnp.c | 24 +++-- drivers/ide/ide-probe.c | 175 +++++++++++++++------------------ drivers/ide/ide-proc.c | 12 ++- drivers/ide/ide-scan-pci.c | 121 +++++++++++++++++++++++ drivers/ide/ide-tape.c | 5 + drivers/ide/ide-taskfile.c | 155 +++++++++++++---------------- drivers/ide/ide.c | 197 +++++++------------------------------ drivers/ide/legacy/Makefile | 19 +++- drivers/ide/legacy/ali14xx.c | 5 +- drivers/ide/legacy/buddha.c | 44 +++++---- drivers/ide/legacy/dtc2278.c | 5 +- drivers/ide/legacy/falconide.c | 22 +++- drivers/ide/legacy/gayle.c | 43 +++++--- drivers/ide/legacy/ht6560b.c | 5 +- drivers/ide/legacy/ide-cs.c | 2 +- drivers/ide/legacy/ide_platform.c | 55 +++++----- drivers/ide/legacy/macide.c | 52 +++++----- drivers/ide/legacy/q40ide.c | 24 ++++- drivers/ide/legacy/qd65xx.c | 5 +- drivers/ide/legacy/umc8672.c | 5 +- drivers/ide/mips/au1xxx-ide.c | 36 ++----- drivers/ide/mips/swarm.c | 1 + drivers/ide/pci/Makefile | 4 + drivers/ide/pci/atiixp.c | 71 ++++---------- drivers/ide/pci/cmd640.c | 16 +++- drivers/ide/pci/cmd64x.c | 114 +--------------------- drivers/ide/pci/cs5520.c | 19 ++--- drivers/ide/pci/cy82c693.c | 64 ++---------- drivers/ide/pci/delkin_cb.c | 2 +- drivers/ide/pci/hpt366.c | 11 ++- drivers/ide/pci/it821x.c | 37 +++----- drivers/ide/pci/pdc202xx_new.c | 11 ++- drivers/ide/pci/pdc202xx_old.c | 11 ++- drivers/ide/pci/sc1200.c | 6 +- drivers/ide/pci/serverworks.c | 25 +---- drivers/ide/pci/sgiioc4.c | 49 +++------- drivers/ide/pci/siimage.c | 15 ++-- drivers/ide/pci/sl82c105.c | 89 ++++------------- drivers/ide/pci/trm290.c | 9 +-- drivers/ide/ppc/Makefile | 3 + drivers/ide/ppc/mpc8xx.c | 18 ++++ drivers/ide/ppc/pmac.c | 46 +++++---- drivers/ide/setup-pci.c | 151 +++++------------------------ drivers/macintosh/mediabay.c | 3 +- include/linux/blkdev.h | 1 - include/linux/ide.h | 61 +++++++----- 65 files changed, 999 insertions(+), 1446 deletions(-) create mode 100644 drivers/ide/h8300/Makefile create mode 100644 drivers/ide/ide-scan-pci.c create mode 100644 drivers/ide/ppc/Makefile
Bartlomiej Zolnierkiewicz (60):
sl82c105: program DMA/PIO timings in ->dma_start/->ide_dma_end
sl82c105: remove no longer needed ->selectproc method
serverworks: cleanup ->set_dma_mode method
ide-disk: add idedisk_set_doorlock() helper
ide: (hopefully) fix VDMA for CS5520
cy82c693: correct DMA modes clipping
cy82c693: add ->set_dma_mode method
sgiioc4: add ide_toggle_bounce() calls
icside: add ide_toggle_bounce() calls
au1xxx-ide: add ide_toggle_bounce() calls
ide: remove ->ide_dma_on and ->dma_off_quietly methods from ide_hwif_t
ide-cris: fix DMA methods
atiixp: remove ->dma_host_on and ->dma_host_off methods
ide: move drive->using_dma check to callers of ->dma_host_on method
ide: merge ->dma_host_{on,off} methods into ->dma_host_set method
ide: dump taskfile HOB registers in ide_tf_load() (if DEBUG is defined)
ide: merge ->fixup and ->quirkproc methods
ide: don't try to unregister interfaces if 'initializing' in ide_register_hw()
ide: kill probe_hwif_init()
ide: fix probing for hosts with serialized or IRQ sharing interfaces
rapide: set hwif->chipset
swarm: set hwif->chipset
ide: add hwif->chipset fixup to ide_device_add()
ide: remove ideprobe_init()
sgiioc4: always init hwif->io_ports
ide: add ide_init_port_hw() helper
ide: drop 'initializing' argument from ide_register_hw()
ide: move ide_arm_init() call from init_ide_data() to ide_init()
cmd640: fix dependency on IDE_GENERIC
ide: fix host drivers depending on ide_generic to probe for interfaces (take 2)
ide: make remaining built-in only IDE host drivers modular (take 2)
au1xxx-ide: au_ide_probe() fixes
au1xxx-ide: use ide_init_port_hw()
ide: always use ide_std_init_ports() in setup-pci.c
ide: use ide_init_port_hw() in setup-pci.c
rapide: remove write-only hwif->hwif_data
ide-pmac: use custom hwif->sg_max_nents only if DMA support is enabled
ide: add ide_set_irq() inline helper
ide: print banner message once per controller in m68k host drivers
ide: move CONFIG_IDEPCI_PCIBUS_ORDER code to ide-scan-pci.c
ide: make CONFIG_IDEPCI_PCIBUS_ORDER visible and deprecate it
ide: add ide_busy_sleep() helper
ide: remove broken disk byte-swapping support
cmd64x: remove /proc/ide/cmd64x
ide: clear HOB bit for REQ_TYPE_ATA_CMD requests in ide_end_drive_cmd()
ide: fix final status check in task_in_intr()
ide-tape: fix handling of non-special requests in ->end_request method
ide: set IDE_TFLAG_IN_* flags before queuing/executing command
ide: remove needless ->cursg clearing from task_end_request()
ide: use rq->nr_sectors in task_end_request()
ide: kill DATA_READY define
ide: use wait_drive_not_busy() in drive_cmd_intr() (take 2)
ide: initialize rq->cmd_type in ide_init_drive_cmd() callers
ide: convert "empty" REQ_TYPE_ATA_CMD requests to use REQ_TYPE_ATA_TASKFILE
ide: don't enable local IRQs for PIO-in in driver_cmd_intr() (take 2)
ide: check BUSY and ERROR status bits before reading data in drive_cmd_intr()
ide: fix final status check in drive_cmd_intr()
ide: switch set_xfer_rate() to use REQ_TYPE_ATA_TASKFILE requests
ide: switch ide_cmd_ioctl() to use REQ_TYPE_ATA_TASKFILE requests
ide: remove REQ_TYPE_ATA_CMD
Olof Johansson (1):
ide: Fix build break caused by "ide: remove ideprobe_init()"
Tejun Heo (2):
ide: fix ->io_32bit race in ide_taskfile_ioctl()
ide: task_end_request() fix
Documentation/ide.txt +5 -8
@@ -30,7 +30,7 @@ *** *** 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 -*** 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.
@@ -244,10 +244,6 @@ Summary of ide driver parameters for kernel command line "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 allowing ide-floppy, ide-tape, and ide-cdrom|writers 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 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 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 ("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
drivers/ide/Kconfig +27 -23
137 lines not on this page · raw message
drivers/ide/Makefile +34 -24
81 lines not on this page · raw message
drivers/ide/arm/Makefile +4 -0
@@ -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_BAST) += bast-ide.o +ifeq ($(CONFIG_IDE_ARM), m) + obj-m += ide_arm.o +endif + EXTRA_CFLAGS := -Idrivers/ide
drivers/ide/arm/bast-ide.c +1 -1
@@ -45,7 +45,7 @@ bastide_register(unsigned int base, unsigned int aux, int irq, hw.io_ports[IDE_CONTROL_OFFSET ] = aux + (6 *0x20 ); hw.irq = irq; -ide_register_hw (&hw,NULL ,0 , hwif); +ide_register_hw (&hw,NULL , hwif);return 0 ; }
drivers/ide/arm/icside.c +2 -21
@@ -287,26 +287,10 @@ static void icside_set_dma_mode(ide_drive_t *drive, const u8 xfer_mode) ide_xfer_verbose(xfer_mode), 2000 / drive->drive_data); } -static void icside_dma_host_off (ide_drive_t *drive) +static void icside_dma_host_set (ide_drive_t *drive,int on) { } -static void icside_dma_off_quietly (ide_drive_t *drive) -{ - drive->using_dma =0 ; -} - -static void icside_dma_host_on (ide_drive_t *drive) -{ -} - -static int icside_dma_on (ide_drive_t *drive) -{ - drive->using_dma =1 ; - -return 0 ; -} -static int icside_dma_end (ide_drive_t *drive) {ide_hwif_t *hwif =HWIF (drive);
@@ -422,10 +406,7 @@ static void icside_dma_init(ide_hwif_t *hwif) hwif->dmatable_dma =0 ; hwif->set_dma_mode = icside_set_dma_mode; - hwif->dma_host_off = icside_dma_host_off; - hwif->dma_off_quietly = icside_dma_off_quietly; - hwif->dma_host_on = icside_dma_host_on; - hwif->ide_dma_on = icside_dma_on; + hwif->dma_host_set = icside_dma_host_set; hwif->dma_setup = icside_dma_setup; hwif->dma_exec_cmd = icside_dma_exec_cmd; hwif->dma_start = icside_dma_start;
drivers/ide/arm/ide_arm.c +15 -2
@@ -24,12 +24,25 @@# define IDE_ARM_IRQ IRQ_HARDDISK#endif -void __init ide_arm_init (void ) +static int __init ide_arm_init (void ) { +ide_hwif_t *hwif;hw_regs_t hw; +u8 idx[4 ] = {0xff ,0xff ,0xff ,0xff };memset (&hw,0 ,sizeof (hw));ide_std_init_ports (&hw,IDE_ARM_IO ,IDE_ARM_IO +0x206 ); hw.irq =IDE_ARM_IRQ ; -ide_register_hw (&hw,NULL ,1 ,NULL ); + + hwif =ide_find_port (hw.io_ports[IDE_DATA_OFFSET ]); +if (hwif) { +ide_init_port_hw (hwif, &hw); + idx[0 ] = hwif->index; + +ide_device_add (idx); + } + +return 0 ; } + +module_init (ide_arm_init);
drivers/ide/arm/rapide.c +16 -17
@@ -13,26 +13,18 @@#include <asm/ecard.h> -static ide_hwif_t * -rapide_locate_hwif (void __iomem *base,void __iomem *ctrl,unsigned int sz,int irq) +static void rapide_setup_ports (hw_regs_t *hw,void __iomem *base, +void __iomem *ctrl,unsigned int sz,int irq) {unsigned long port = (unsigned long )base; -ide_hwif_t *hwif =ide_find_port (port);int i; -if (hwif ==NULL ) - goto out; -for (i =IDE_DATA_OFFSET ; i <=IDE_STATUS_OFFSET ; i++) { - hwif->io_ports[i] = port; + hw->io_ports[i] = port; port += sz; } - hwif->io_ports[IDE_CONTROL_OFFSET ] = (unsigned long )ctrl; - hwif->irq = irq; - hwif->mmio =1 ; -default_hwif_mmiops (hwif); -out: -return hwif; + hw->io_ports[IDE_CONTROL_OFFSET ] = (unsigned long )ctrl; + hw->irq = irq; } static int __devinit
@@ -42,6 +34,7 @@ rapide_probe(struct expansion_card *ec, const struct ecard_id *id)void __iomem *base;int ret;u8 idx[4 ] = {0xff ,0xff ,0xff ,0xff }; +hw_regs_t hw; ret =ecard_request_resources (ec);if (ret)
@@ -53,11 +46,17 @@ rapide_probe(struct expansion_card *ec, const struct ecard_id *id) goto release; } - hwif =rapide_locate_hwif (base, base +0x818 ,1 <<6 , ec->irq); + hwif =ide_find_port ((unsigned long )base);if (hwif) { - hwif->hwif_data = base; - hwif->gendev.parent = &ec->dev; - hwif->noprobe =0 ; +memset (&hw,0 ,sizeof (hw)); +rapide_setup_ports (&hw, base, base +0x818 ,1 <<6 , ec->irq); + hw.chipset = ide_generic; + hw.dev = &ec->dev; + +ide_init_port_hw (hwif, &hw); + + hwif->mmio =1 ; +default_hwif_mmiops (hwif); idx[0 ] = hwif->index;
drivers/ide/cris/Makefile +1 -1
@@ -1,3 +1,3 @@ EXTRA_CFLAGS += -Idrivers/ide -obj-y += ide-cris.o +obj-$(CONFIG_IDE_ETRAX) += ide-cris.o
drivers/ide/cris/ide-cris.c +14 -15
@@ -673,9 +673,8 @@ static void cris_ide_input_data (ide_drive_t *drive, void *, unsigned int);static void cris_ide_output_data (ide_drive_t *drive,void *,unsigned int );static void cris_atapi_input_bytes (ide_drive_t *drive,void *,unsigned int );static void cris_atapi_output_bytes (ide_drive_t *drive,void *,unsigned int ); -static int cris_dma_on (ide_drive_t *drive); -static void cris_dma_off (ide_drive_t *drive) +static void cris_dma_host_set (ide_drive_t *drive,int on) { }
@@ -755,13 +754,11 @@ static void cris_set_dma_mode(ide_drive_t *drive, const u8 speed)cris_ide_set_speed (TYPE_DMA ,0 , strobe, hold); } -void __init -init_e100_ide (void ) +static int __init init_e100_ide (void ) {hw_regs_t hw; -int ide_offsets[IDE_NR_PORTS ]; -int h; -int i; +int ide_offsets[IDE_NR_PORTS ], h, i; +u8 idx[4 ] = {0xff ,0xff ,0xff ,0xff };printk ("ide: ETRAX FS built-in ATA DMA controller\n" );
@@ -778,9 +775,11 @@ init_e100_ide (void) ide_offsets,0 ,0 , cris_ide_ack_intr, ide_default_irq(0)); -ide_register_hw (&hw,NULL ,1 , &hwif); + hwif =ide_find_port (hw.io_ports[IDE_DATA_OFFSET ]);if (hwif ==NULL )continue ; +ide_init_port_data (hwif, hwif->index); +ide_init_port_hw (hwif, &hw); hwif->mmio =1 ; hwif->chipset = ide_etrax100; hwif->set_pio_mode = &cris_set_pio_mode;
@@ -789,6 +788,7 @@ init_e100_ide (void) hwif->ata_output_data = &cris_ide_output_data; hwif->atapi_input_bytes = &cris_atapi_input_bytes; hwif->atapi_output_bytes = &cris_atapi_output_bytes; + hwif->dma_host_set = &cris_dma_host_set; hwif->ide_dma_end = &cris_dma_end; hwif->dma_setup = &cris_dma_setup; hwif->dma_exec_cmd = &cris_dma_exec_cmd;
@@ -799,9 +799,6 @@ init_e100_ide (void) hwif->OUTBSYNC = &cris_ide_outbsync; hwif->INB = &cris_ide_inb; hwif->INW = &cris_ide_inw; - hwif->dma_host_off = &cris_dma_off; - hwif->dma_host_on = &cris_dma_on; - hwif->dma_off_quietly = &cris_dma_off; hwif->cbl =ATA_CBL_PATA40 ; hwif->host_flags |=IDE_HFLAG_NO_ATAPI_DMA ; hwif->pio_mask = ATA_PIO4,
@@ -809,6 +806,8 @@ init_e100_ide (void) hwif->drives[1 ].autotune =1 ; hwif->ultra_mask = cris_ultra_mask; hwif->mwdma_mask =0x07 ;/* Multiword DMA 0-2 */ + + idx[h] = hwif->index; }/* Reset pulse */
@@ -821,14 +820,12 @@ init_e100_ide (void)cris_ide_set_speed (TYPE_PIO ,ATA_PIO4_SETUP ,ATA_PIO4_STROBE ,ATA_PIO4_HOLD );cris_ide_set_speed (TYPE_DMA ,0 ,ATA_DMA2_STROBE ,ATA_DMA2_HOLD );cris_ide_set_speed (TYPE_UDMA ,ATA_UDMA2_CYC ,ATA_UDMA2_DVS ,0 ); -} -static int cris_dma_on (ide_drive_t *drive) -{ +ide_device_add (idx); +return 0 ; } - static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16)));/*
@@ -1060,3 +1057,5 @@ static void cris_dma_start(ide_drive_t *drive)LED_DISK_READ (1 ); } } + +module_init (init_e100_ide);
drivers/ide/h8300/Makefile new file +2 -0
@@ -0,0 +1,2 @@ + +obj-$(CONFIG_IDE_H8300) += ide-h8300.o
drivers/ide/h8300/ide-h8300.c +20 -7
@@ -84,11 +84,12 @@ static inline void hwif_setup(ide_hwif_t *hwif) hwif->INSL =NULL ; } -void __init h8300_ide_init (void ) +static int __init h8300_ide_init (void ) {hw_regs_t hw;ide_hwif_t *hwif; -int idx; +int index; +u8 idx[4 ] = {0xff ,0xff ,0xff ,0xff };if (!request_region (CONFIG_H8300_IDE_BASE ,H8300_IDE_GAP *8 ,"ide-h8300" )) goto out_busy;
@@ -100,16 +101,28 @@ void __init h8300_ide_init(void)hw_setup (&hw);/* register if */ - idx =ide_register_hw (&hw,NULL ,1 , &hwif); -if (idx ==-1 ) { + hwif =ide_find_port (hw.io_ports[IDE_DATA_OFFSET ]); +if (hwif ==NULL ) {printk (KERN_ERR "ide-h8300: IDE I/F register failed\n" ); -return ; +return -ENOENT ; } + index = hwif->index; +ide_init_port_data (hwif, index); +ide_init_port_hw (hwif, &hw);hwif_setup (hwif); -printk (KERN_INFO "ide%d: H8/300 generic IDE interface\n" , idx); -return ; +printk (KERN_INFO "ide%d: H8/300 generic IDE interface\n" , index); + + idx[0 ] = index; + +ide_device_add (idx); + +return 0 ; out_busy:printk (KERN_ERR "ide-h8300: IDE I/F resource already used.\n" ); + +return -EBUSY ; } + +module_init (h8300_ide_init);
drivers/ide/ide-acpi.c +1 -1
@@ -386,7 +386,7 @@ static int taskfile_load_raw(ide_drive_t *drive,/* convert gtf to IDE Taskfile */ memcpy (&args.tf_array[7 ], >f->tfa,7 ); - args.tf_flags =IDE_TFLAG_OUT_TF |IDE_TFLAG_OUT_DEVICE ; + args.tf_flags =IDE_TFLAG_TF |IDE_TFLAG_DEVICE ;if (ide_noacpitfs) {DEBPRINT ("_GTF execution disabled\n" );
drivers/ide/ide-disk.c +28 -29
150 lines not on this page · raw message
drivers/ide/ide-dma.c +38 -60
192 lines not on this page · raw message
drivers/ide/ide-generic.c +7 -1
@@ -14,10 +14,16 @@static int __init ide_generic_init (void ) { +u8 idx[MAX_HWIFS ]; +int i; +if (ide_hwifs[0 ].io_ports[IDE_DATA_OFFSET ])ide_get_lock (NULL ,NULL );/* for atari only */ - (void )ideprobe_init (); +for (i =0 ; i <MAX_HWIFS ; i++) + idx[i] = ide_hwifs[i].present ?0xff : i; + +ide_device_add_all (idx);if (ide_hwifs[0 ].io_ports[IDE_DATA_OFFSET ])ide_release_lock ();/* for atari only */
drivers/ide/ide-io.c +13 -103
218 lines not on this page · raw message
drivers/ide/ide-iops.c +15 -16
@@ -619,7 +619,7 @@ no_80w:int ide_ata66_check (ide_drive_t *drive,ide_task_t *args) {if (args->tf.command ==WIN_SETFEATURES && - args->tf.lbal >XFER_UDMA_2 && + args->tf.nsect >XFER_UDMA_2 && args->tf.feature ==SETFEATURES_XFER ) {if (eighty_ninty_three (drive) ==0 ) { printk(KERN_WARNING "%s: UDMA speeds >UDMA33 cannot "
@@ -639,7 +639,7 @@ int ide_ata66_check (ide_drive_t *drive, ide_task_t *args)int set_transfer (ide_drive_t *drive,ide_task_t *args) { if (args->tf.command == WIN_SETFEATURES && - args->tf.lbal >= XFER_SW_DMA_0 && + args->tf.nsect >= XFER_SW_DMA_0 && args->tf.feature == SETFEATURES_XFER && (drive->id->dma_ultra || drive->id->dma_mword ||
@@ -688,8 +688,7 @@ int ide_driveid_update(ide_drive_t *drive)*/ SELECT_MASK (drive,1 ); -if (IDE_CONTROL_REG ) - hwif->OUTB (drive->ctl,IDE_CONTROL_REG ); +ide_set_irq (drive,1 );msleep (50 ); hwif->OUTB (WIN_IDENTIFY ,IDE_COMMAND_REG ); timeout = jiffies +WAIT_WORSTCASE ;
@@ -742,8 +741,8 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)// msleep(50); #ifdef CONFIG_BLK_DEV_IDEDMA -if (hwif->ide_dma_on)/* check if host supports DMA */ - hwif->dma_host_off (drive); +if (hwif->dma_host_set)/* check if host supports DMA */ + hwif->dma_host_set (drive,0 );#endif /* Skip setting PIO flow-control modes on pre-EIDE drives */
@@ -772,13 +771,12 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)SELECT_DRIVE (drive);SELECT_MASK (drive,0 );udelay (1 ); -if (IDE_CONTROL_REG ) - hwif->OUTB (drive->ctl |2 ,IDE_CONTROL_REG ); +ide_set_irq (drive,0 ); hwif->OUTB (speed,IDE_NSECTOR_REG ); hwif->OUTB (SETFEATURES_XFER ,IDE_FEATURE_REG ); hwif->OUTBSYNC (drive,WIN_SETFEATURES ,IDE_COMMAND_REG ); -if ((IDE_CONTROL_REG ) && (drive->quirk_list ==2 )) - hwif->OUTB (drive->ctl,IDE_CONTROL_REG ); +if (drive->quirk_list ==2 ) +ide_set_irq (drive,1 ); error = __ide_wait_stat(drive, drive->ready_stat, BUSY_STAT|DRQ_STAT|ERR_STAT,
@@ -799,10 +797,11 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) skip:#ifdef CONFIG_BLK_DEV_IDEDMA -if (speed >=XFER_SW_DMA_0 ) - hwif->dma_host_on (drive); -else if (hwif->ide_dma_on)/* check if host supports DMA */ - hwif->dma_off_quietly (drive); +if ((speed >=XFER_SW_DMA_0 || (hwif->host_flags &IDE_HFLAG_VDMA )) && + drive->using_dma) + hwif->dma_host_set (drive,1 ); +else if (hwif->dma_host_set)/* check if host supports DMA */ +ide_dma_off_quietly (drive);#endif switch (speed) {
@@ -1012,10 +1011,10 @@ static void check_dma_crc(ide_drive_t *drive) {#ifdef CONFIG_BLK_DEV_IDEDMA if (drive->crc_count) { - drive->hwif->dma_off_quietly (drive); +ide_dma_off_quietly (drive);ide_set_xfer_rate (drive,ide_auto_reduce_xfer (drive));if (drive->current_speed >=XFER_SW_DMA_0 ) - (void )HWIF (drive)->ide_dma_on (drive); +ide_dma_on (drive); }else ide_dma_off (drive);#endif
drivers/ide/ide-lib.c +7 -18
@@ -454,8 +454,7 @@ int ide_set_xfer_rate(ide_drive_t *drive, u8 rate)static void ide_dump_opcode (ide_drive_t *drive) {struct request *rq; -u8 opcode =0 ; -int found =0 ; +ide_task_t *task =NULL ;spin_lock (&ide_lock); rq =NULL ;
@@ -464,25 +463,15 @@ static void ide_dump_opcode(ide_drive_t *drive)spin_unlock (&ide_lock);if (!rq)return ; -if (rq->cmd_type ==REQ_TYPE_ATA_CMD ) { -char *args = rq->buffer; -if (args) { - opcode = args[0 ]; - found =1 ; - } - }else if (rq->cmd_type ==REQ_TYPE_ATA_TASKFILE ) { -ide_task_t *args = rq->special; -if (args) { - opcode = args->tf.command; - found =1 ; - } - } + +if (rq->cmd_type ==REQ_TYPE_ATA_TASKFILE ) + task = rq->special;printk ("ide: failed opcode was: " ); -if (!found) -printk ("unknown\n" ); +if (task ==NULL ) +printk (KERN_CONT "unknown\n" );else -printk ("0x%02x\n" , opcode); +printk (KERN_CONT "0x%02x\n" , task->tf.command); }u64 ide_get_lba_addr (struct ide_taskfile *tf,int lba48)
drivers/ide/ide-pnp.c +17 -7
@@ -31,7 +31,6 @@ static int idepnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id {hw_regs_t hw;ide_hwif_t *hwif; -int index;if (!(pnp_port_valid (dev,0 ) &&pnp_port_valid (dev,1 ) &&pnp_irq_valid (dev,0 )))return -1 ;
@@ -41,11 +40,19 @@ static int idepnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id pnp_port_start(dev, 1)); hw.irq =pnp_irq (dev,0 ); - index =ide_register_hw (&hw,NULL ,1 , &hwif); + hwif =ide_find_port (hw.io_ports[IDE_DATA_OFFSET ]); +if (hwif) { +u8 index = hwif->index; +u8 idx[4 ] = { index,0xff ,0xff ,0xff }; + +ide_init_port_data (hwif, index); +ide_init_port_hw (hwif, &hw); -if (index !=-1 ) { -printk (KERN_INFO "ide%d: generic PnP IDE interface\n" , index); +printk (KERN_INFO "ide%d: generic PnP IDE interface\n" , index);pnp_set_drvdata (dev,hwif); + +ide_device_add (idx); +return 0 ; }
@@ -68,12 +75,15 @@ static struct pnp_driver idepnp_driver = { .remove = idepnp_remove, }; -void __init pnpide_init (void ) +static int __init pnpide_init (void ) { -pnp_register_driver (&idepnp_driver); +return pnp_register_driver (&idepnp_driver); } -void __exit pnpide_exit(void) +static void __exit pnpide_exit(void) {pnp_unregister_driver (&idepnp_driver); } + +module_init (pnpide_init); +module_exit (pnpide_exit);
drivers/ide/ide-probe.c +80 -95
293 lines not on this page · raw message
drivers/ide/ide-proc.c +9 -3
@@ -346,14 +346,20 @@ static int ide_write_setting(ide_drive_t *drive, ide_settings_t *setting, int vastatic int set_xfer_rate (ide_drive_t *drive,int arg) { +ide_task_t task;int err;if (arg <0 || arg >70 )return -EINVAL ; - err =ide_wait_cmd (drive, -WIN_SETFEATURES , (u8 ) arg, -SETFEATURES_XFER ,0 ,NULL ); +memset (&task,0 ,sizeof (task)); + task.tf.command =WIN_SETFEATURES ; + task.tf.feature =SETFEATURES_XFER ; + task.tf.nsect = (u8 )arg; + task.tf_flags =IDE_TFLAG_OUT_FEATURE |IDE_TFLAG_OUT_NSECT | +IDE_TFLAG_IN_NSECT ; + + err =ide_no_data_taskfile (drive, &task);if (!err && arg) {ide_set_xfer_rate (drive, (u8 ) arg);
drivers/ide/ide-scan-pci.c new file +121 -0
121 lines not on this page · raw message
drivers/ide/ide-tape.c +5 -0
@@ -1690,6 +1690,11 @@ static int idetape_end_request(ide_drive_t *drive, int uptodate, int nr_sects)if (error) tape->failed_pc =NULL ; +if (!blk_special_request (rq)) { +ide_end_request (drive, uptodate, nr_sects); +return 0 ; + } +spin_lock_irqsave (&tape->spinlock, flags);/* The request was a pipelined data transfer request */
drivers/ide/ide-taskfile.c +68 -87
310 lines not on this page · raw message
drivers/ide/ide.c +36 -161
366 lines not on this page · raw message
drivers/ide/legacy/Makefile +14 -5
@@ -1,15 +1,24 @@ +# link order is important here + obj-$(CONFIG_BLK_DEV_ALI14XX) += ali14xx.o +obj-$(CONFIG_BLK_DEV_UMC8672) += umc8672.o obj-$(CONFIG_BLK_DEV_DTC2278) += dtc2278.o obj-$(CONFIG_BLK_DEV_HT6560B) += ht6560b.o obj-$(CONFIG_BLK_DEV_QD65XX) += qd65xx.o -obj-$(CONFIG_BLK_DEV_UMC8672) += umc8672.o -obj-$(CONFIG_BLK_DEV_IDECS) += ide-cs.o +obj-$(CONFIG_BLK_DEV_GAYLE) += gayle.o +obj-$(CONFIG_BLK_DEV_FALCON_IDE) += falconide.o +obj-$(CONFIG_BLK_DEV_MAC_IDE) += macide.o +obj-$(CONFIG_BLK_DEV_Q40IDE) += q40ide.o +obj-$(CONFIG_BLK_DEV_BUDDHA) += buddha.o -obj-$(CONFIG_BLK_DEV_PLATFORM) += ide_platform.o +ifeq ($(CONFIG_BLK_DEV_IDECS), m) + obj-m += ide-cs.o +endif -# Last of all -obj-$(CONFIG_BLK_DEV_HD) += hd.o +ifeq ($(CONFIG_BLK_DEV_PLATFORM), m) + obj-m += ide_platform.o +endif EXTRA_CFLAGS := -Idrivers/ide
drivers/ide/legacy/ali14xx.c +1 -4
@@ -231,8 +231,7 @@ int probe_ali14xx = 0;module_param_named (probe, probe_ali14xx, bool,0 );MODULE_PARM_DESC (probe,"probe for ALI M14xx chipsets" ); -/* Can be called directly from ide.c. */ -int __init ali14xx_init (void ) +static int __init ali14xx_init (void ) {if (probe_ali14xx ==0 ) goto out;
@@ -248,9 +247,7 @@ out:return -ENODEV ; } -#ifdef MODULE module_init (ali14xx_init); -#endif MODULE_AUTHOR ("see local file" );MODULE_DESCRIPTION ("support of ALI 14XX IDE chipsets" );
drivers/ide/legacy/buddha.c +25 -19
78 lines not on this page · raw message
drivers/ide/legacy/dtc2278.c +1 -4
@@ -150,8 +150,7 @@ int probe_dtc2278 = 0;module_param_named (probe, probe_dtc2278, bool,0 );MODULE_PARM_DESC (probe,"probe for DTC2278xx chipsets" ); -/* Can be called directly from ide.c. */ -int __init dtc2278_init (void ) +static int __init dtc2278_init (void ) {if (probe_dtc2278 ==0 )return -ENODEV ;
@@ -163,9 +162,7 @@ int __init dtc2278_init(void)return 0 ; } -#ifdef MODULE module_init (dtc2278_init); -#endif MODULE_AUTHOR ("See Local File" );MODULE_DESCRIPTION ("support of DTC-2278 VLB IDE chipsets" );
drivers/ide/legacy/falconide.c +17 -5
@@ -62,19 +62,31 @@ EXPORT_SYMBOL(falconide_intr_lock);* Probe for a Falcon IDE interface */ -void __init falconide_init (void ) +static int __init falconide_init (void ) {if (MACH_IS_ATARI &&ATARIHW_PRESENT (IDE )) {hw_regs_t hw; -int index; + +printk (KERN_INFO "ide: Falcon IDE controller\n" );ide_setup_ports (&hw,ATA_HD_BASE , falconide_offsets,0 ,0 ,NULL ,// falconide_iops, IRQ_MFP_IDE ); - index =ide_register_hw (&hw,NULL ,1 ,NULL ); -if (index !=-1 ) -printk ("ide%d: Falcon IDE interface\n" , index); + hwif =ide_find_port (hw.io_ports[IDE_DATA_OFFSET ]); +if (hwif) { +u8 index = hwif->index; +u8 idx[4 ] = { index,0xff ,0xff ,0xff }; + +ide_init_port_data (hwif, index); +ide_init_port_hw (hwif, &hw); + +ide_device_add (idx); + } } + +return 0 ; } + +module_init (falconide_init);
drivers/ide/legacy/gayle.c +26 -17
74 lines not on this page · raw message
drivers/ide/legacy/ht6560b.c +1 -4
@@ -307,8 +307,7 @@ int probe_ht6560b = 0;module_param_named (probe, probe_ht6560b, bool,0 );MODULE_PARM_DESC (probe,"probe for HT6560B chipset" ); -/* Can be called directly from ide.c. */ -int __init ht6560b_init (void ) +static int __init ht6560b_init (void ) {ide_hwif_t *hwif, *mate;static u8 idx[4 ] = {0 ,1 ,0xff ,0xff };
@@ -369,9 +368,7 @@ release_region:return -ENODEV ; } -#ifdef MODULE module_init (ht6560b_init); -#endif MODULE_AUTHOR ("See Local File" );MODULE_DESCRIPTION ("HT-6560B EIDE-controller support" );
drivers/ide/legacy/ide-cs.c +1 -1
@@ -153,7 +153,7 @@ static int idecs_register(unsigned long io, unsigned long ctl, unsigned long irq hw.irq = irq; hw.chipset = ide_pci; hw.dev = &handle->dev; -return ide_register_hw (&hw, &ide_undecoded_slave,0 ,NULL ); +return ide_register_hw (&hw, &ide_undecoded_slave,NULL ); }/*======================================================================
drivers/ide/legacy/ide_platform.c +28 -27
88 lines not on this page · raw message
drivers/ide/legacy/macide.c +28 -24
91 lines not on this page · raw message
drivers/ide/legacy/q40ide.c +18 -6
@@ -111,15 +111,17 @@ static const char *q40_ide_names[Q40IDE_NUM_HWIFS]={* Probe for Q40 IDE interfaces */ -void __init q40ide_init (void ) +static int __init q40ide_init (void ) {int i;ide_hwif_t *hwif; -int index;const char *name; +u8 idx[4 ] = {0xff ,0xff ,0xff ,0xff };if (!MACH_IS_Q40 ) -return ; +return -ENODEV ; + +printk (KERN_INFO "ide: Q40 IDE controller\n" );for (i =0 ; i <Q40IDE_NUM_HWIFS ; i++) {hw_regs_t hw;
@@ -141,10 +143,20 @@ void __init q40ide_init(void)0 ,NULL ,// m68kide_iops, q40ide_default_irq(pcide_bases[i])); - index =ide_register_hw (&hw,NULL ,1 , &hwif); -// **FIXME** -if (index !=-1 ) + + hwif =ide_find_port (hw.io_ports[IDE_DATA_OFFSET ]); +if (hwif) { +ide_init_port_data (hwif, hwif->index); +ide_init_port_hw (hwif, &hw); hwif->mmio =1 ; + + idx[i] = hwif->index; + } } + +ide_device_add (idx); + +return 0 ; } +module_init (q40ide_init);
drivers/ide/legacy/qd65xx.c +1 -4
@@ -478,8 +478,7 @@ int probe_qd65xx = 0;module_param_named (probe, probe_qd65xx, bool,0 );MODULE_PARM_DESC (probe,"probe for QD65xx chipsets" ); -/* Can be called directly from ide.c. */ -int __init qd65xx_init (void ) +static int __init qd65xx_init (void ) {if (probe_qd65xx ==0 )return -ENODEV ;
@@ -492,9 +491,7 @@ int __init qd65xx_init(void)return 0 ; } -#ifdef MODULE module_init (qd65xx_init); -#endif MODULE_AUTHOR ("Samuel Thibault" );MODULE_DESCRIPTION ("support of qd65xx vlb ide chipset" );
drivers/ide/legacy/umc8672.c +1 -4
@@ -169,8 +169,7 @@ int probe_umc8672 = 0;module_param_named (probe, probe_umc8672, bool,0 );MODULE_PARM_DESC (probe,"probe for UMC8672 chipset" ); -/* Can be called directly from ide.c. */ -int __init umc8672_init (void ) +static int __init umc8672_init (void ) {if (probe_umc8672 ==0 ) goto out;
@@ -181,9 +180,7 @@ out:return -ENODEV ;; } -#ifdef MODULE module_init (umc8672_init); -#endif MODULE_AUTHOR ("Wolfram Podien" );MODULE_DESCRIPTION ("Support for UMC 8672 IDE chipset" );
drivers/ide/mips/au1xxx-ide.c +8 -28
@@ -395,26 +395,10 @@ static int auide_dma_test_irq(ide_drive_t *drive)return 0 ; } -static void auide_dma_host_on (ide_drive_t *drive) +static void auide_dma_host_set (ide_drive_t *drive,int on) { } -static int auide_dma_on (ide_drive_t *drive) -{ - drive->using_dma =1 ; - -return 0 ; -} - -static void auide_dma_host_off (ide_drive_t *drive) -{ -} - -static void auide_dma_off_quietly (ide_drive_t *drive) -{ - drive->using_dma =0 ; -} -static void auide_dma_lost_irq (ide_drive_t *drive) {printk (KERN_ERR "%s: IRQ lost\n" , drive->name);
@@ -641,12 +625,13 @@ static int au_ide_probe(struct device *dev)/* FIXME: This might possibly break PCMCIA IDE devices */ hwif = &ide_hwifs[pdev->id]; - hwif->irq = ahwif->irq; - hwif->chipset = ide_au1xxx;memset (&hw,0 ,sizeof (hw));auide_setup_ports (&hw, ahwif); -memcpy (hwif->io_ports, hw.io_ports,sizeof (hwif->io_ports)); + hw.irq = ahwif->irq; + hw.chipset = ide_au1xxx; + +ide_init_port_hw (hwif, &hw); hwif->ultra_mask =0x0 ;/* Disable Ultra DMA */ #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
@@ -660,7 +645,6 @@ static int au_ide_probe(struct device *dev) hwif->pio_mask =ATA_PIO4 ; hwif->host_flags =IDE_HFLAG_POST_SET_MODE ; - hwif->noprobe =0 ; hwif->drives[0 ].unmask =1 ; hwif->drives[1 ].unmask =1 ;
@@ -682,29 +666,25 @@ static int au_ide_probe(struct device *dev) hwif->set_dma_mode = &auide_set_dma_mode;#ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA - hwif->dma_off_quietly = &auide_dma_off_quietly; hwif->dma_timeout = &auide_dma_timeout; hwif->mdma_filter = &auide_mdma_filter;
Lines of this file are not shown. View the raw message.
drivers/ide/pci/atiixp.c +18 -53
71 lines not on this page · raw message
drivers/ide/pci/cmd64x.c +1 -113
114 lines not on this page · raw message
drivers/ide/pci/cy82c693.c +11 -53
64 lines not on this page · raw message
drivers/ide/pci/sgiioc4.c +12 -37
49 lines not on this page · raw message
drivers/ide/pci/sl82c105.c +18 -71
89 lines not on this page · raw message
drivers/ide/ppc/pmac.c +24 -22
46 lines not on this page · raw message
drivers/ide/setup-pci.c +24 -127
151 lines not on this page · raw message
include/linux/ide.h +34 -27
61 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Re: From: Bartlomiej Zolnierkiewicz <[email protected]> (linux.* mail to news gateway)
drivers/ide/Kconfig config BLK_DEV_CELLEB · line 803
Quoted 3 lines
config
BLK_DEV_IDE_PMACdrivers/ide/Kconfig +1
-1- bool "Builtin PowerMac IDE support" + tristate "Builtin PowerMac IDE support"
This does not seem to make sense: if the option is now tristate, it is no longer "Builtin", so probably s/Builtin // in the description.
Cheers,
FJP
Re: From: Bartlomiej Zolnierkiewicz <[email protected]> (linux.* mail to news gateway)
Quoted 6 lines · Frans Pop
drivers/ide/Kconfig config BLK_DEV_CELLEB · line 803
Quoted 3 lines
config
BLK_DEV_IDE_PMACdrivers/ide/Kconfig +1
-1- bool "Builtin PowerMac IDE support" + tristate "Builtin PowerMac IDE support"This does not seem to make sense: if the option is now tristate, it is no longer "Builtin", so probably s/Builtin // in the description.
Or something like s/Builtin/Onboard/;
Re: From: Bartlomiej Zolnierkiewicz <[email protected]> (linux.* mail to news gateway)
Quoted 5 lines · Jan Engelhardt
Quoted 3 lines · Frans Pop
drivers/ide/Kconfig config BLK_DEV_CELLEB · line 803
Quoted 3 lines
config
BLK_DEV_IDE_PMACdrivers/ide/Kconfig +1
-1- bool "Builtin PowerMac IDE support" + tristate "Builtin PowerMac IDE support"
this change is no-op at the moment because the next Kconfig line is:
depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y
[ PPC-specific IDE host drivers are still a special case because they are
using ppc_ide_md architecture hooks instead of doing proper host driver initialization sequence - to be fixed after adding warm-plug support... ]
Quoted 4 lines
Quoted 2 lines
This does not seem to make sense: if the option is now tristate, it is no longer "Builtin", so probably s/Builtin // in the description.
Or something like s/Builtin/Onboard/;
Please send a patch.
Thanks,
Bart
PATCH 1/1 Use on-board instead of built-in in config options
Quoted 6 lines · Bartlomiej Zolnierkiewicz
Quoted 4 lines · Jan Engelhardt
Quoted 3 lines · Frans Pop
Review
Quoted 3 lines
config
BLK_DEV_IDE_PMAC(quoted diff) +1
-1- bool "Builtin PowerMac IDE support" + tristate "Builtin PowerMac IDE support"
Quoted 13 lines
this change is no-op at the moment because the next
Kconfigline is:depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y[ PPC-specific IDE host drivers are still a special case because they are
usingppc_ide_mdarchitecture hooks instead of doing proper host driver initialization sequence - to be fixed after adding warm-plug support...
]Quoted 4 lines
Quoted 2 lines
This does not seem to make sense: if the option is now tristate, it is no longer "Builtin", so probably s/Builtin // in the description.
Or something like s/Builtin/Onboard/;
I did not even consider that meaning of built-in, but that does seem more descriptive.
Quoted 1 line
Please send a patch.
Of course :-)
---
From: Frans Pop <[email protected]>
To avoid confusion between 'built-in' drivers and 'on-board' controllers, consistently use the term 'on-board' for controllers.
Minor line-wrapping improvements in descriptions for config options.
---
Spelling for on-board seems to be rather inconsistent. All of "on board", "on-board" and onboard currently occur. I've chosen "on-board" as that seems most correct to me.
drivers/ide/Kconfig +23 -23
@@ -617,8 +617,8 @@ config BLK_DEV_SC1200 tristate "National SCx200 chipset support" select BLK_DEV_IDEDMA_PCI help - This driver adds support for the built in IDE on the National - SCx200 series of embedded x86 "Geode" systems + This driver adds support for the on-board IDE controller on the + National SCx200 series of embedded x86 "Geode" systems. config BLK_DEV_PIIX tristate "Intel PIIXn chipsets support"
@@ -793,22 +793,22 @@ config BLK_DEV_CELLEB depends on PPC_CELLEB select BLK_DEV_IDEDMA_PCI help - This driver provides support for the built-in IDE controller on + This driver provides support for the on-board IDE controller on Toshiba Cell Reference Board. If unsure, say Y. endif config BLK_DEV_IDE_PMAC - tristate "Builtin PowerMac IDE support" + tristate "PowerMac on-board IDE support" depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y help - This driver provides support for the built-in IDE controller on + This driver provides support for the on-board IDE controller on most of the recent Apple Power Macintoshes and PowerBooks. If unsure, say Y. config BLK_DEV_IDE_PMAC_ATA100FIRST - bool "Probe internal ATA/100 (Kauai) first" + bool "Probe on-board ATA/100 (Kauai) first" depends on BLK_DEV_IDE_PMAC help This option will cause the ATA/100 controller found in UniNorth2
@@ -823,7 +823,7 @@ config BLK_DEV_IDEDMA_PMAC depends on BLK_DEV_IDE_PMAC select BLK_DEV_IDEDMA_PCI help - This option allows the driver for the built-in IDE controller on + This option allows the driver for the on-board IDE controller on Power Macintoshes and PowerBooks to use DMA (direct memory access) to transfer data to and from memory. Saying Y is safe and improves performance.
@@ -934,7 +934,7 @@ config BLK_DEV_GAYLE help 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, - This includes builtin IDE interfaces on some Amiga models (A600, + This includes on-board IDE interfaces on some Amiga models (A600, A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion bus (M-Tech E-Matrix 530 expansion card). Say Y if you have an Amiga with a Gayle IDE interface and want to use
@@ -948,10 +948,10 @@ config BLK_DEV_IDEDOUBLER depends on BLK_DEV_GAYLE && EXPERIMENTAL ---help--- This driver provides support for the so-called `IDE doublers' (made - by various manufacturers, e.g. Eyetech) that can be connected to the - builtin IDE interface of some Amiga models. Using such an IDE - doubler, you can connect up to four instead of two IDE devices on - the Amiga's builtin IDE interface. + by various manufacturers, e.g. Eyetech) that can be connected to + the on-board IDE interface of some Amiga models. Using such an IDE + doubler, you can connect up to four instead of two IDE devices to + the Amiga's on-board IDE interface. Note that the normal Amiga Gayle IDE driver may not work correctly if you have an IDE doubler and don't enable this driver!
@@ -963,9 +963,9 @@ config BLK_DEV_BUDDHA tristate "Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)" depends on ZORRO && EXPERIMENTAL help - This is the IDE driver for the IDE interfaces on the Buddha, - Catweasel and X-Surf expansion boards. It supports up to two interfaces - on the Buddha, three on the Catweasel and two on the X-Surf. + This is the IDE driver for the IDE interfaces on the Buddha, Catweasel + and X-Surf expansion boards. It supports up to two interfaces on the + Buddha, three on the Catweasel and two on the X-Surf. Say Y if you have a Buddha or Catweasel expansion board and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
@@ -975,23 +975,23 @@ config BLK_DEV_FALCON_IDE tristate "Falcon IDE interface support" depends on ATARI help - This is the IDE driver for the builtin IDE interface on the Atari + This is the IDE driver for the on-board IDE interface on the Atari Falcon. Say Y if you have a Falcon and want to use IDE devices (hard - disks, CD-ROM drives, etc.) that are connected to the builtin IDE + disks, CD-ROM drives, etc.) that are connected to the on-board IDE interface. config BLK_DEV_MAC_IDE tristate "Macintosh Quadra/Powerbook IDE interface support" depends on MAC help - This is the IDE driver for the builtin IDE interface on some m68k + This is the IDE driver for the on-board IDE interface on some m68k Macintosh models. It supports both the `Quadra style' (used in Quadra/ Centris 630 and Performa 588 models) and `Powerbook style' (used in the Powerbook 150 and 190 models) IDE interface. Say Y if you have such an Macintosh model and want to use IDE devices (hard disks, CD-ROM drives, etc.) that are connected to the - builtin IDE interface. + on-board IDE interface. config BLK_DEV_Q40IDE tristate "Q40/Q60 IDE interface support"
@@ -1062,8 +1062,8 @@ config BLK_DEV_ALI14XX boot parameter. It enables support for the secondary IDE interface of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster I/O speeds to be set as well. See the files - <file:Documentation/ide.txt> and <file:drivers/ide/legacy/ali14xx.c> for - more info. + <file:Documentation/ide.txt> and <file:drivers/ide/legacy/ali14xx.c> + for more info. config BLK_DEV_DTC2278 tristate "DTC-2278 support"
@@ -1088,8 +1088,8 @@ config BLK_DEV_QD65XX 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 - <file:Documentation/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> for - more info. + <file:Documentation/ide.txt> and <file:drivers/ide/legacy/qd65xx.c> + for more info. config BLK_DEV_UMC8672 tristate "UMC-8672 support"
Bartlomiej Zolnierkiewicz
AppliedRe: [PATCH] Use on-board instead of built-in in config options
Quoted 31 lines · Frans Pop
Quoted 6 lines · Bartlomiej Zolnierkiewicz
Quoted 4 lines · Jan Engelhardt
Quoted 3 lines · Frans Pop
Review
Quoted 3 lines
config
BLK_DEV_IDE_PMAC(quoted diff) +1
-1- bool "Builtin PowerMac IDE support" + tristate "Builtin PowerMac IDE support"Quoted 13 lines
this change is no-op at the moment because the next
Kconfigline is:depends on PPC_PMAC && IDE=y && BLK_DEV_IDE=y[ PPC-specific IDE host drivers are still a special case because they are
usingppc_ide_mdarchitecture hooks instead of doing proper host driver initialization sequence - to be fixed after adding warm-plug support...
]Quoted 4 lines
Quoted 2 lines
This does not seem to make sense: if the option is now tristate, it is no longer "Builtin", so probably s/Builtin // in the description.
Or something like s/Builtin/Onboard/;
I did not even consider that meaning of built-in, but that does seem more descriptive.
Quoted 1 line
Please send a patch.
Of course :-)
---
From: Frans Pop <[email protected]>
Quoted 6 lines
To avoid confusion between 'built-in' drivers and 'on-board' controllers, consistently use the term 'on-board' for controllers.
Minor line-wrapping improvements in descriptions for config options.
Signed-off-by Frans Pop <[email protected]>
applied, thanks