mirror of https://gitee.com/openkylin/linux.git
[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:
parent
4e5ec5dba2
commit
e35a9e01f2
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue