[PATCH] libata: Add ->set_mode hook for odd drivers

Some hardware doesn't want the usual mode setup logic running. This
allows the hardware driver to replace it for special cases in the least
invasive way possible.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Alan Cox 2006-03-27 18:46:37 +01:00 коммит произвёл Jeff Garzik
Родитель 4e5ec5dba2
Коммит e35a9e01f2
2 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -1409,7 +1409,11 @@ static int ata_bus_probe(struct ata_port *ap)
if (!found)
goto err_out_disable;
ata_set_mode(ap);
if (ap->ops->set_mode)
ap->ops->set_mode(ap);
else
ata_set_mode(ap);
if (ap->flags & ATA_FLAG_PORT_DISABLED)
goto err_out_disable;

Просмотреть файл

@ -433,6 +433,7 @@ struct ata_port_operations {
void (*dev_select)(struct ata_port *ap, unsigned int device);
void (*phy_reset) (struct ata_port *ap); /* obsolete */
void (*set_mode) (struct ata_port *ap);
int (*probe_reset) (struct ata_port *ap, unsigned int *classes);
void (*post_set_mode) (struct ata_port *ap);