From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: linux-ide@vger.kernel.org
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH 3/9] ide: add ->tf_load and ->tf_read methods
Date: Sat, 12 Apr 2008 14:34:15 +0200 [thread overview]
Message-ID: <20080412123415.18751.51136.sendpatchset@localhost.localdomain> (raw)
In-Reply-To: <20080412123401.18751.17246.sendpatchset@localhost.localdomain>
* 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.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
---
drivers/ide/ide-io.c | 4 ++--
drivers/ide/ide-iops.c | 7 +++++--
drivers/ide/ide-lib.c | 2 +-
drivers/ide/ide-taskfile.c | 2 +-
include/linux/ide.h | 8 +++++---
5 files changed, 14 insertions(+), 9 deletions(-)
Index: b/drivers/ide/ide-io.c
===================================================================
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -330,7 +330,7 @@ void ide_end_drive_cmd (ide_drive_t *dri
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 *dri
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);
Index: b/drivers/ide/ide-iops.c
===================================================================
--- a/drivers/ide/ide-iops.c
+++ b/drivers/ide/ide-iops.c
@@ -127,7 +127,7 @@ void SELECT_MASK (ide_drive_t *drive, in
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
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
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;
}
Index: b/drivers/ide/ide-lib.c
===================================================================
--- a/drivers/ide/ide-lib.c
+++ b/drivers/ide/ide-lib.c
@@ -487,7 +487,7 @@ static void ide_dump_sector(ide_drive_t
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",
Index: b/drivers/ide/ide-taskfile.c
===================================================================
--- a/drivers/ide/ide-taskfile.c
+++ b/drivers/ide/ide-taskfile.c
@@ -109,7 +109,7 @@ ide_startstop_t do_rw_taskfile (ide_driv
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) {
Index: b/include/linux/ide.h
===================================================================
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -429,6 +429,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 */
@@ -469,6 +471,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);
@@ -951,9 +956,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);
next prev parent reply other threads:[~2008-04-12 12:18 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-12 12:34 [PATCH 1/9] ide: factor out debugging code from ide_tf_load() Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` [PATCH 2/9] ide: move ide_tf_{load,read} to ide-iops.c Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` Bartlomiej Zolnierkiewicz [this message]
2008-04-16 18:12 ` [PATCH 3/9] ide: add ->tf_load and ->tf_read methods Sergei Shtylyov
2008-04-16 22:22 ` Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` [PATCH 4/9] ide-cris: add ->tf_{load,read} methods Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` [PATCH 5/9] ide-h8300: " Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` [PATCH 6/9] scc_pata: " Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` [PATCH 7/9] ns87415: add ->tf_read method Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` [PATCH 8/9] ide: use IDE I/O helpers directly in ide_tf_{load,read}() Bartlomiej Zolnierkiewicz
2008-04-12 12:34 ` [PATCH 9/9] ide: remove ->INW and ->OUTW methods Bartlomiej Zolnierkiewicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080412123415.18751.51136.sendpatchset@localhost.localdomain \
--to=bzolnier@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.