Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp6072160imm; Mon, 23 Jul 2018 10:54:38 -0700 (PDT) X-Google-Smtp-Source: AAOMgpc80obTT1yXk89qUFU+dBjb30/15OxJrhTC1udsgYv2niOtMJk4dp7n8WeI3eIXxPJ52csp X-Received: by 2002:a63:4a61:: with SMTP id j33-v6mr13154107pgl.436.1532368478629; Mon, 23 Jul 2018 10:54:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532368478; cv=none; d=google.com; s=arc-20160816; b=fpewW1hWy9gVVNNUQc5E5KDviTHVAlBqT0zphKIUrIFDZv2coQ0RrK7tMXTOsucWmi 0tetDbf/KlaUKqeohx29zzCY2jcEUf8KifuSGzk3k7RQu0fZGdUQK6hlDSdp/euX9tGq 8k1IJC9+O9int0KqwFdKreX/hUwDL7TL8TExZiK0UjTCOr3oSAtXsABfpaWQEfOUEyx2 hFh2RVOYsd+Q+FZ8yguxb0Jif68OU5nJN/uMWak0lctPnBTrWZaVpOe88T44b0oKxPGb 6jfbclDwnC68hEs218sJnuc7ujvDZhJHGRtJwmTVahPaoYBZS3tEKa16TVVWQ8gSTqlK 4JHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=Sp94a4By7rmQvWc5jMQqzglgwCNVn8SSdYCf74ClAdY=; b=S0WJX9lGHDB4wHHqHZ/o6/n8qlhewt1j8ALIGVhsN6WHzIoECXGMURfworU6MGTUzD V0E0f9tIWOSH2sc824ejO+OSold04yQBqUqegSKSjDdbNjljIjHWc2V3F14xtHIpwnQO ZCBChWsfpS7Y51SHnP+Thqoc4R08yoOkQmdOgmGFLIX+jnJY7Z0xFzsD90DiEFwgJszN AOoIT9O/MdJBpJ5tOy+yREI3DI/ZxbZJD6tljhMKvaJ5FCa6WqLhHfAZO5CBe5Q9nosy haZ1TfVfeeXy0/ssq7crUCtiG6hmQBNtNC8CLEVW1taUvsqlD6YYytRnBNyrVHRzxpvS LIcA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0b0J98d9; 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 u12-v6si3291713pgh.261.2018.07.23.10.54.23; Mon, 23 Jul 2018 10:54:38 -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=0b0J98d9; 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 S2388243AbeGWSzv (ORCPT + 99 others); Mon, 23 Jul 2018 14:55:51 -0400 Received: from mail.kernel.org ([198.145.29.99]:39010 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388181AbeGWSzv (ORCPT ); Mon, 23 Jul 2018 14:55:51 -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 B58C920854; Mon, 23 Jul 2018 17:53:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1532368410; bh=axOXj1G02FoyoLpvBrKKnloZQzo5T6p/zeSZtjC1ORY=; h=From:To:Cc:Subject:Date:From; b=0b0J98d98JHIb+UosivoIIag6v9bNRE/4r2WpsUvvj/+2dAlaEusPP6UEt380lb29 JJaKshn9YWOcRj+jelygc0UPbm9DlLUyIcSC2pAAEjrARpC3ojgWrxonOAaWIKy5Se edaBhHFObkb9ozhxdDpYe8WwZRwLzt0Ywq7cA34c= 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 00/10] pinctrl: samsung: Remove ugly hack for sharing eint_wakeup_mask Date: Mon, 23 Jul 2018 19:52:52 +0200 Message-Id: <20180723175302.22535-1-krzk@kernel.org> X-Mailer: git-send-email 2.14.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi All, Changes since v1 ================ 1. Add Tomasz's ack. 2. Reword description in patch 6/10. Tests ===== This is both request for comments and requests for tests. Only basic tests were done, including suspend to RAM on Odroid U3 (Exynos4412) with max7768 RTC wakeup. Please kindly test it with devices capable of suspending and resuming. I am mostly thinking about S5Pv210-based (Aria), Trats, Trats2 and TM2 (Exynos5433). Existing platforms should not be broken however changing external interrupt wakeup mask was not done on Exynos5433. Description =========== The Exynos/S5Pv210 machine suspend code needs to write the external interrupt mask during suspend. The mask is controlled by pin controller driver: the exynos_wkup_irq_set_wake() in IRQ chip for these wakeup interrupts. Therefore pinctrl driver code exposed an exynos_get_eint_wake_mask() function which was later used as an extern in machine code. This is quite ugly way of combining driver and machine code, not portable triggering Sparse and GCC warnings. This might break suspend capability S5Pv210 on with older DTBs (thus breaks DTB compatibility), however: 1. just "might" because in case of using older DTB, the wakeup mask will not be changed during suspend and default reset value (all interrupts non-masked) should work, 2. mainline support for S5Pv210 with DTB is limited and suspend to RAM already might be broken. Dependencies ============ 1. The first seven patches should be taken through one tree, preferably samsung-pinctrl, 2. The DTS patch (7/10) for S5Pv210 should go into next cycle, 3. The remaining patches (8-10) should go after all previous, so probably another release cycle. Best regards, Krzysztof Krzysztof Kozlowski (10): pinctrl: samsung: Define suspend and resume callbacks for all banks and SoCs pinctrl: samsung: Document suspend and resume members pinctrl: samsung: Document hidden requirement about one external wakeup pinctrl: samsung: Add dedicated compatible for S5Pv210 wakeup interrupts ARM: exynos: Define EINT_WAKEUP_MASK registers for S5Pv210 and Exynos5433 pinctrl: samsung: Write external wakeup interrupt mask ARM: dts: s5pv210: Switch to S5Pv210 specific pinctrl wakeup compatible ARM: s5pv210: Remove legacy setting of external wakeup interrupts ARM: exynos: Remove legacy setting of external wakeup interrupts pinctrl: samsung: Remove legacy API for handling external wakeup interrupts mask .../bindings/pinctrl/samsung-pinctrl.txt | 11 ++- arch/arm/boot/dts/s5pv210.dtsi | 2 +- arch/arm/mach-exynos/common.h | 2 - arch/arm/mach-exynos/suspend.c | 16 +++-- arch/arm/mach-s5pv210/common.h | 1 - arch/arm/mach-s5pv210/pm.c | 16 +++-- drivers/pinctrl/samsung/pinctrl-exynos-arm.c | 16 +++++ drivers/pinctrl/samsung/pinctrl-exynos.c | 78 +++++++++++++++++++--- drivers/pinctrl/samsung/pinctrl-samsung.h | 11 +++ include/linux/soc/samsung/exynos-regs-pmu.h | 8 ++- 10 files changed, 136 insertions(+), 25 deletions(-) -- 2.14.1