mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 19:56:18 +00:00
ide: add ->tf_load and ->tf_read methods
* Add ->tf_load and ->tf_read methods to ide_hwif_t and set the default methods in default_hwif_transport(). * Use ->tf_{load,read} instead o calling ide_tf_{load,read}() directly. * Make ide_tf_{load,read}() static. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
d309e0bb8e
commit
94cd5b62ff
5 changed files with 14 additions and 9 deletions
|
@ -330,7 +330,7 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err)
|
|||
tf->error = err;
|
||||
tf->status = stat;
|
||||
|
||||
ide_tf_read(drive, task);
|
||||
drive->hwif->tf_read(drive, task);
|
||||
|
||||
if (task->tf_flags & IDE_TFLAG_DYN)
|
||||
kfree(task);
|
||||
|
@ -1638,7 +1638,7 @@ void ide_pktcmd_tf_load(ide_drive_t *drive, u32 tf_flags, u16 bcount, u8 dma)
|
|||
task.tf.lbah = (bcount >> 8) & 0xff;
|
||||
|
||||
ide_tf_dump(drive->name, &task.tf);
|
||||
ide_tf_load(drive, &task);
|
||||
drive->hwif->tf_load(drive, &task);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL_GPL(ide_pktcmd_tf_load);
|
||||
|
|
|
@ -127,7 +127,7 @@ void SELECT_MASK (ide_drive_t *drive, int mask)
|
|||
port_ops->maskproc(drive, mask);
|
||||
}
|
||||
|
||||
void ide_tf_load(ide_drive_t *drive, ide_task_t *task)
|
||||
static void ide_tf_load(ide_drive_t *drive, ide_task_t *task)
|
||||
{
|
||||
ide_hwif_t *hwif = drive->hwif;
|
||||
struct ide_io_ports *io_ports = &hwif->io_ports;
|
||||
|
@ -172,7 +172,7 @@ void ide_tf_load(ide_drive_t *drive, ide_task_t *task)
|
|||
io_ports->device_addr);
|
||||
}
|
||||
|
||||
void ide_tf_read(ide_drive_t *drive, ide_task_t *task)
|
||||
static void ide_tf_read(ide_drive_t *drive, ide_task_t *task)
|
||||
{
|
||||
ide_hwif_t *hwif = drive->hwif;
|
||||
struct ide_io_ports *io_ports = &hwif->io_ports;
|
||||
|
@ -323,6 +323,9 @@ static void ata_output_data(ide_drive_t *drive, struct request *rq,
|
|||
|
||||
void default_hwif_transport(ide_hwif_t *hwif)
|
||||
{
|
||||
hwif->tf_load = ide_tf_load;
|
||||
hwif->tf_read = ide_tf_read;
|
||||
|
||||
hwif->input_data = ata_input_data;
|
||||
hwif->output_data = ata_output_data;
|
||||
}
|
||||
|
|
|
@ -487,7 +487,7 @@ static void ide_dump_sector(ide_drive_t *drive)
|
|||
else
|
||||
task.tf_flags = IDE_TFLAG_IN_LBA | IDE_TFLAG_IN_DEVICE;
|
||||
|
||||
ide_tf_read(drive, &task);
|
||||
drive->hwif->tf_read(drive, &task);
|
||||
|
||||
if (lba48 || (tf->device & ATA_LBA))
|
||||
printk(", LBAsect=%llu",
|
||||
|
|
|
@ -109,7 +109,7 @@ ide_startstop_t do_rw_taskfile (ide_drive_t *drive, ide_task_t *task)
|
|||
|
||||
if ((task->tf_flags & IDE_TFLAG_DMA_PIO_FALLBACK) == 0) {
|
||||
ide_tf_dump(drive->name, tf);
|
||||
ide_tf_load(drive, task);
|
||||
hwif->tf_load(drive, task);
|
||||
}
|
||||
|
||||
switch (task->data_phase) {
|
||||
|
|
|
@ -427,6 +427,8 @@ struct ide_dma_ops {
|
|||
void (*dma_timeout)(struct ide_drive_s *);
|
||||
};
|
||||
|
||||
struct ide_task_s;
|
||||
|
||||
typedef struct hwif_s {
|
||||
struct hwif_s *next; /* for linked-list in ide_hwgroup_t */
|
||||
struct hwif_s *mate; /* other hwif from same PCI chip */
|
||||
|
@ -467,6 +469,9 @@ typedef struct hwif_s {
|
|||
const struct ide_port_ops *port_ops;
|
||||
const struct ide_dma_ops *dma_ops;
|
||||
|
||||
void (*tf_load)(ide_drive_t *, struct ide_task_s *);
|
||||
void (*tf_read)(ide_drive_t *, struct ide_task_s *);
|
||||
|
||||
void (*input_data)(ide_drive_t *, struct request *, void *, unsigned);
|
||||
void (*output_data)(ide_drive_t *, struct request *, void *, unsigned);
|
||||
|
||||
|
@ -962,9 +967,6 @@ typedef struct ide_task_s {
|
|||
|
||||
void ide_tf_dump(const char *, struct ide_taskfile *);
|
||||
|
||||
void ide_tf_load(ide_drive_t *, ide_task_t *);
|
||||
void ide_tf_read(ide_drive_t *, ide_task_t *);
|
||||
|
||||
extern void SELECT_DRIVE(ide_drive_t *);
|
||||
extern void SELECT_MASK(ide_drive_t *, int);
|
||||
|
||||
|
|
Loading…
Reference in a new issue