Skip to contentSkip to conversation

IDE updates part #2

PATCH In review Bartlomiej Zolnierkiewicz 3 participants 6 messages Jan 26, 2008 – Feb 1, 2008

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

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
index 1d50f23..94e2e3b 100644
@@ -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
index 6a78f07..5f63ad2 100644
@@ -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
index 48db616..45bf9c8 100644
@@ -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
index 673402f..8a5c720 100644
@@ -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
index 8957cba..60f2497 100644
@@ -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
index 0775a3a..e6b56d1 100644
@@ -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
index 6176e8d..20b9596 100644
@@ -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
index 325e608..8c3294c 100644
@@ -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
new file mode 100644
index 0000000..5eba16f
@@ -0,0 +1,2 @@
+
+obj-$(CONFIG_IDE_H8300)			+= ide-h8300.o
drivers/ide/h8300/ide-h8300.c +20 -7
index 4a49b5c..4f6d019 100644
@@ -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
index e0bb0cf..e888fc3 100644
@@ -386,7 +386,7 @@ static int taskfile_load_raw(ide_drive_t *drive,
 
 	/* convert gtf to IDE Taskfile */
 	memcpy(&args.tf_array[7], &gtf->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
index 0f72b98..bb30c29 100644
@@ -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
index c97c071..e2a7e95 100644
@@ -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
index a3bd8e8..9b44fbd 100644
@@ -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
index e245521..cbbb0f7 100644
@@ -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
index a4007d3..aa663e7 100644
@@ -346,14 +346,20 @@ static int ide_write_setting(ide_drive_t *drive, ide_settings_t *setting, int va
 
 static 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
index 3cbca3f..d71a584 100644
@@ -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
index 4098223..7043ec7 100644
@@ -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
index 38c3a6d..5ec0be4 100644
@@ -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
index 24a845d..13eee6d 100644
@@ -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
index 7d7936f..2860956 100644
@@ -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
index a4245d1..8da5031 100644
@@ -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
index 03715c0..f4ea15b 100644
@@ -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
index 6ea46a6..f532973 100644
@@ -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
index 912e738..2bac4c1 100644
@@ -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
index 79577b9..a1ae1ae 100644
@@ -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
index a4d0d4c..2d3e511 100644
@@ -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;
 
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

drivers/ide/mips/swarm.c +1 -0
index 521edd4..8b3959d 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/Makefile +4 -0
index 95d1ea8..9480325 100644

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/cmd640.c +14 -2
index 4aa4810..da3565e 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/cmd64x.c +1 -113

114 lines not on this page · raw message

drivers/ide/pci/cs5520.c +7 -12
index d1a91bc..6ec00b8 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/cy82c693.c +11 -53

64 lines not on this page · raw message

drivers/ide/pci/delkin_cb.c +1 -1
index 8382908..26aa492 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/hpt366.c +7 -4
index 3777fb8..1268593 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/it821x.c +12 -25
index 99b7d76..e610a53 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/pdc202xx_new.c +7 -4
index ef4a99b..89d2363 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/pdc202xx_old.c +7 -4
index 67b2781..3a1e081 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/sc1200.c +3 -3
index fef20bd..32fdf53 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/serverworks.c +6 -19
index e9bd269..877c09b 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/sgiioc4.c +12 -37

49 lines not on this page · raw message

drivers/ide/pci/siimage.c +7 -8
index 7b45eaf..908f37b 100644

Lines of this file are not shown. View the raw message.

drivers/ide/pci/sl82c105.c +18 -71

89 lines not on this page · raw message

drivers/ide/pci/trm290.c +2 -7
index 0151d7f..04cd893 100644

Lines of this file are not shown. View the raw message.

drivers/ide/ppc/Makefile new file +3 -0
new file mode 100644
index 0000000..65af584

Lines of this file are not shown. View the raw message.

drivers/ide/ppc/mpc8xx.c +18 -0
index 5f0da35..3fd5d45 100644

Lines of this file are not shown. View the 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

drivers/macintosh/mediabay.c +2 -1
index 48d647a..eaba4a9 100644

Lines of this file are not shown. View the raw message.

include/linux/blkdev.h +0 -1
index bd20a4e..49b7a4c 100644

Lines of this file are not shown. View the 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.

#1 lore raw

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_PMAC

drivers/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

#2 lore raw

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_PMAC

drivers/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/;

#3 lore raw

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_PMAC

drivers/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

#4 lore raw

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 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/;

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
index 64df55e..92b0117 100644
@@ -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"
#5 lore raw

Re: [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 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/;

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.

applied, thanks