mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-04-13 09:59:31 +00:00
ata: libata: remove deprecated EH callbacks
Now that all libata drivers have migrated to use the error_handler callback, remove the deprecated phy_reset and eng_timeout callbacks. Also remove references to non-existent functions sata_phy_reset and ata_qc_timeout from Documentation/driver-api/libata.rst. Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Reviewed-by: John Garry <john.g.garry@oracle.com> Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru> Reviewed-by: Jason Yan <yanaijie@huawei.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
This commit is contained in:
parent
89329c7384
commit
6b4f165e08
3 changed files with 7 additions and 24 deletions
|
@ -256,14 +256,6 @@ advanced drivers implement their own ``->qc_issue``.
|
||||||
Exception and probe handling (EH)
|
Exception and probe handling (EH)
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
void (*eng_timeout) (struct ata_port *ap);
|
|
||||||
void (*phy_reset) (struct ata_port *ap);
|
|
||||||
|
|
||||||
|
|
||||||
Deprecated. Use ``->error_handler()`` instead.
|
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
void (*freeze) (struct ata_port *ap);
|
void (*freeze) (struct ata_port *ap);
|
||||||
|
@ -348,8 +340,7 @@ SATA phy read/write
|
||||||
u32 val);
|
u32 val);
|
||||||
|
|
||||||
|
|
||||||
Read and write standard SATA phy registers. Currently only used if
|
Read and write standard SATA phy registers.
|
||||||
``->phy_reset`` hook called the :c:func:`sata_phy_reset` helper function.
|
|
||||||
sc_reg is one of SCR_STATUS, SCR_CONTROL, SCR_ERROR, or SCR_ACTIVE.
|
sc_reg is one of SCR_STATUS, SCR_CONTROL, SCR_ERROR, or SCR_ACTIVE.
|
||||||
|
|
||||||
Init and shutdown
|
Init and shutdown
|
||||||
|
@ -520,13 +511,12 @@ to return without deallocating the qc. This leads us to
|
||||||
|
|
||||||
:c:func:`ata_scsi_error` is the current ``transportt->eh_strategy_handler()``
|
:c:func:`ata_scsi_error` is the current ``transportt->eh_strategy_handler()``
|
||||||
for libata. As discussed above, this will be entered in two cases -
|
for libata. As discussed above, this will be entered in two cases -
|
||||||
timeout and ATAPI error completion. This function calls low level libata
|
timeout and ATAPI error completion. This function will check if a qc is active
|
||||||
driver's :c:func:`eng_timeout` callback, the standard callback for which is
|
and has not failed yet. Such a qc will be marked with AC_ERR_TIMEOUT such that
|
||||||
:c:func:`ata_eng_timeout`. It checks if a qc is active and calls
|
EH will know to handle it later. Then it calls low level libata driver's
|
||||||
:c:func:`ata_qc_timeout` on the qc if so. Actual error handling occurs in
|
:c:func:`error_handler` callback.
|
||||||
:c:func:`ata_qc_timeout`.
|
|
||||||
|
|
||||||
If EH is invoked for timeout, :c:func:`ata_qc_timeout` stops BMDMA and
|
When the :c:func:`error_handler` callback is invoked it stops BMDMA and
|
||||||
completes the qc. Note that as we're currently in EH, we cannot call
|
completes the qc. Note that as we're currently in EH, we cannot call
|
||||||
scsi_done. As described in SCSI EH doc, a recovered scmd should be
|
scsi_done. As described in SCSI EH doc, a recovered scmd should be
|
||||||
either retried with :c:func:`scsi_queue_insert` or finished with
|
either retried with :c:func:`scsi_queue_insert` or finished with
|
||||||
|
|
|
@ -180,8 +180,7 @@ static void sl82c105_bmdma_start(struct ata_queued_cmd *qc)
|
||||||
* document.
|
* document.
|
||||||
*
|
*
|
||||||
* This function is also called to turn off DMA when a timeout occurs
|
* This function is also called to turn off DMA when a timeout occurs
|
||||||
* during DMA operation. In both cases we need to reset the engine,
|
* during DMA operation. In both cases we need to reset the engine.
|
||||||
* so no actual eng_timeout handler is required.
|
|
||||||
*
|
*
|
||||||
* We assume bmdma_stop is always called if bmdma_start as called. If
|
* We assume bmdma_stop is always called if bmdma_start as called. If
|
||||||
* not then we may need to wrap qc_issue.
|
* not then we may need to wrap qc_issue.
|
||||||
|
|
|
@ -975,12 +975,6 @@ struct ata_port_operations {
|
||||||
ssize_t (*transmit_led_message)(struct ata_port *ap, u32 state,
|
ssize_t (*transmit_led_message)(struct ata_port *ap, u32 state,
|
||||||
ssize_t size);
|
ssize_t size);
|
||||||
|
|
||||||
/*
|
|
||||||
* Obsolete
|
|
||||||
*/
|
|
||||||
void (*phy_reset)(struct ata_port *ap);
|
|
||||||
void (*eng_timeout)(struct ata_port *ap);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ->inherits must be the last field and all the preceding
|
* ->inherits must be the last field and all the preceding
|
||||||
* fields must be pointers.
|
* fields must be pointers.
|
||||||
|
|
Loading…
Add table
Reference in a new issue