Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94cd5b62 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

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: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent d309e0bb
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+5 −2
Original line number Diff line number Diff line
@@ -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;
}
+1 −1
Original line number Diff line number Diff line
@@ -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",
+1 −1
Original line number Diff line number Diff line
@@ -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) {
+5 −3
Original line number Diff line number Diff line
@@ -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);