ide: remove drive->ctl
PATCH 4/4 ide: remove drive->ctl
Remove drive->ctl (it is always equal to 0x08 after init time).
While at it:
* Use ATA_DEVCTL_OBS define.
There should be no functional changes caused by this patch.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/h8300/ide-h8300.c | 4 ++-- drivers/ide/ide-iops.c | 10 +++++----- drivers/ide/ide-probe.c | 2 +- drivers/ide/ide.c | 1 - drivers/ide/pci/hpt366.c | 3 +-- drivers/ide/pci/ns87415.c | 4 ++-- drivers/ide/pci/scc_pata.c | 4 ++-- drivers/ide/pci/sgiioc4.c | 2 +- include/linux/ide.h | 3 +-- 9 files changed, 15 insertions(+), 18 deletions(-)
drivers/ide/h8300/ide-h8300.c +2 -2
@@ -96,7 +96,7 @@ static void h8300_tf_read(ide_drive_t *d }/* be sure we're looking at the low order bits */ -outb (drive->ctl & ~0x80 , io_ports->ctl_addr); +outb (ATA_DEVCTL_OBS & ~0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_NSECT ) tf->nsect =inb (io_ports->nsect_addr);
@@ -110,7 +110,7 @@ static void h8300_tf_read(ide_drive_t *d tf->device =inb (io_ports->device_addr);if (task->tf_flags &IDE_TFLAG_LBA48 ) { -outb (drive->ctl |0x80 , io_ports->ctl_addr); +outb (ATA_DEVCTL_OBS |0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_HOB_FEATURE ) tf->hob_feature =inb (io_ports->feature_addr);
drivers/ide/ide-iops.c +5 -5
@@ -186,7 +186,7 @@ static void ide_tf_read(ide_drive_t *dri }/* be sure we're looking at the low order bits */ -tf_outb (drive->ctl & ~0x80 , io_ports->ctl_addr); +tf_outb (ATA_DEVCTL_OBS & ~0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_NSECT ) tf->nsect =tf_inb (io_ports->nsect_addr);
@@ -200,7 +200,7 @@ static void ide_tf_read(ide_drive_t *dri tf->device =tf_inb (io_ports->device_addr);if (task->tf_flags &IDE_TFLAG_LBA48 ) { -tf_outb (drive->ctl |0x80 , io_ports->ctl_addr); +tf_outb (ATA_DEVCTL_OBS |0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_HOB_FEATURE ) tf->hob_feature =tf_inb (io_ports->feature_addr);
@@ -1125,13 +1125,13 @@ static ide_startstop_t do_reset1 (ide_dr* recover from reset very quickly, saving us the first 50ms wait time. */ /* set SRST and nIEN */ - hwif->OUTBSYNC (hwif, drive->ctl |6 , io_ports->ctl_addr); + hwif->OUTBSYNC (hwif,ATA_DEVCTL_OBS |6 , io_ports->ctl_addr);/* more than enough time */ udelay (10 );if (drive->quirk_list ==2 ) - ctl = drive->ctl;/* clear SRST and nIEN */ + ctl =ATA_DEVCTL_OBS ;/* clear SRST and nIEN */ else - ctl = drive->ctl |2 ;/* clear SRST, leave nIEN */ + ctl =ATA_DEVCTL_OBS |2 ;/* clear SRST, leave nIEN */ hwif->OUTBSYNC (hwif, ctl, io_ports->ctl_addr);/* more than enough time */ udelay (10 );
drivers/ide/ide-probe.c +1 -1
@@ -1068,7 +1068,7 @@ static int init_irq (ide_hwif_t *hwif)if (io_ports->ctl_addr)/* clear nIEN */ - hwif->OUTBSYNC (hwif,0x08 , io_ports->ctl_addr); + hwif->OUTBSYNC (hwif,ATA_DEVCTL_OBS , io_ports->ctl_addr);if (request_irq (hwif->irq,&ide_intr,sa,hwif->name,hwgroup)) goto out_unlink;
drivers/ide/ide.c +0 -1
@@ -136,7 +136,6 @@ static void ide_port_init_devices_data(i drive->media = ide_disk; drive->select.all = (unit<<4 )|0xa0 ; drive->hwif = hwif; - drive->ctl =0x08 ; drive->ready_stat =READY_STAT ; drive->bad_wstat =BAD_W_STAT ; drive->special.b.recalibrate =1 ;
drivers/ide/pci/hpt366.c +1 -2
@@ -759,8 +759,7 @@ static void hpt3xx_maskproc(ide_drive_tenable_irq (hwif->irq); } }else -outb (mask ? (drive->ctl |2 ) : (drive->ctl & ~2 ), - hwif->io_ports.ctl_addr); +outb (ATA_DEVCTL_OBS | (mask ?2 :0 ), hwif->io_ports.ctl_addr); }/*
drivers/ide/pci/ns87415.c +2 -2
@@ -76,7 +76,7 @@ static void superio_tf_read(ide_drive_t }/* be sure we're looking at the low order bits */ -outb (drive->ctl & ~0x80 , io_ports->ctl_addr); +outb (ATA_DEVCTL_OBS & ~0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_NSECT ) tf->nsect =inb (io_ports->nsect_addr);
@@ -90,7 +90,7 @@ static void superio_tf_read(ide_drive_t tf->device =superio_ide_inb (io_ports->device_addr);if (task->tf_flags &IDE_TFLAG_LBA48 ) { -outb (drive->ctl |0x80 , io_ports->ctl_addr); +outb (ATA_DEVCTL_OBS |0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_HOB_FEATURE ) tf->hob_feature =inb (io_ports->feature_addr);
drivers/ide/pci/scc_pata.c +2 -2
@@ -703,7 +703,7 @@ static void scc_tf_read(ide_drive_t *dri }/* be sure we're looking at the low order bits */ -scc_ide_outb (drive->ctl & ~0x80 , io_ports->ctl_addr); +scc_ide_outb (ATA_DEVCTL_OBS & ~0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_NSECT ) tf->nsect =scc_ide_inb (io_ports->nsect_addr);
@@ -717,7 +717,7 @@ static void scc_tf_read(ide_drive_t *dri tf->device =scc_ide_inb (io_ports->device_addr);if (task->tf_flags &IDE_TFLAG_LBA48 ) { -scc_ide_outb (drive->ctl |0x80 , io_ports->ctl_addr); +scc_ide_outb (ATA_DEVCTL_OBS |0x80 , io_ports->ctl_addr);if (task->tf_flags &IDE_TFLAG_IN_HOB_FEATURE ) tf->hob_feature =scc_ide_inb (io_ports->feature_addr);
drivers/ide/pci/sgiioc4.c +1 -1
@@ -111,7 +111,7 @@ sgiioc4_init_hwif_ports(hw_regs_t * hw,static void sgiioc4_maskproc (ide_drive_t * drive,int mask) { -writeb (mask ? (drive->ctl |2 ) : (drive->ctl & ~2 ), +writeb (ATA_DEVCTL_OBS | (mask ?2 :0 ), (void __iomem *)drive->hwif->io_ports.ctl_addr); }
include/linux/ide.h +1 -2
@@ -349,7 +349,6 @@ typedef struct ide_drive_s {u8 wcache;/* status of write cache */ u8 acoustic;/* acoustic management */ u8 media;/* disk, cdrom, tape, floppy, ... */ -u8 ctl;/* "normal" value for Control register */ u8 ready_stat;/* min status value for drive ready */ u8 mult_count;/* current multiple sector setting */ u8 mult_req;/* requested multiple sector setting */
@@ -1325,7 +1324,7 @@ static inline void ide_set_irq(ide_drive {ide_hwif_t *hwif = drive->hwif; - hwif->OUTBSYNC (hwif, drive->ctl | (on ?0 :2 ), + hwif->OUTBSYNC (hwif,ATA_DEVCTL_OBS | (on ?0 :2 ), hwif->io_ports.ctl_addr); }