From patchwork Mon Apr 11 11:51:03 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Linus Walleij X-Patchwork-Id: 8800421 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 438699F3D1 for ; Mon, 11 Apr 2016 11:51:34 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5880A20160 for ; Mon, 11 Apr 2016 11:51:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4CC332021A for ; Mon, 11 Apr 2016 11:51:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754572AbcDKLvT (ORCPT ); Mon, 11 Apr 2016 07:51:19 -0400 Received: from mail-lf0-f50.google.com ([209.85.215.50]:36445 "EHLO mail-lf0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754569AbcDKLvQ (ORCPT ); Mon, 11 Apr 2016 07:51:16 -0400 Received: by mail-lf0-f50.google.com with SMTP id g184so153037885lfb.3 for ; Mon, 11 Apr 2016 04:51:15 -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; bh=1+DFmcJpUf1ChBdx3PIaKuU+VPEpIv5B/Fjt/OnO34w=; b=FkzbzLQgvFnOrSpJYeIsH5a4R6Olvy3RfJXXp3h3teXPGVwHT02pEAJWDwv9Y3GzlJ QcPJrLoi4tHJp6xnwflNau/JnWEKxXfXMUpcBU5ra2YdAeqYGTUnE+/wIYR3BJpZ0les FAhYZhOrsQ22EbB+crlkTgz+X2V9u4yjBWjDY= 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; bh=1+DFmcJpUf1ChBdx3PIaKuU+VPEpIv5B/Fjt/OnO34w=; b=WRkBUSx4wRTP2ArMEkuDIWRmC3+N2otAiHWqVkgd8vJxgPQ5RZHcdfxtVMiAyv8qu/ Rp+x3gheLw03ZQ7tUPL9EJFzSYbPVl76Lp2IS0Jk0kbgBySqEBRq+Ch+mDYWsQIBJSbF riiM0U+4ol7hTGvb7sZ8TbeepSivTvqUhjtZb9nTggNc+Nj6a+TkW3pe10097ebQyntR A2GxFujgljGlz/isU6jqVCTe4rL/xvZ10trZWeFAiup8qy0pBzvBWd3NdGv7x2Fotv0H tIIUWprYB+ZtqmQRHqciDPsBCaEfsM3Gt9KKKSccCCRe9TTuCdOP1oDw305jQkuklKoV gNbw== X-Gm-Message-State: AOPr4FUGE7GdxKfRZoYZ0xNhOjqT/GAPxwJ5rNzrdlRUGCCe0H637sRInXDSTPDTQ639/0aB X-Received: by 10.25.196.195 with SMTP id u186mr5599730lff.164.1460375474847; Mon, 11 Apr 2016 04:51:14 -0700 (PDT) Received: from localhost.localdomain ([85.235.10.227]) by smtp.gmail.com with ESMTPSA id ug7sm4444130lbb.9.2016.04.11.04.51.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 11 Apr 2016 04:51:13 -0700 (PDT) From: Linus Walleij To: Mark Brown , linux-spi@vger.kernel.org Cc: Linus Walleij , Wolfram Sang , Ulf Hansson , "Rafael J. Wysocki" , linux-pm@vger.kernel.org Subject: [PATCH] spi: let SPI masters ignore their children for PM Date: Mon, 11 Apr 2016 13:51:03 +0200 Message-Id: <1460375463-15557-1-git-send-email-linus.walleij@linaro.org> X-Mailer: git-send-email 2.4.3 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,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 Let all SPI masters ignore their children: when it comes to power management: SPI children have no business doing keeping their parents awake: they are completely autonomous devices that just use their parent to talk, and the latter usecase must be power managed by the host itself on a per-message basis. Cc: Wolfram Sang Cc: Mark Brown Cc: Ulf Hansson Cc: Rafael J. Wysocki Cc: linux-pm@vger.kernel.org Signed-off-by: Linus Walleij Reviewed-by: Ulf Hansson --- ChangeLog v1->v2: - Change subject from "let SPI masters inherit suspend child ignorance" to "let SPI masters ignore their PM children" - Use the big hammer and do the sensible thing: mark all SPI masters as ignoring their children when it comes to power management. --- drivers/spi/spi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index de2f2f90d799..6c4c050e6b65 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -1764,6 +1764,7 @@ struct spi_master *spi_alloc_master(struct device *dev, unsigned size) master->num_chipselect = 1; master->dev.class = &spi_master_class; master->dev.parent = dev; + pm_suspend_ignore_children(&master->dev, true); spi_master_set_devdata(master, &master[1]); return master;