On 7/11/25 10:35, Damien Le Moal wrote:
Introduce struct ata_reset_operations do aggregate in a single structure the definitions of the 4 reset methods (prereset, softreset, hardreset and postreset) for a port. This new structure is used in struct ata_port to define the reset methods for a regular port (reset field) and for a port-multiplier port (pmp_reset field). A pointer to either of these fields replaces the 4 reset method arguments passed to ata_eh_recover() and ata_eh_reset(). ata_std_error_handler() is modified to use the ATA_LFLAG_NO_HRST link flag to prevents the use of built-in hardreset methods for ports without a valid scr. This flag is checked in ata_eh_reset() and if set, the hardreset method is ignored. The definition of the reset methods for all drivers is changed to use the reset and pmp_reset fields in struct ata_port_operations. A large number of files is modifed, but no functional changes are introduced. Signed-off-by: Damien Le Moal <dlemoal@xxxxxxxxxx> --- drivers/ata/ahci.c | 6 +-- drivers/ata/ahci_da850.c | 6 +-- drivers/ata/ahci_dm816.c | 2 +- drivers/ata/ahci_imx.c | 13 ++++--- drivers/ata/ahci_qoriq.c | 4 +- drivers/ata/ahci_xgene.c | 8 ++-- drivers/ata/ata_piix.c | 4 +- drivers/ata/libahci.c | 10 ++--- drivers/ata/libata-core.c | 4 +- drivers/ata/libata-eh.c | 49 ++++++++++++------------- drivers/ata/libata-pmp.c | 26 +++++-------- drivers/ata/libata-sata.c | 2 +- drivers/ata/libata-sff.c | 8 ++-- drivers/ata/libata.h | 8 ++-- drivers/ata/pata_acpi.c | 2 +- drivers/ata/pata_ali.c | 10 ++--- drivers/ata/pata_amd.c | 4 +- drivers/ata/pata_artop.c | 4 +- drivers/ata/pata_atiixp.c | 2 +- drivers/ata/pata_efar.c | 2 +- drivers/ata/pata_ep93xx.c | 4 +- drivers/ata/pata_hpt366.c | 2 +- drivers/ata/pata_hpt37x.c | 4 +- drivers/ata/pata_hpt3x2n.c | 2 +- drivers/ata/pata_icside.c | 2 +- drivers/ata/pata_it8213.c | 2 +- drivers/ata/pata_jmicron.c | 2 +- drivers/ata/pata_marvell.c | 2 +- drivers/ata/pata_mpiix.c | 2 +- drivers/ata/pata_ns87410.c | 2 +- drivers/ata/pata_octeon_cf.c | 2 +- drivers/ata/pata_oldpiix.c | 2 +- drivers/ata/pata_opti.c | 2 +- drivers/ata/pata_optidma.c | 2 +- drivers/ata/pata_parport/pata_parport.c | 3 +- drivers/ata/pata_pdc2027x.c | 2 +- drivers/ata/pata_rdc.c | 2 +- drivers/ata/pata_sis.c | 2 +- drivers/ata/pata_sl82c105.c | 2 +- drivers/ata/pata_triflex.c | 2 +- drivers/ata/pata_via.c | 2 +- drivers/ata/pdc_adma.c | 2 +- drivers/ata/sata_dwc_460ex.c | 2 +- drivers/ata/sata_fsl.c | 6 +-- drivers/ata/sata_highbank.c | 2 +- drivers/ata/sata_inic162x.c | 2 +- drivers/ata/sata_mv.c | 10 ++--- drivers/ata/sata_nv.c | 2 +- drivers/ata/sata_promise.c | 4 +- drivers/ata/sata_qstor.c | 4 +- drivers/ata/sata_rcar.c | 2 +- drivers/ata/sata_sil24.c | 8 ++-- drivers/ata/sata_svw.c | 4 +- drivers/ata/sata_sx4.c | 2 +- drivers/ata/sata_uli.c | 2 +- drivers/ata/sata_via.c | 4 +- drivers/scsi/libsas/sas_ata.c | 4 +- include/linux/libata.h | 17 +++++---- 58 files changed, 143 insertions(+), 155 deletions(-)
You may want to run a spell-checker for the description. Otherwise: Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich