Skip to content

Commit b408245

Browse files
committed
ata: libata: Remove ata_noop_qc_prep()
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 <[email protected]> Reviewed-by: John Garry <[email protected]> Reviewed-by: Sergey Shtylyov <[email protected]>
1 parent 73eb824 commit b408245

File tree

8 files changed

+7
-20
lines changed

8 files changed

+7
-20
lines changed

drivers/ata/libata-core.c

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4696,12 +4696,6 @@ int ata_std_qc_defer(struct ata_queued_cmd *qc)
46964696
}
46974697
EXPORT_SYMBOL_GPL(ata_std_qc_defer);
46984698

4699-
enum ata_completion_errors ata_noop_qc_prep(struct ata_queued_cmd *qc)
4700-
{
4701-
return AC_ERR_OK;
4702-
}
4703-
EXPORT_SYMBOL_GPL(ata_noop_qc_prep);
4704-
47054699
/**
47064700
* ata_sg_init - Associate command with scatter-gather table.
47074701
* @qc: Command to be associated
@@ -5088,10 +5082,13 @@ void ata_qc_issue(struct ata_queued_cmd *qc)
50885082
return;
50895083
}
50905084

5091-
trace_ata_qc_prep(qc);
5092-
qc->err_mask |= ap->ops->qc_prep(qc);
5093-
if (unlikely(qc->err_mask))
5094-
goto err;
5085+
if (ap->ops->qc_prep) {
5086+
trace_ata_qc_prep(qc);
5087+
qc->err_mask |= ap->ops->qc_prep(qc);
5088+
if (unlikely(qc->err_mask))
5089+
goto err;
5090+
}
5091+
50955092
trace_ata_qc_issue(qc);
50965093
qc->err_mask |= ap->ops->qc_issue(qc);
50975094
if (unlikely(qc->err_mask))
@@ -6724,7 +6721,6 @@ static void ata_dummy_error_handler(struct ata_port *ap)
67246721
}
67256722

67266723
struct ata_port_operations ata_dummy_port_ops = {
6727-
.qc_prep = ata_noop_qc_prep,
67286724
.qc_issue = ata_dummy_qc_issue,
67296725
.error_handler = ata_dummy_error_handler,
67306726
.sched_eh = ata_std_sched_eh,

drivers/ata/libata-sff.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ static struct workqueue_struct *ata_sff_wq;
2626
const struct ata_port_operations ata_sff_port_ops = {
2727
.inherits = &ata_base_port_ops,
2828

29-
.qc_prep = ata_noop_qc_prep,
3029
.qc_issue = ata_sff_qc_issue,
3130
.qc_fill_rtf = ata_sff_qc_fill_rtf,
3231

drivers/ata/pata_ep93xx.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -884,8 +884,6 @@ static const struct scsi_host_template ep93xx_pata_sht = {
884884
static struct ata_port_operations ep93xx_pata_port_ops = {
885885
.inherits = &ata_bmdma_port_ops,
886886

887-
.qc_prep = ata_noop_qc_prep,
888-
889887
.softreset = ep93xx_pata_softreset,
890888
.hardreset = ATA_OP_NULL,
891889

drivers/ata/pata_icside.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,6 @@ static void pata_icside_postreset(struct ata_link *link, unsigned int *classes)
328328

329329
static struct ata_port_operations pata_icside_port_ops = {
330330
.inherits = &ata_bmdma_port_ops,
331-
/* no need to build any PRD tables for DMA */
332-
.qc_prep = ata_noop_qc_prep,
333331
.sff_data_xfer = ata_sff_data_xfer32,
334332
.bmdma_setup = pata_icside_bmdma_setup,
335333
.bmdma_start = pata_icside_bmdma_start,

drivers/ata/pata_mpc52xx.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,6 @@ static struct ata_port_operations mpc52xx_ata_port_ops = {
620620
.bmdma_start = mpc52xx_bmdma_start,
621621
.bmdma_stop = mpc52xx_bmdma_stop,
622622
.bmdma_status = mpc52xx_bmdma_status,
623-
.qc_prep = ata_noop_qc_prep,
624623
};
625624

626625
static int mpc52xx_ata_init_one(struct device *dev,

drivers/ata/pata_octeon_cf.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,6 @@ static unsigned int octeon_cf_qc_issue(struct ata_queued_cmd *qc)
789789
static struct ata_port_operations octeon_cf_ops = {
790790
.inherits = &ata_sff_port_ops,
791791
.check_atapi_dma = octeon_cf_check_atapi_dma,
792-
.qc_prep = ata_noop_qc_prep,
793792
.qc_issue = octeon_cf_qc_issue,
794793
.sff_dev_select = octeon_cf_dev_select,
795794
.sff_irq_on = octeon_cf_ata_port_noaction,

drivers/scsi/libsas/sas_ata.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,6 @@ static struct ata_port_operations sas_sata_ops = {
564564
.error_handler = ata_std_error_handler,
565565
.post_internal_cmd = sas_ata_post_internal,
566566
.qc_defer = ata_std_qc_defer,
567-
.qc_prep = ata_noop_qc_prep,
568567
.qc_issue = sas_ata_qc_issue,
569568
.qc_fill_rtf = sas_ata_qc_fill_rtf,
570569
.set_dmamode = sas_ata_set_dmamode,

include/linux/libata.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1168,7 +1168,6 @@ extern int ata_xfer_mode2shift(u8 xfer_mode);
11681168
extern const char *ata_mode_string(unsigned int xfer_mask);
11691169
extern unsigned int ata_id_xfermask(const u16 *id);
11701170
extern int ata_std_qc_defer(struct ata_queued_cmd *qc);
1171-
extern enum ata_completion_errors ata_noop_qc_prep(struct ata_queued_cmd *qc);
11721171
extern void ata_sg_init(struct ata_queued_cmd *qc, struct scatterlist *sg,
11731172
unsigned int n_elem);
11741173
extern unsigned int ata_dev_classify(const struct ata_taskfile *tf);

0 commit comments

Comments
 (0)