Patch 1 of this series cleans up libata-transport (avoid forward declarations and improved kdoc comments). Patch 2 improves device flag manipulation in ata_scsi_handle_link_detach(). Patch 3 introduces a small simplification/improvement of __ata_qc_complete(). Patches 4 and 5 move code that is SATA specific from libata-core.c to libata-sata.c, without any functional change. The benefits of this code reorganization is a smaller libata binary size for hosts that do not support SATA. Patch 6 renames some functions to make it clearer what the functions do. Finally, patch 7 to 9 reduce memory usage of libata by: - Moving the sector_buf buffer from struct ata_port to struct ata_device - Agregating CDL related buffers together into a new ata_cdl structure and referencing this new structure from struct ata_device only for devices that support CDL. Changes from V4: - Added patch 2 and 8 - Modified patch 9 to use the ata_dev_free_resources() function introduced in patch 8. Changes from V3: - Small change to struct ata_cdl kzalloc() call as suggested by Niklas - Removed bogus call to ata_dev_cleanup_cdl_resources() in patch 7 - Added review tags Changes from V2: - Reworked patch 1 to address Hannes' comments - Added Hannes' review tags Changes from V1: - Reworked patch 1 to do more cleanups - Added patch 6. The former patch 6 of v1 is now squashed into patch 7 - Added Niklas review tags Damien Le Moal (9): ata: libata: Cleanup libata-transport ata: libata-scsi: Improve ata_scsi_handle_link_detach() ata: libata: Improve __ata_qc_complete() ata: libata: Move sata_down_spd_limit() to libata-sata.c ata: libata: Move sata_std_hardreset() definition to libata-sata.c ata: libata: Rename ata_eh_read_sense_success_ncq_log() ata: libata: Move sector_buf from struct ata_port to struct ata_device ata: libata: Introduce ata_dev_free_resources ata: libata: Improve CDL resource management drivers/ata/libata-core.c | 278 ++++++++++-------------------- drivers/ata/libata-eh.c | 13 +- drivers/ata/libata-pmp.c | 3 +- drivers/ata/libata-sata.c | 127 +++++++++++++- drivers/ata/libata-scsi.c | 11 +- drivers/ata/libata-transport.c | 299 ++++++++++++++++----------------- drivers/ata/libata-zpodd.c | 2 +- drivers/ata/libata.h | 24 ++- include/linux/libata.h | 39 +++-- 9 files changed, 419 insertions(+), 377 deletions(-) -- 2.46.0