Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp771561ybg; Wed, 10 Jun 2020 13:18:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy5S43uc4sVGsKWcsiHlmPx/6mKN8zynYEXJoBuiGVqr+2ZwzY2or3TY1gRtTRIjWbi6B8Q X-Received: by 2002:a17:906:e257:: with SMTP id gq23mr4796581ejb.398.1591820287003; Wed, 10 Jun 2020 13:18:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591820286; cv=none; d=google.com; s=arc-20160816; b=Xol3Xt5Fo8NgZW3CSzB17kl1PXLU4tZ9MUoyl7UTfPnxiE71C+pderaTNCbg5uHW2w BYhdaLj/ov2XVGsWsW7hIo6j5nFC8zBrcGz3EG3wjgZui80kMnyuZWMv8aHJ1k1UBmxD idQpdZTxpFX41cpn77pnVAFmtvBYsEO1mpuAV5EreiOwNKx30ep4tDDB/XBr07+6z0ri BDb8Xd8WBe/HSVTIXPDvrsxaxfYjSCOyQhc25BHxnuI3bF0Y4bb+mxjbRLVtPSwCazSf 79K5GPE4or6YwiTzViOW+ij/gJfl6i5Ok5Pt+L7XdOC+EiaJN5GpyDzdkx7y6EN7ng2k ngFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=qPDDsblskj7YQmgnouxNlkCLsEOLE3lWy+i5i5BsSyk=; b=dLOJYOpgS0fiwmv7/aVFAPCtuEd4NHzGPccETurCLpy0jxKV9M9yNbbD73O/jQgPZo 8WCptAdO2ICdiaTv3kYezf5klu0sY3Og7pxMrNe2cgBH/SG/HnVhNmrRKIQagrp4jvM4 cf2cMpsxuUESPFDbUNBL2L3uKC/CFavj4F1UxZYNTbC6GeBMLL0rrBN2xwihZtpvMaIp ywKVNQ6I07VfLc66/cHIVJjIKBey1Gy/hoAg4lESvsG/BK3Urdg2XvXUsIoqAlXGZYre 55RzclYP2IkoRF5wpJ1hV040BuLZ8w0L5Oe6D8aHZ65f7A8YCWw/z/Vxzb1oi1mIdSD4 mW8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="Ed8Q/VdK"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l24si754628ejr.561.2020.06.10.13.17.42; Wed, 10 Jun 2020 13:18:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="Ed8Q/VdK"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728281AbgFJR7B (ORCPT + 99 others); Wed, 10 Jun 2020 13:59:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726637AbgFJR7A (ORCPT ); Wed, 10 Jun 2020 13:59:00 -0400 Received: from mail-vk1-xa44.google.com (mail-vk1-xa44.google.com [IPv6:2607:f8b0:4864:20::a44]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A631C03E96B; Wed, 10 Jun 2020 10:58:59 -0700 (PDT) Received: by mail-vk1-xa44.google.com with SMTP id n22so803936vkm.7; Wed, 10 Jun 2020 10:58:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=qPDDsblskj7YQmgnouxNlkCLsEOLE3lWy+i5i5BsSyk=; b=Ed8Q/VdKzx70Hkg1B9bBSd28+aKmZRAjdKlNjSK91zvZF1DNrNUf8d9zKBjBQo8+KX TMbuKQtZ+8hS/oVcUn0gyANMUZSv/JLYNPUzvotSJUSZuH11hedRVl/ay8xYXySV2u+7 LfihLzrAujQEp2jBfkXLX7uOwCd6pAm8NgE2JxyAfkvudZyT8Q4a+kA1f6g/KC/8hVmD OphOFAhRDfpleloVPlDxzMkTZixMzPD9YgNCLmq+Lbl4cSUqPXqpedqvGjvH3QwzBbw8 Ut5k9R/7LO2YhfY3CBiXNN5ktF/nCqYHJ3vDX6DO4QuANJpx2gxqUfeyi81B431vrd5J OHEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=qPDDsblskj7YQmgnouxNlkCLsEOLE3lWy+i5i5BsSyk=; b=Kyacca+nlPeB2DmGqtTHSQqMlBSipuBZeuIIauxU/hKdYW98gj+dbKgDBsq3YhI+Ew 2+JUF9FbDu0ktfHYB4D1hClbGLAJco7Dwug+YsfNkHv3TY2uUurPu4Ql6cEyHa81qlue TjwwkAGC4uvM+lXS8hstEXoXXyEMFToIGuVSDUmbQdK6u7R3QIdqnw96sCOQcJKmyh3F rzmFbiB7Ar7xjtEoxydFXLFUf62TvTRNG9bexqQjmBll+DRCvegrDBUhhoIFfsrqduqa GFq+jKAMS0mTYo0FQqcD4lg4EyueK8SstdxDtpixbITkdiFp7FuURf1pY42/Dq3ua3vs 3SuA== X-Gm-Message-State: AOAM532ZGJ4HhG7tX2RWxlO2Px8LiV8PT7QVTcq9m+8CO1Zaq3H26dBw LlwE+OMe3y1O5hLvKHUFlvl6YurT8sgLbw6RRZw= X-Received: by 2002:a1f:18c7:: with SMTP id 190mr3423466vky.39.1591811938261; Wed, 10 Jun 2020 10:58:58 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Pintu Agarwal Date: Wed, 10 Jun 2020 23:28:47 +0530 Message-ID: Subject: Re: Generic way for verifying GPIO wakeup capability To: Kernelnewbies , open list , linux-pm@vger.kernel.org, "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , linux-gpio@vger.kernel.org, zonque@gmail.com, sergiosiena@gmail.com Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 9 Jun 2020 at 23:06, Pintu Agarwal wrote: > > Hi All, > > I am looking for ways to wakeup any devices (from sleep) using any > arbitrary gpio wakeup method in a generic way (either from user space > or kernel space) that should work on any kernel version (starting from > 4.14 onwards). > > What are the options available right now ? > I wanted to experiment with all of them and decide which is best for us. > > Is /sys/class/gpio/ method still valid with the latest kernel ? > Or is there any other method to do it from user space ? > > One option I know is to use enable/disable_irq_wake() API from kernel > driver suspend/resume path. > Just like this: > https://lwn.net/Articles/569027/ > > But this requires an additional kernel driver and device-tree changes > for each gpio wakeup, which the end-user needs to implement on their > own. > > Is there any other existing generic mechanism? > https://embeddedbits.org/new-linux-kernel-gpio-user-space-interface/ Is it possible to achieve this using this new interface ? And I think another option is to use gpio-keys defined in device-tree. Will this method work for any wake-capable gpio ? How to verify this for any arbitrary gpio ?