From patchwork Fri Nov 4 12:59:45 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 80854 Delivered-To: patch@linaro.org Received: by 10.140.97.247 with SMTP id m110csp1138016qge; Fri, 4 Nov 2016 06:01:40 -0700 (PDT) X-Received: by 10.99.5.21 with SMTP id 21mr22072392pgf.32.1478264499620; Fri, 04 Nov 2016 06:01:39 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t8si16431130pgn.52.2016.11.04.06.01.39; Fri, 04 Nov 2016 06:01:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934898AbcKDNBf (ORCPT + 27 others); Fri, 4 Nov 2016 09:01:35 -0400 Received: from mail-wm0-f54.google.com ([74.125.82.54]:38151 "EHLO mail-wm0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756594AbcKDM7y (ORCPT ); Fri, 4 Nov 2016 08:59:54 -0400 Received: by mail-wm0-f54.google.com with SMTP id n67so48384386wme.1 for ; Fri, 04 Nov 2016 05:59:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=H98ppNWNQKYHOMg7GNoi35rtXuBu2iCguhfyYK6VJBc=; b=DV9cU+9f8OT1I2N3gSK7mHLuyviGG4XOEDqH1hdu2yTOhC1qDrTFaBMpJUM1UylSY3 DTtycXDVsOqxJxDfHvf3pxF29QL1nGKksf1RIIGJDcKn3YU2oB9HPnQ3fWrLo2LoZ5tw M6bi2YllVww4VkOrXbYWpkIOivOp/RaU2tQpo= 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=H98ppNWNQKYHOMg7GNoi35rtXuBu2iCguhfyYK6VJBc=; b=VEw5j5QMzrZs0aHMtMYL9goVzXMBwnV/EHiLJLVhzb8vxWXKDd2k6bPBPawKzhVWQZ 2dbul7NxcAmzCp/weNc2GMIQRMeS8xskA4aoIguRCXFnFDwnr8qb+CSFrtYtiheA6+FL yaXZJluAsGYIlkGvFmffp4WsVEnltdx71Gz61n13Omxbm//ldVY8DSI5tVB9/CgDmRZh au4C/A/VFNe5A9drbhyhNTS8flo1MkF/gGwC7Y6mfswKb1Wd9PqkBy2JoL1quXTRMjci X75WTE7/R68RefF7W0L3shGOCYSHyLqGwZYCO2tW2u1VghJzv885vD5zc/cb31UTtrde A/iA== X-Gm-Message-State: ABUngvfUWOVI1gLTVVN9tTslk35j74k6FvB5OMLYTsWLnIEHDWKEz5X/sSz2EEPC9L7LitpP X-Received: by 10.28.45.198 with SMTP id t189mr3492328wmt.52.1478264392818; Fri, 04 Nov 2016 05:59:52 -0700 (PDT) Received: from localhost.localdomain (host-2-98-102-117.as13285.net. [2.98.102.117]) by smtp.gmail.com with ESMTPSA id e5sm4486220wma.10.2016.11.04.05.59.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Nov 2016 05:59:52 -0700 (PDT) From: Srinivas Kandagatla To: svarbanov@mm-sol.com, Bjorn Helgaas , linux-pci@vger.kernel.org Cc: Rob Herring , Mark Rutland , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v3 1/3] bus: simple-pm: add support to pm clocks Date: Fri, 4 Nov 2016 12:59:45 +0000 Message-Id: <1478264387-17914-2-git-send-email-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1478264387-17914-1-git-send-email-srinivas.kandagatla@linaro.org> References: <1478264387-17914-1-git-send-email-srinivas.kandagatla@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds support to pm clocks via device tree, so that the clocks can be turned on and off during runtime pm. This patch is required for Qualcomm msm8996 pcie controller which sits on a bus with its own power-domain and clocks. Without this patch the clock associated with the bus are never turned on. Signed-off-by: Srinivas Kandagatla --- drivers/bus/simple-pm-bus.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) -- 2.10.1 diff --git a/drivers/bus/simple-pm-bus.c b/drivers/bus/simple-pm-bus.c index c5eb46c..63b7e8c 100644 --- a/drivers/bus/simple-pm-bus.c +++ b/drivers/bus/simple-pm-bus.c @@ -11,6 +11,7 @@ #include #include #include +#include #include @@ -22,17 +23,26 @@ static int simple_pm_bus_probe(struct platform_device *pdev) pm_runtime_enable(&pdev->dev); - if (np) + if (np) { + of_pm_clk_add_clks(&pdev->dev); of_platform_populate(np, NULL, NULL, &pdev->dev); + } return 0; } +static const struct dev_pm_ops simple_pm_bus_pm_ops = { + SET_RUNTIME_PM_OPS(pm_clk_suspend, + pm_clk_resume, NULL) +}; + static int simple_pm_bus_remove(struct platform_device *pdev) { dev_dbg(&pdev->dev, "%s\n", __func__); pm_runtime_disable(&pdev->dev); + pm_clk_destroy(&pdev->dev); + return 0; } @@ -48,6 +58,7 @@ static struct platform_driver simple_pm_bus_driver = { .driver = { .name = "simple-pm-bus", .of_match_table = simple_pm_bus_of_match, + .pm = &simple_pm_bus_pm_ops, }, };