ide: pass 'hwif *' instead of 'drive *' to ->OUTBSYNC method
PATCH 1/4 ide: pass 'hwif *' instead of 'drive *' to ->OUTBSYNC method
There should be no functional changes caused by this patch.
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-io.c | 2 +- drivers/ide/ide-iops.c | 18 +++++++++--------- drivers/ide/ide-probe.c | 6 +++--- drivers/ide/ide-taskfile.c | 2 +- drivers/ide/pci/scc_pata.c | 5 +---- drivers/ide/ppc/pmac.c | 6 +++--- drivers/scsi/ide-scsi.c | 2 +- include/linux/ide.h | 2 +- 8 files changed, 20 insertions(+), 23 deletions(-)
drivers/ide/ide-io.c +1 -1
@@ -437,7 +437,7 @@ static ide_startstop_t ide_atapi_error(iif (ide_read_status (drive) & (BUSY_STAT |DRQ_STAT ))/* force an abort */ - hwif->OUTBSYNC (drive,WIN_IDLEIMMEDIATE , + hwif->OUTBSYNC (hwif,WIN_IDLEIMMEDIATE , hwif->io_ports.command_addr);if (rq->errors >=ERROR_MAX ) {
drivers/ide/ide-iops.c +9 -9
@@ -42,7 +42,7 @@ static void ide_outb (u8 val, unsigned loutb (val, port); } -static void ide_outbsync (ide_drive_t *drive,u8 addr,unsigned long port) +static void ide_outbsync (ide_hwif_t *hwif,u8 addr,unsigned long port) {outb (addr, port); }
@@ -68,7 +68,7 @@ static void ide_mm_outb (u8 value, unsigwriteb (value, (void __iomem *) port); } -static void ide_mm_outbsync (ide_drive_t *drive,u8 value,unsigned long port) +static void ide_mm_outbsync (ide_hwif_t *hwif,u8 value,unsigned long port) {writeb (value, (void __iomem *) port); }
@@ -686,7 +686,7 @@ int ide_driveid_update(ide_drive_t *drivSELECT_MASK (drive,1 );ide_set_irq (drive,1 );msleep (50 ); - hwif->OUTBSYNC (drive,WIN_IDENTIFY , hwif->io_ports.command_addr); + hwif->OUTBSYNC (hwif,WIN_IDENTIFY , hwif->io_ports.command_addr); timeout = jiffies +WAIT_WORSTCASE ; do { if (time_after(jiffies, timeout)) {
@@ -773,7 +773,7 @@ int ide_config_drive_speed(ide_drive_t *ide_set_irq (drive,0 ); hwif->OUTB (speed, io_ports->nsect_addr); hwif->OUTB (SETFEATURES_XFER , io_ports->feature_addr); - hwif->OUTBSYNC (drive,WIN_SETFEATURES , io_ports->command_addr); + hwif->OUTBSYNC (hwif,WIN_SETFEATURES , io_ports->command_addr);if (drive->quirk_list ==2 )ide_set_irq (drive,1 );
@@ -881,7 +881,7 @@ void ide_execute_command(ide_drive_t *drspin_lock_irqsave (&ide_lock, flags);__ide_set_handler (drive, handler, timeout, expiry); - hwif->OUTBSYNC (drive, cmd, hwif->io_ports.command_addr); + hwif->OUTBSYNC (hwif, cmd, hwif->io_ports.command_addr);/* * Drive takes 400nS to respond, we must avoid the IRQ being * serviced before that.
@@ -899,7 +899,7 @@ void ide_execute_pkt_cmd(ide_drive_t *drunsigned long flags;spin_lock_irqsave (&ide_lock, flags); - hwif->OUTBSYNC (drive,WIN_PACKETCMD , hwif->io_ports.command_addr); + hwif->OUTBSYNC (hwif,WIN_PACKETCMD , hwif->io_ports.command_addr);ndelay (400 );spin_unlock_irqrestore (&ide_lock, flags); }
@@ -1094,7 +1094,7 @@ static ide_startstop_t do_reset1 (ide_drpre_reset (drive);SELECT_DRIVE (drive);udelay (20 ); - hwif->OUTBSYNC (drive,WIN_SRST , io_ports->command_addr); + hwif->OUTBSYNC (hwif,WIN_SRST , io_ports->command_addr);ndelay (400 ); hwgroup->poll_timeout = jiffies +WAIT_WORSTCASE ; hwgroup->polling =1 ;
@@ -1125,14 +1125,14 @@ 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 (drive, drive->ctl|6 , io_ports->ctl_addr); + hwif->OUTBSYNC (hwif, drive->ctl |6 , io_ports->ctl_addr);/* more than enough time */ udelay (10 );if (drive->quirk_list ==2 ) ctl = drive->ctl;/* clear SRST and nIEN */ else ctl = drive->ctl |2 ;/* clear SRST, leave nIEN */ - hwif->OUTBSYNC (drive, ctl, io_ports->ctl_addr); + hwif->OUTBSYNC (hwif, ctl, io_ports->ctl_addr);/* more than enough time */ udelay (10 ); hwgroup->poll_timeout = jiffies +WAIT_WORSTCASE ;
drivers/ide/ide-probe.c +3 -3
@@ -293,7 +293,7 @@ static int actual_try_to_identify (ide_d hwif->OUTB (0 , io_ports->feature_addr);/* ask drive for ID */ - hwif->OUTBSYNC (drive, cmd, io_ports->command_addr); + hwif->OUTBSYNC (hwif, cmd, hwif->io_ports.command_addr); timeout = ((cmd ==WIN_IDENTIFY ) ?WAIT_WORSTCASE :WAIT_PIDENTIFY ) /2 ; timeout += jiffies;
@@ -480,7 +480,7 @@ static int do_probe (ide_drive_t *drive,msleep (50 );SELECT_DRIVE (drive);msleep (50 ); - hwif->OUTBSYNC (drive,WIN_SRST , io_ports->command_addr); + hwif->OUTBSYNC (hwif,WIN_SRST , io_ports->command_addr); (void )ide_busy_sleep (hwif); rc =try_to_identify (drive, cmd); }
@@ -516,7 +516,7 @@ static void enable_nest (ide_drive_t *drprintk ("%s: enabling %s -- " , hwif->name, drive->id->model);SELECT_DRIVE (drive);msleep (50 ); - hwif->OUTBSYNC (drive,EXABYTE_ENABLE_NEST , hwif->io_ports.command_addr); + hwif->OUTBSYNC (hwif,EXABYTE_ENABLE_NEST , hwif->io_ports.command_addr);if (ide_busy_sleep (hwif)) {printk (KERN_CONT "failed (timeout)\n" );
drivers/ide/ide-taskfile.c +1 -1
@@ -117,7 +117,7 @@ ide_startstop_t do_rw_taskfile (ide_drivswitch (task->data_phase) {case TASKFILE_MULTI_OUT :case TASKFILE_OUT : - hwif->OUTBSYNC (drive, tf->command, hwif->io_ports.command_addr); + hwif->OUTBSYNC (hwif, tf->command, hwif->io_ports.command_addr);ndelay (400 );/* FIXME */ return pre_task_out_intr (drive, task->rq);case TASKFILE_MULTI_IN :
drivers/ide/pci/scc_pata.c +1 -4
@@ -148,11 +148,8 @@ static void scc_ide_outb(u8 addr, unsignout_be32 ((void *)port, addr); } -static void -scc_ide_outbsync (ide_drive_t * drive,u8 addr,unsigned long port) +static void scc_ide_outbsync (ide_hwif_t *hwif,u8 addr,unsigned long port) { -ide_hwif_t *hwif =HWIF (drive); -out_be32 ((void *)port, addr);eieio ();in_be32 ((void *)(hwif->dma_base +0x01c ));
drivers/ide/ppc/pmac.c +3 -3
@@ -481,13 +481,13 @@ pmac_ide_do_update_timings(ide_drive_t *pmac_ide_selectproc (drive); } -static void -pmac_outbsync (ide_drive_t *drive,u8 value,unsigned long port) +static void pmac_outbsync (ide_hwif_t *hwif,u8 value,unsigned long port) {u32 tmp;writeb (value, (void __iomem *) port); - tmp =readl (PMAC_IDE_REG (IDE_TIMING_CONFIG )); + tmp =readl ((void __iomem *)(hwif->io_ports.data_addr + +IDE_TIMING_CONFIG )); }/*
drivers/scsi/ide-scsi.c +1 -1
@@ -257,7 +257,7 @@ idescsi_atapi_error(ide_drive_t *drive,if (ide_read_status (drive) & (BUSY_STAT |DRQ_STAT ))/* force an abort */ - hwif->OUTBSYNC (drive,WIN_IDLEIMMEDIATE , + hwif->OUTBSYNC (hwif,WIN_IDLEIMMEDIATE , hwif->io_ports.command_addr); rq->errors++;
include/linux/ide.h +1 -1
@@ -478,7 +478,7 @@ typedef struct hwif_s {void (*ide_dma_clear_irq)(ide_drive_t *drive);void (*OUTB )(u8 addr,unsigned long port); -void (*OUTBSYNC )(ide_drive_t *drive,u8 addr,unsigned long port); +void (*OUTBSYNC )(struct hwif_s *hwif,u8 addr,unsigned long port);u8 (*INB )(unsigned long port);