Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp6072354imm; Mon, 23 Jul 2018 10:54:55 -0700 (PDT) X-Google-Smtp-Source: AAOMgpfcfg22fzUzlsV5YoL6w6Dxi+BQBgWG2QdU5cJswaSBBztWXzgsB3Hd5FHF0LwbDuHImGh+ X-Received: by 2002:a17:902:48c8:: with SMTP id u8-v6mr13879995plh.152.1532368495205; Mon, 23 Jul 2018 10:54:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532368495; cv=none; d=google.com; s=arc-20160816; b=njsBURgPM3R0e5Nt/hERF5nRCExDuDnEPnsgQWzZIUnAPV0j0M9BAO/6UxPOjvEdmG ocrr/Uyw5YrAQnGtcEZjLysJ0R6OaAq1wek0jAgZiaXEDsUL0D6yiCB2imm/YPaLb0wU N0SO04SopUkpxz5RPQhYXFkieIuK2jLP7J3gDRI1GedJPMsbifEJ1k3Bu6lFruQXyJRB SGBDRqRka0MyYbPRiImpL00tg7NA9v9ZfjVTynkHP2fyV+hKmeRfLMteeB4JxeevYc73 6ehq598PmGQyb6l52gKxWd+NmWOTH43uNM6oIw3Fh/dUkrfZzPxnNgDI3yI4gr2T/hHV IU8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=TqHBRDzoxYM1d4XT9eugQONLBdIkIZAy57yl6Hq7GRU=; b=YjhJ6+7FkdXY1uNeyNdEzOl4kie4TI6zstzuz2u8Lq3Cvjq6HF9U2/+3PI/Ia42JrS VG+AL3Bk28h6RMvQjfQYhszFIQsOeg7l6ITJ2Dxki/7iSiVhw9Ua9hDqVtwhq4m1h8ab hZ7Er9ATwj+xJ0wM85s83UzI95KKV1Wl/FlVrp6Dg59AXh+EEp6E4SkNTJFGZk5zJ29m fZhWqHLZXdfj9xzE+FAyIeLZbBQSrSNzgo12+7fibKVCNgLA4FHLP/VeAE2NhNZLqueP Cnh7nOVoi7oMnIBDiU/tyJlomqlw8OR9FYltXG2M/yUiq4cXBUWy4bleOlFHJydzu92w eTpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=mprcodZd; 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 sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t61-v6si8421804plb.253.2018.07.23.10.54.40; Mon, 23 Jul 2018 10:54:55 -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=@kernel.org header.s=default header.b=mprcodZd; 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 sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388390AbeGWS4C (ORCPT + 99 others); Mon, 23 Jul 2018 14:56:02 -0400 Received: from mail.kernel.org ([198.145.29.99]:39252 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388181AbeGWS4C (ORCPT ); Mon, 23 Jul 2018 14:56:02 -0400 Received: from localhost.localdomain (xdsl-188-155-58-14.adslplus.ch [188.155.58.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B980420874; Mon, 23 Jul 2018 17:53:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1532368421; bh=tKPSf+D2z0OCLIPOJxZvK8sk0GtgRDMApnmY7mKKonI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mprcodZdeXi+eVkF1WyXdRIY+/MSSaYOXaZkOrUGRt5fvkXEuxSFVfSRMy14C0I8v o8ak7ySK+BybD34dC4U7oyS94EzgnW/dtUs69QilfKEn9kgnz8z6qCD6eDevrR+1Ps u2SZxmv7zJvDac45Dj2vqc6bOPtJBUL98J+aanpU= From: Krzysztof Kozlowski To: Tomasz Figa , Krzysztof Kozlowski , Sylwester Nawrocki , Linus Walleij , Rob Herring , Mark Rutland , Kukjin Kim , Russell King , Kyungmin Park , linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: =?UTF-8?q?Pawe=C5=82=20Chmiel?= , Sylwester Nawrocki , Chanwoo Choi , Alim Akhtar , Pankaj Dubey Subject: [RFT v2 03/10] pinctrl: samsung: Document hidden requirement about one external wakeup Date: Mon, 23 Jul 2018 19:52:55 +0200 Message-Id: <20180723175302.22535-4-krzk@kernel.org> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20180723175302.22535-1-krzk@kernel.org> References: <20180723175302.22535-1-krzk@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hardware (S5Pv210 and all Exynos SoCs) provides only 32 external interrupts which can wakeup device from deep sleep modes. On S5Pv210 these are gph0-gph3. On all Exynos designs these are gpx0-gpx3. There is only one 32-bit register for controlling the external wakeup interrupt mask (masking and unmasking waking capability of these interrupts). This lead to implementation in pinctrl driver and machine code which was using static memory for storing the mask value and not caring about multiple devices of pin controller... because only one pin controller device will be handling this. Since each pin controller node in Device Tree maps onto one device, this corresponds to hidden assumption in parsing the Device Tree: external wakeup interrupts can be defined only once. Make this assumption an explicit requirement. Signed-off-by: Krzysztof Kozlowski Cc: Tomasz Figa Cc: Sylwester Nawrocki Acked-by: Tomasz Figa --- Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index 5e00a21de2bf..f7700c9e0d0b 100644 --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt @@ -145,8 +145,13 @@ A. External GPIO Interrupts: For supporting external gpio interrupts, the B. External Wakeup Interrupts: For supporting external wakeup interrupts, a child node representing the external wakeup interrupt controller should be - included in the pin-controller device node. This child node should include - the following properties. + included in the pin-controller device node. + + Only one pin-controller device node can include external wakeup interrupts + child node (in other words, only one External Wakeup Interrupts + pin-controller is supported). + + This child node should include following properties: - compatible: identifies the type of the external wakeup interrupt controller The possible values are: -- 2.14.1