From patchwork Sat Apr 7 20:47:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sam Morris <0v3rdr0n3@gmail.com> X-Patchwork-Id: 895975 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-ide-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Lq0hDiha"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40JZb43hm7z9s0y for ; Sun, 8 Apr 2018 10:49:52 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752016AbeDHAtv (ORCPT ); Sat, 7 Apr 2018 20:49:51 -0400 Received: from mail-io0-f194.google.com ([209.85.223.194]:35161 "EHLO mail-io0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751975AbeDHAtu (ORCPT ); Sat, 7 Apr 2018 20:49:50 -0400 Received: by mail-io0-f194.google.com with SMTP id x77so5760906ioi.2; Sat, 07 Apr 2018 17:49:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=YBE9Vl4uswptVRpB6aGg9vh5T+YxQp1Ju/2DI4YGUWE=; b=Lq0hDihaosT9Qc2ksiCufbGfHj7SVpsK9uTchstM+ohRxo9NRQ2osKouzBX6eKzOO6 qmhBJn0c2dnSRUX1WuBRCasequgDN7x8xOjlsfexWs+eS1F0WGQQPIHkpwsz7iNkbolW 9y5x+oJ4/kml6dkET0MxtsOQ5Oq05d9AwnPn4OKtTCXhwR6Tj3qky6U7GVsP7PjRtnDk VbBIkelzVAds2mOkEZAW/kqgeffJVWM9qjtSRfShEa01v0va3UIKigo2J4wHdTMw3eTu 7RrffFwRrwk2TIZQRIWkwAQa8OzY8kAQsPy2AojzYF1SVYFH6s7QJ4eruma32IPNFkDv jX4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=YBE9Vl4uswptVRpB6aGg9vh5T+YxQp1Ju/2DI4YGUWE=; b=OkJqtcnb55m5HjyMJbbh6I9pd6eoxqfDE3zMKo9G6c2f/C7etF8Kt3Ff0NrkEMcql/ FVP//h5VdcT6O5MGiFwC0PzOXlE3YsL630z/1kbamaZnFF8+GiEsWRb8mUF3faRcOwOL PpcKhC+R8NW22jVeePJVDBxcO5dQxNbtBUMq5dG2B3hVT7emxRj0OLqHso+l2W3LT8qi VcPInklRd963ziwa+sztpFbrBk74cMB9+iVNWIQthZmFWhQ9nd5+eyF6aswydgOjw1AZ Lr/gJ7JdN0eBJiWypP7s1Kt9pqQ4KK6KZ208bQHnpsHeJBEr72wucivVrV+nWVkcY1so dClg== X-Gm-Message-State: ALQs6tClywxTuRObV4lETdf6fKXb/DWIq0yoMPEY4Us/BDOS8xvhaabM ySD9YyR3nd0sY3tf1KTNerCyQA== X-Google-Smtp-Source: AIpwx4+Nm61sY7pADppUFhYoi8/3l1WIpxI7AuNlRcM8SFDbTD9Z5xKTbtHJm0cJ50CD2OCQNpgGWQ== X-Received: by 10.107.181.141 with SMTP id e135mr28633952iof.189.1523148589970; Sat, 07 Apr 2018 17:49:49 -0700 (PDT) Received: from pride.cinci.rr.com (cpe-74-136-84-14.kya.res.rr.com. [74.136.84.14]) by smtp.gmail.com with ESMTPSA id s142-v6sm7850750itb.4.2018.04.07.17.49.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 Apr 2018 17:49:49 -0700 (PDT) From: 0v3rdr0n3@gmail.com To: linux-pm@vger.kernel.org, linux-ide@vger.kernel.org Cc: samorris@lexmark.com Subject: [PATCH 3/3] ata: allow runtime pm of transport layer if no devices attached Date: Sat, 7 Apr 2018 20:47:38 +0000 Message-Id: <20180407204738.28308-3-0v3rdr0n3@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180407204738.28308-1-0v3rdr0n3@gmail.com> References: <20180407204738.28308-1-0v3rdr0n3@gmail.com> Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org From: Samuel Morris If no devices are detected on boot, and hotplug is disabled, let the transport layer suspend automatically to save power automatically. Signed-off-by: Samuel Morris --- drivers/ata/libata-scsi.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 89a9d4a2efc8..0f28af19f463 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -51,6 +51,7 @@ #include #include #include +#include #include "libata.h" #include "libata-transport.h" @@ -4568,6 +4569,7 @@ int ata_scsi_add_hosts(struct ata_host *host, struct scsi_host_template *sht) void ata_scsi_scan_host(struct ata_port *ap, int sync) { int tries = 5; + int devAttached = 0; struct ata_device *last_failed_dev = NULL; struct ata_link *link; struct ata_device *dev; @@ -4591,12 +4593,18 @@ void ata_scsi_scan_host(struct ata_port *ap, int sync) if (!IS_ERR(sdev)) { dev->sdev = sdev; scsi_device_put(sdev); + devAttached = 1; } else { dev->sdev = NULL; } } } +#ifdef CONFIG_AHCI_HOTPLUG_DISABLED + if (!devAttached) + pm_runtime_allow(&ap->tdev); +#endif + /* If we scanned while EH was in progress or allocation * failure occurred, scan would have failed silently. Check * whether all devices are attached.