This patch series improves ATA link power management, mainly for the AHCI driver. Follow-up patches will address libsas and AHCI platform adapters. These patches are a mix of code cleanup and LPM management improvements around the application of an appropriate initial link power management policy and preventing users or system daemons from changing a port link power management policy through sysfs when the port or the device does not support LPM policies or the port is an external port (and using LPM would break the port hotplug capability). Changes from v1: - Improved commit message of patch 1 as suggested by Niklas. - Removed warning message in patch 7. - Changed warning message in patch 8 to be a debug message. Also fixed a typo in the commit message. - Changed message to be a single line in patch 10. Damien Le Moal (10): ata: libata-core: Introduce ata_dev_config_lpm() ata: libata-core: Move device LPM quirk settings to ata_dev_config_lpm() ata: libata-core: Advertize device support for DIPM and HIPM features ata: libata-eh: Avoid unnecessary resets when revalidating devices ata: libata-sata: Disallow changing LPM state if not supported ata: ahci: Disable DIPM if host lacks support ata: ahci: Disallow LPM policy control for external ports ata: ahci: Disallow LPM policy control if not supported ata: libata-core: Reduce the number of messages signaling broken LPM ata: libata_eh: Add debug messages to ata_eh_link_set_lpm() drivers/ata/ahci.c | 15 +++++++-- drivers/ata/libata-core.c | 70 +++++++++++++++++++++++++++++---------- drivers/ata/libata-eh.c | 31 ++++++++++++++++- drivers/ata/libata-sata.c | 5 +++ 4 files changed, 100 insertions(+), 21 deletions(-) -- 2.50.0