]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ata: libata: Remove ata_noop_qc_prep()
authorDamien Le Moal <dlemoal@kernel.org>
Tue, 30 Jul 2024 05:38:07 +0000 (14:38 +0900)
committerDamien Le Moal <dlemoal@kernel.org>
Fri, 2 Aug 2024 00:18:42 +0000 (09:18 +0900)
The function ata_noop_qc_prep(), as its name implies, does nothing and
simply returns AC_ERR_OK. For drivers that do not need any special
preparations of queued commands, we can avoid having to define struct
ata_port qc_prep operation by simply testing if that operation is
defined or not in ata_qc_issue(). Make this change and remove
ata_noop_qc_prep().

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: John Garry <john.g.garry@oracle.com>
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
drivers/ata/libata-core.c
drivers/ata/libata-sff.c
drivers/ata/pata_ep93xx.c
drivers/ata/pata_icside.c
drivers/ata/pata_mpc52xx.c
drivers/ata/pata_octeon_cf.c
drivers/scsi/libsas/sas_ata.c
include/linux/libata.h

index fc9fcfda42b845be8ac0903f245e99c799503dbd..b4fdb78579c8f93264968c61a66b7a5d402679f4 100644 (file)
@@ -4696,12 +4696,6 @@ int ata_std_qc_defer(struct ata_queued_cmd *qc)
 }
 EXPORT_SYMBOL_GPL(ata_std_qc_defer);
 
-enum ata_completion_errors ata_noop_qc_prep(struct ata_queued_cmd *qc)
-{
-       return AC_ERR_OK;
-}
-EXPORT_SYMBOL_GPL(ata_noop_qc_prep);
-
 /**
  *     ata_sg_init - Associate command with scatter-gather table.
  *     @qc: Command to be associated
@@ -5088,10 +5082,13 @@ void ata_qc_issue(struct ata_queued_cmd *qc)
                return;
        }
 
-       trace_ata_qc_prep(qc);
-       qc->err_mask |= ap->ops->qc_prep(qc);
-       if (unlikely(qc->err_mask))
-               goto err;
+       if (ap->ops->qc_prep) {
+               trace_ata_qc_prep(qc);
+               qc->err_mask |= ap->ops->qc_prep(qc);
+               if (unlikely(qc->err_mask))
+                       goto err;
+       }
+
        trace_ata_qc_issue(qc);
        qc->err_mask |= ap->ops->qc_issue(qc);
        if (unlikely(qc->err_mask))
@@ -6724,7 +6721,6 @@ static void ata_dummy_error_handler(struct ata_port *ap)
 }
 
 struct ata_port_operations ata_dummy_port_ops = {
-       .qc_prep                = ata_noop_qc_prep,
        .qc_issue               = ata_dummy_qc_issue,
        .error_handler          = ata_dummy_error_handler,
        .sched_eh               = ata_std_sched_eh,
index 06868ec5b1fdc12f8d06cdafa3326b85cd1ab670..67f277e1c3bf317e5c5030cfabdb7f7d344429fe 100644 (file)
@@ -26,7 +26,6 @@ static struct workqueue_struct *ata_sff_wq;
 const struct ata_port_operations ata_sff_port_ops = {
        .inherits               = &ata_base_port_ops,
 
-       .qc_prep                = ata_noop_qc_prep,
        .qc_issue               = ata_sff_qc_issue,
        .qc_fill_rtf            = ata_sff_qc_fill_rtf,
 
index c84a20892f1b0ce914937e9ddb6e2dd382b77cb2..a34e56a9d5353ecdf2a834cdc5d6a9596163c7b9 100644 (file)
@@ -884,8 +884,6 @@ static const struct scsi_host_template ep93xx_pata_sht = {
 static struct ata_port_operations ep93xx_pata_port_ops = {
        .inherits               = &ata_bmdma_port_ops,
 
-       .qc_prep                = ata_noop_qc_prep,
-
        .softreset              = ep93xx_pata_softreset,
        .hardreset              = ATA_OP_NULL,
 
index 9cfb064782c3c93e0a6d1845a95220076507d1df..61d8760f09d91f47f21b41207be1d1f2ce5a03bc 100644 (file)
@@ -328,8 +328,6 @@ static void pata_icside_postreset(struct ata_link *link, unsigned int *classes)
 
 static struct ata_port_operations pata_icside_port_ops = {
        .inherits               = &ata_bmdma_port_ops,
-       /* no need to build any PRD tables for DMA */
-       .qc_prep                = ata_noop_qc_prep,
        .sff_data_xfer          = ata_sff_data_xfer32,
        .bmdma_setup            = pata_icside_bmdma_setup,
        .bmdma_start            = pata_icside_bmdma_start,
index 6c317a461a1f63178ce9491fb7f4f233f21ff47a..3f92586779156a9583bbfc87057e1ca716ce7c79 100644 (file)
@@ -620,7 +620,6 @@ static struct ata_port_operations mpc52xx_ata_port_ops = {
        .bmdma_start            = mpc52xx_bmdma_start,
        .bmdma_stop             = mpc52xx_bmdma_stop,
        .bmdma_status           = mpc52xx_bmdma_status,
-       .qc_prep                = ata_noop_qc_prep,
 };
 
 static int mpc52xx_ata_init_one(struct device *dev,
index 2884acfc4863b6ccb3db3a6b9dd7982ad3ee57a2..0bb9607e73486399d4cce7206047734028402774 100644 (file)
@@ -789,7 +789,6 @@ static unsigned int octeon_cf_qc_issue(struct ata_queued_cmd *qc)
 static struct ata_port_operations octeon_cf_ops = {
        .inherits               = &ata_sff_port_ops,
        .check_atapi_dma        = octeon_cf_check_atapi_dma,
-       .qc_prep                = ata_noop_qc_prep,
        .qc_issue               = octeon_cf_qc_issue,
        .sff_dev_select         = octeon_cf_dev_select,
        .sff_irq_on             = octeon_cf_ata_port_noaction,
index 88714b7b0dbad1ecf1b038eb57b599af408b4b81..7b4e7a61965a2bab311c6606decd0b3d9d116df5 100644 (file)
@@ -564,7 +564,6 @@ static struct ata_port_operations sas_sata_ops = {
        .error_handler          = ata_std_error_handler,
        .post_internal_cmd      = sas_ata_post_internal,
        .qc_defer               = ata_std_qc_defer,
-       .qc_prep                = ata_noop_qc_prep,
        .qc_issue               = sas_ata_qc_issue,
        .qc_fill_rtf            = sas_ata_qc_fill_rtf,
        .set_dmamode            = sas_ata_set_dmamode,
index d598ef690e50cd39d0009a640e8ff7dcc07b74dc..d5446e18d9dfff9eb6ba03024b8ec5786cd391a4 100644 (file)
@@ -1168,7 +1168,6 @@ extern int ata_xfer_mode2shift(u8 xfer_mode);
 extern const char *ata_mode_string(unsigned int xfer_mask);
 extern unsigned int ata_id_xfermask(const u16 *id);
 extern int ata_std_qc_defer(struct ata_queued_cmd *qc);
-extern enum ata_completion_errors ata_noop_qc_prep(struct ata_queued_cmd *qc);
 extern void ata_sg_init(struct ata_queued_cmd *qc, struct scatterlist *sg,
                 unsigned int n_elem);
 extern unsigned int ata_dev_classify(const struct ata_taskfile *tf);