Messages in this thread | | | Date | Mon, 16 Feb 2009 14:50:24 +0300 | From | Sergei Shtylyov <> | Subject | Re: [PATCH 13/18] ide: use ->tf_load in SELECT_DRIVE() |
| |
Hello, I wrote:
>>> There should be no functional changes caused by this patch. >>> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> >>> Index: b/drivers/ide/ide-iops.c >>> =================================================================== >>> --- a/drivers/ide/ide-iops.c >>> +++ b/drivers/ide/ide-iops.c >>> @@ -88,11 +88,15 @@ void SELECT_DRIVE (ide_drive_t *drive) >>> { >>> ide_hwif_t *hwif = drive->hwif; >>> const struct ide_port_ops *port_ops = hwif->port_ops; >>> + ide_task_t task; >>> >>> if (port_ops && port_ops->selectproc) >>> port_ops->selectproc(drive); >>> >>> - hwif->OUTB(drive->select.all, hwif->io_ports.device_addr); >>> + memset(&task, 0, sizeof(task)); >>> + task.tf_flags = IDE_TFLAG_OUT_DEVICE; >>> + >>> + drive->hwif->tf_load(drive, &task); >> >> This actually doesn't seem like a bright idea to me, considering >> that this gets called when starting every request. How will you look >> at me adding the transport method for writing this register? :-) > Convert SELECT_DRIVE() to use ->tf_load instead of ->OUTB. > > OTOH, adding such a "backdoor" to the taskfile doesn't seem very > consistent... well, I'm not excited about the whole idea conversion to > tf_{load|read}() -- it's not clear what exactly this bought us.
We at least could have saved on memset() -- tf_load() method ignores fields other than tf_flags anyway...
MBR, Sergei
| |