Messages in this thread | | | Date | Tue, 17 Feb 2009 15:23:00 +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...
... which didn't prevent libata from having such backdoor though, in the form of dev_select() method.
MBR, Sergei
| |