From patchwork Thu Aug 28 08:39:01 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ulf Hansson X-Patchwork-Id: 4800361 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 5A8A79F375 for ; Thu, 28 Aug 2014 08:44:53 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 9802A2012E for ; Thu, 28 Aug 2014 08:44:52 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B41DA200F2 for ; Thu, 28 Aug 2014 08:44:51 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1XMvGF-0004x4-AZ; Thu, 28 Aug 2014 08:40:51 +0000 Received: from casper.infradead.org ([2001:770:15f::2]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XMvFJ-0001Pk-Ox for linux-arm-kernel@bombadil.infradead.org; Thu, 28 Aug 2014 08:39:53 +0000 Received: from mail-la0-f46.google.com ([209.85.215.46]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1XMvFH-0006BA-6Y for linux-arm-kernel@lists.infradead.org; Thu, 28 Aug 2014 08:39:51 +0000 Received: by mail-la0-f46.google.com with SMTP id pv20so512710lab.5 for ; Thu, 28 Aug 2014 01:39:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VkzdvXhqcbQsrDIxwOfo+RY6J9/WPxvisidcSZIlH+o=; b=CUBD1ZafsxFaSP2yErdfhvLzWh9WC9+BegpUvpLPMOxVcqaOoCtJ0uTCNhbOwXkrBF org2sn0hf2wlDbjcy23jX9jcUvWLEawW9ZEE85hSMVUVCwFOdRg5AjMyCrGLYP/0cYhl O9AQ+apu3O1b1PPycSNLVkbf+w19BOlRUlMBw/HaKwX1g7O1vABliGjqaaUlrbHXnhtk HnZM+H3mrcsFXxXwAyI1qEI5Ndu/E4q5xSmbr03olEpUBfvtgTnu+e/knYmpih/KbS0u JpzUXZ6bdCSUKmv0RXddwqDsQIPpA4CKUgqDY5JQTeApUDZBtIEkC7uxJEdIzr0HKYZe svqw== X-Gm-Message-State: ALoCoQn+GgYFccLRP2hYje++qiASuzIBUwwtIQVfV0C3mTo2Z47T8j51k+zUL4onJvnRU4XKOdbq X-Received: by 10.152.28.67 with SMTP id z3mr2805982lag.12.1409215169188; Thu, 28 Aug 2014 01:39:29 -0700 (PDT) Received: from uffe-Latitude-E6430s.lan (90-231-160-185-no158.tbcn.telia.com. [90.231.160.185]) by mx.google.com with ESMTPSA id t12sm4826676lbp.44.2014.08.28.01.39.26 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 28 Aug 2014 01:39:28 -0700 (PDT) From: Ulf Hansson To: "Rafael J. Wysocki" , Len Brown , Pavel Machek , Greg Kroah-Hartman , linux-pm@vger.kernel.org Subject: [PATCH v2 8/9] amba: Add support for attach/detach of power domains Date: Thu, 28 Aug 2014 10:39:01 +0200 Message-Id: <1409215142-8218-9-git-send-email-ulf.hansson@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1409215142-8218-1-git-send-email-ulf.hansson@linaro.org> References: <1409215142-8218-1-git-send-email-ulf.hansson@linaro.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140828_093951_290946_A83F0C0F X-CRM114-Status: GOOD ( 15.58 ) X-Spam-Score: -2.6 (--) Cc: devicetree@vger.kernel.org, Ulf Hansson , Kevin Hilman , Russell King , Philipp Zabel , Geert Uytterhoeven , Wolfram Sang , Stephen Boyd , Linus Walleij , Daniel Lezcano , Magnus Damm , Tomasz Figa , Chris Ball , linux-acpi@vger.kernel.org, Simon Horman , Alan Stern , Mark Brown , Ben Dooks , Kukjin Kim , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP AMBA devices may on some SoCs resides in power domains. To be able to manage these devices from there, let's try to attach devices to their corresponding power domain during the probe phase. To reverse these actions at the remove phase, we try to detach the device from it's power domain. Signed-off-by: Ulf Hansson --- drivers/amba/bus.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index 3cf61a1..8f52393 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@ -182,9 +182,15 @@ static int amba_probe(struct device *dev) int ret; do { + ret = dev_pm_domain_attach(dev, true); + if (ret == -EPROBE_DEFER) + break; + ret = amba_get_enable_pclk(pcdev); - if (ret) + if (ret) { + dev_pm_domain_detach(dev, true); break; + } pm_runtime_get_noresume(dev); pm_runtime_set_active(dev); @@ -199,6 +205,7 @@ static int amba_probe(struct device *dev) pm_runtime_put_noidle(dev); amba_put_disable_pclk(pcdev); + dev_pm_domain_detach(dev, true); } while (0); return ret; @@ -220,6 +227,7 @@ static int amba_remove(struct device *dev) pm_runtime_put_noidle(dev); amba_put_disable_pclk(pcdev); + dev_pm_domain_detach(dev, true); return ret; }