[{"id":1764698,"web_url":"http://patchwork.ozlabs.org/comment/1764698/","msgid":"<b0f7495b-3b51-a75f-2a29-bbcd86eacb53@arm.com>","list_archive_url":null,"date":"2017-09-07T12:39:11","subject":"Re: [PATCH v4 0/6] irqdomain, gpio: expand irq_domain_push_irq() for\n\tDT use and use it for GPIO","submitter":{"id":7353,"url":"http://patchwork.ozlabs.org/api/people/7353/","name":"Marc Zyngier","email":"marc.zyngier@arm.com"},"content":"On 07/09/17 12:41, Masahiro Yamada wrote:\n> \n> This series adds a GPIO controller for UniPhier SoC family.\n> It also works as an irqchip in hierarchy domain manner.\n> \n> My problem is mapping of IRQ from this controller to the parent\n> irqchip is not contiguous.\n> \n>   IRQ line of GPIO  --->  Parent interrupt\n>         0           --->     48\n>         1           --->     49\n>                 ...\n>         15          --->     63\n>         16          --->    154\n>         17          --->    155\n>                 ...\n>         20          --->    158\n>         21          --->    217\n>         22          --->    218\n>                 ...\n> \n> So, I need to have an array of parent hwirqs somehow.\n> \n> Probably, most of people will try to use \"interrupts\" DT property,\n> but I noticed a potential problem for hierarchy IRQ domain.\n> If \"interrupts\" property exists in the device node, IRQ resource\n> may be statically allocated when platform devices are populated\n> from DT.  I asked this question some time ago:\n> https://lkml.org/lkml/2017/7/6/758\n> \n> After I tackled this, I decided to put the array in the driver,\n> but I could not get a positive response for this.\n> The discussion mostly happened in v1 thread:\n> http://patchwork.ozlabs.org/patch/797145/\n> \n> Recently, the new API irq_domain_push_irq() was merged in the\n> mainline.  I thought this might be useful to solve the hierarchy\n> domain issue.  Hence, here is a trial.\n> \n> I found patch 2 is needed to avoid \"type mismatch\" error.\n> \n> One more thing, I am worried about a race condition.\n> \n> I think there is a possibility where a device tries to get IRQ\n> after irq_domain_create_hierarchy(), but before irq_domain_push_irq().\n> \n> \tpriv->domain = irq_domain_create_hierarchy(...)\n> \tif (!priv->domain)\n> \t\treturn -ENOMEM;\n> \n>         [  *** What if a irq consumer device request the irq here? *** ]\n\nWe've explicitly forbidden such a use case. There is a (not exactly fool\nproof) check in irq_domain_push_irq(), but it is pretty easy to bypass\nit. \"Don't do it\" is the conclusion we reached with David Daney.\n\nIf you don't want these interrupts to be requested, you might as well\nflag them as IRQ_NOREQUEST, and unflag them when the hierarchy is ready.\n\nWould that work for you?\n\nThanks,\n\n\tM.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"CacN922l\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xp0QZ1KQtz9s9Y\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tThu,  7 Sep 2017 22:39:47 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dpw5s-0003xI-LU; Thu, 07 Sep 2017 12:39:40 +0000","from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]\n\thelo=foss.arm.com)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dpw5o-0003rs-6e for linux-arm-kernel@lists.infradead.org;\n\tThu, 07 Sep 2017 12:39:38 +0000","from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])\n\tby usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5D01713D5;\n\tThu,  7 Sep 2017 05:39:15 -0700 (PDT)","from [10.1.206.41] (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249])\n\tby usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id\n\t332743F578; Thu,  7 Sep 2017 05:39:13 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:\n\tMessage-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description\n\t:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=BXqVTp+g1ctJKNNoifA8+0Z4+R0jUFLDXmLxydlcuEo=;\n\tb=CacN922lIVkQ9L\n\tgtN0LP2WeXhYgW1m3WOJFnG07CLS44NNlBn3R571mPatdMNMD4lRIcNhN88XO+l8JW679GIsbatco\n\tdR/fingx0lLyDDrdeNiB2MwsSCSND42s9/waV4lCRno4tfFGVne+l4HdzKAcfvb/MaK49hbFO4/E0\n\th4j41YPQBoCz1ErWvhZ18m8r84WzZHuuGIZYf59lfxyUFgMP//64KR/TGYPVwbbFPgByDdLeMKjJK\n\t+F+7BhDz0/AwR95ZnydVXJCZ+diBsgpK60Kpdk3e0odKmPnc/rjOhQ9NKhF/NzkozRCSQTzkGQqQo\n\tzHX+qw8/l90meisjalGQ==;","Subject":"Re: [PATCH v4 0/6] irqdomain, gpio: expand irq_domain_push_irq() for\n\tDT use and use it for GPIO","To":"Masahiro Yamada <yamada.masahiro@socionext.com>,\n\tThomas Gleixner <tglx@linutronix.de>,\n\tLinus Walleij <linus.walleij@linaro.org>, linux-gpio@vger.kernel.org, \n\tRob Herring <robh+dt@kernel.org>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>","From":"Marc Zyngier <marc.zyngier@arm.com>","Organization":"ARM Ltd","Message-ID":"<b0f7495b-3b51-a75f-2a29-bbcd86eacb53@arm.com>","Date":"Thu, 7 Sep 2017 13:39:11 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>","Content-Language":"en-GB","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170907_053936_286319_77EC7C50 ","X-CRM114-Status":"GOOD (  20.69  )","X-Spam-Score":"-6.9 (------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-6.9 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/,\n\thigh trust [217.140.101.70 listed in list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org,\n\tJason Cooper <jason@lakedaemon.net>,\n\tDavid Daney <david.daney@cavium.com>, \n\tlinux-kernel@vger.kernel.org, Jassi Brar <jaswinder.singh@linaro.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>,\n\tlinux-arm-kernel@lists.infradead.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1764912,"web_url":"http://patchwork.ozlabs.org/comment/1764912/","msgid":"<CAL_Jsq+Da1=myQGEpA_0f+dEU0Rk6RB3BJHVCzq0M0MyJ3UDoQ@mail.gmail.com>","list_archive_url":null,"date":"2017-09-07T19:41:40","subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","submitter":{"id":67416,"url":"http://patchwork.ozlabs.org/api/people/67416/","name":"Rob Herring","email":"robh+dt@kernel.org"},"content":"On Thu, Sep 7, 2017 at 6:42 AM, Masahiro Yamada\n<yamada.masahiro@socionext.com> wrote:\n> This GPIO controller device is used on UniPhier SoCs.\n>\n> It also serves as an interrupt controller, but interrupt signals are\n> just delivered to the parent irqchip without any latching or OR'ing.\n> This is implemented by using hierarchy IRQ domain.\n>\n> Implementation note:\n> Unfortunately, the IRQ mapping from this controller to the parent is\n> random. (48, 49, ..., 63, 154, 155, ...)\n> If \"interrupts\" property is used, IRQ resources may be statically\n> allocated when platform devices are populated from DT.  This can be\n> a problem for the hierarchy IRQ domain because IRQ allocation must\n> happen from the outer-most domain up to the root domain in order to\n> build up the stacked IRQ.  (https://lkml.org/lkml/2017/7/6/758)\n> Solutions to work around it could be to hard-code parent hwirqs or\n> to invent a driver-specific DT property.\n>\n> Here, the new API irq_domain_push_irq() was merged by v4.14-rc1.\n> It allows to add irq_data to the existing hierarchy.  It will help\n> to make this driver work whether the parent has already initialized\n> the hierarchy or not.\n>\n> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>\n> ---\n>\n> Changes in v4:\n>   - Add COMPILE_TEST and select IRQ_DOMAIN_HIERARCHY\n>   - Reimplement irqchip part by using irq_domain_push_irq()\n>\n> Changes in v3:\n>   - Add .irq_set_affinity() hook\n>   - Use irq_domain_create_hierarchy() instead of legacy\n>     irq_domain_add_hierarchy()\n>\n> Changes in v2:\n>   - Remove +32 offset for parent interrupts to follow the GIC\n>     binding convention\n>   - Let uniphier_gpio_irq_alloc() fail if nr_irqs != 1\n>   - Allocate gpio_chip statically because just one instance is\n>     supported\n>   - Fix suspend and resume hooks\n>\n>  .../devicetree/bindings/gpio/gpio-uniphier.txt     |  43 ++\n\nWhat happened to my ack? One line here more that before, but I'm not\ngoing to diff your patches for you.\n\nBTW, it is preferred to split bindings to a separate patch.\n\n>  MAINTAINERS                                        |   1 +\n>  drivers/gpio/Kconfig                               |   8 +\n>  drivers/gpio/Makefile                              |   1 +\n>  drivers/gpio/gpio-uniphier.c                       | 486 +++++++++++++++++++++\n>  include/dt-bindings/gpio/uniphier-gpio.h           |  18 +\n>  6 files changed, 557 insertions(+)\n>  create mode 100644 Documentation/devicetree/bindings/gpio/gpio-uniphier.txt\n>  create mode 100644 drivers/gpio/gpio-uniphier.c\n>  create mode 100644 include/dt-bindings/gpio/uniphier-gpio.h","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"K+sZt7mR\"; dkim-atps=neutral","mail.kernel.org;\n\tdmarc=none (p=none dis=none) header.from=kernel.org","mail.kernel.org;\n\tspf=none smtp.mailfrom=robh+dt@kernel.org"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xp9pF3SnJz9s76\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tFri,  8 Sep 2017 05:42:29 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dq2h0-0000ec-TA; Thu, 07 Sep 2017 19:42:26 +0000","from mail.kernel.org ([198.145.29.99])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dq2gx-0000Yh-Di for linux-arm-kernel@lists.infradead.org;\n\tThu, 07 Sep 2017 19:42:25 +0000","from mail-qk0-f174.google.com (mail-qk0-f174.google.com\n\t[209.85.220.174])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby mail.kernel.org (Postfix) with ESMTPSA id 0187321EA8\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tThu,  7 Sep 2017 19:42:02 +0000 (UTC)","by mail-qk0-f174.google.com with SMTP id o129so1765244qkd.0\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tThu, 07 Sep 2017 12:42:01 -0700 (PDT)","by 10.12.153.1 with HTTP; Thu, 7 Sep 2017 12:41:40 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:\n\tReferences:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=1LJk/U33l3TNwfCYQdxIoK68rbeV9TyRBYcTeVKgKac=;\n\tb=K+sZt7mRLUDUdQ\n\tIYIKHmn6ZW83zFwadmyYtNKQqwR/ipY3qzU30n0wNmm9aVuSw3ebHbW7BPcsPHlPZRSM/g7cW0aY0\n\tVkVxysaN+GhvN4Bb+nRcevfxG7QFR622VhBYMvMOqzKFqfDOypXGrSYTWNFt1aBZ2RiNTua4K6RV/\n\tfDAjUzQHll20XLqau+kugdHHVZc7SPrUgN9QTP0vy6Ydp2yIaa8O9g7Vkvq0hXLG3hhu3suupCh8f\n\tvd6PqBhpw41Dmg2GuCzHs/MIncSETYe6ACWPTVwe1x9QaOedMTY8aQiEBRYNZQYc/y4vby4rphXkm\n\t5/O8PysPjksCz7pn12Jw==;","DMARC-Filter":"OpenDMARC Filter v1.3.2 mail.kernel.org 0187321EA8","X-Gm-Message-State":"AHPjjUj6Sb4j1xhFopo8rbk1q2ItQoADBoTFo9lj8TDLnoUz3A8+i0UF\n\tfUns47Yqe+IMDhhzK4SHLguVRQn0LQ==","X-Google-Smtp-Source":"AOwi7QDtzaPSfQ/GjDy/HhKpsnghiyaE4TrO+oN33nQo3u2wYZYG9qS+SeBKGXugKY9K9Blf2pEEuqhFtALzF6CZ69A=","X-Received":"by 10.55.33.75 with SMTP id h72mr626150qkh.132.1504813321115;\n\tThu, 07 Sep 2017 12:42:01 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>\n\t<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>","From":"Rob Herring <robh+dt@kernel.org>","Date":"Thu, 7 Sep 2017 14:41:40 -0500","X-Gmail-Original-Message-ID":"<CAL_Jsq+Da1=myQGEpA_0f+dEU0Rk6RB3BJHVCzq0M0MyJ3UDoQ@mail.gmail.com>","Message-ID":"<CAL_Jsq+Da1=myQGEpA_0f+dEU0Rk6RB3BJHVCzq0M0MyJ3UDoQ@mail.gmail.com>","Subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","To":"Masahiro Yamada <yamada.masahiro@socionext.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170907_124223_557404_40F3BB61 ","X-CRM114-Status":"GOOD (  21.30  )","X-Spam-Score":"-6.4 (------)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-6.4 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/,\n\thigh trust [198.145.29.99 listed in list.dnswl.org]\n\t0.5 RCVD_IN_SORBS_SPAM     RBL: SORBS: sender is a spam source\n\t[209.85.220.174 listed in dnsbl.sorbs.net]\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>,\n\tJason Cooper <jason@lakedaemon.net>,\n\tJassi Brar <jaswinder.singh@linaro.org>, \n\tMarc Zyngier <marc.zyngier@arm.com>,\n\tLinus Walleij <linus.walleij@linaro.org>, \n\tDavid Daney <david.daney@cavium.com>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"linux-gpio@vger.kernel.org\" <linux-gpio@vger.kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>,\n\tThomas Gleixner <tglx@linutronix.de>, \n\t\"linux-arm-kernel@lists.infradead.org\"\n\t<linux-arm-kernel@lists.infradead.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1765447,"web_url":"http://patchwork.ozlabs.org/comment/1765447/","msgid":"<CAK7LNASFPdcgifCChbeXPzek3Lk_x-q7LG83vv8LK0jWkurE5A@mail.gmail.com>","list_archive_url":null,"date":"2017-09-08T15:06:48","subject":"Re: [PATCH v4 0/6] irqdomain, gpio: expand irq_domain_push_irq() for\n\tDT use and use it for GPIO","submitter":{"id":65882,"url":"http://patchwork.ozlabs.org/api/people/65882/","name":"Masahiro Yamada","email":"yamada.masahiro@socionext.com"},"content":"Hi Marc.\n\n2017-09-07 21:39 GMT+09:00 Marc Zyngier <marc.zyngier@arm.com>:\n>> I think there is a possibility where a device tries to get IRQ\n>> after irq_domain_create_hierarchy(), but before irq_domain_push_irq().\n>>\n>>       priv->domain = irq_domain_create_hierarchy(...)\n>>       if (!priv->domain)\n>>               return -ENOMEM;\n>>\n>>         [  *** What if a irq consumer device request the irq here? *** ]\n>\n> We've explicitly forbidden such a use case. There is a (not exactly fool\n> proof) check in irq_domain_push_irq(), but it is pretty easy to bypass\n> it. \"Don't do it\" is the conclusion we reached with David Daney.\n>\n> If you don't want these interrupts to be requested, you might as well\n> flag them as IRQ_NOREQUEST, and unflag them when the hierarchy is ready.\n>\n> Would that work for you?\n\n\nSorry if my description was unclear.\n\nI do not think IRQ_NOREQUEST is equivalent\nto IRQ_DOMAIN_FLAG_NO_CREATE I am trying to add in 5/6.\n\n\nMy intention is to prevent platform_get_irq()\nfrom allocating a new virq.\n\nI think IRQ_NOREQUEST only affects request_irq().\n\n\n\nHaving said that, this series got negative response\nas a whole.\n\nMy motivation is to get my GPIO driver (6/6) in\nby hook or by crook.\nIf you do not like this series, please feel free to throw it away.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"DMwLuaLD\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=nifty.com header.i=@nifty.com\n\theader.b=\"T84mdPfY\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xpggM3YMqz9sBZ\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 01:08:15 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dqKtA-0001oR-8X; Fri, 08 Sep 2017 15:08:12 +0000","from conssluserg-01.nifty.com ([210.131.2.80])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dqKt6-0001lW-CA for linux-arm-kernel@lists.infradead.org;\n\tFri, 08 Sep 2017 15:08:10 +0000","from mail-yw0-f175.google.com (mail-yw0-f175.google.com\n\t[209.85.161.175]) (authenticated)\n\tby conssluserg-01.nifty.com with ESMTP id v88F7TUS004510\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tSat, 9 Sep 2017 00:07:29 +0900","by mail-yw0-f175.google.com with SMTP id r85so8284922ywg.1\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tFri, 08 Sep 2017 08:07:29 -0700 (PDT)","by 10.37.164.225 with HTTP; Fri, 8 Sep 2017 08:06:48 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:\n\tReferences:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=3K60tSLF2efgv1ybhMOOSUrOkNAWMVfXXaSu8vMjQkI=;\n\tb=DMwLuaLDUUwahI\n\ta1pHb0utlpqPlYegIK6r6sdIUscAFhSqm06sHyZ4e0F9Htfjfm2vk5Unw+HRoWKry3U0ccEo/dccx\n\t855My01VV3FXXXPhU5RYkkCCdTYDaR8H2/BBiMUzzvd3CsyDOUHkfhbl8zqpw50r/j5068MSzp51D\n\tXVY0GdK8nixeLMzC03DNwfiq1J7Iv5FGMeEbfI0NpfBEjLio1yyB59F4pf8kLJ1k2cvrdnCGarzp+\n\tFw1o3xefjigVfHL0GuaCFAX3dCpi6lTRa2jd6E89wVqdtvt4nHsxLpPIZjIeN8N1U4wL/ut5XlQsX\n\tgnCEz15wneP+h+RbMZoQ==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com;\n\ts=dec2015msa; t=1504883250;\n\tbh=OvS+2REqlQM7MVXnowjwc0uSlyGLWcHMe6BVzNwIcb8=;\n\th=In-Reply-To:References:From:Date:Subject:To:Cc:From;\n\tb=T84mdPfYUL+DYvhhzFgmlBA2SKBpjDED1DvytaxJh4Poc4u73kJdQs7+8ODOXqzE0\n\tyQk0HPYRkjxVjvOMm+Pk+s9XR8ygs5mH97rUvjEXEAdwdMuVE7dL8jm/HUGV3f9ApO\n\tX/PFmVJzZ4juSKMnimSRVHcetI+TVO1P8GXjMT+t6LuJtrvG3pQKbG6ePqFKzSpU+K\n\tona/dpK017nMN3MLTG2bSHSmNO9rYQc6Yk/pnL21uf7t2hGv7+TjZ340PlAeEDmEBC\n\tj8/w1DiSmHReujwoOnPdoKZ4ycIc00jZWUsjBNfKv4Ad6FLd2VGewzWH9zFCcVLpFv\n\tVBfwxB81tVmWA=="],"DKIM-Filter":"OpenDKIM Filter v2.10.3 conssluserg-01.nifty.com v88F7TUS004510","X-Nifty-SrcIP":"[209.85.161.175]","X-Gm-Message-State":"AHPjjUghKjL6v0AoFileTvHy3EeRnOKGnu2A0ZEv/mDK/HivHeZMO1Ni\n\tCyZb2t6leImGXbhNM2jcVeLtXjvBsg==","X-Google-Smtp-Source":"ADKCNb6ZaSMfU0uApY5hqPc7hD7a8uJsPE+N8HrV30BHc+nOp5CMQP+qDjsF58Vg9jnS/RN7ppU/fvY54138JFVZ4N8=","X-Received":"by 10.129.123.194 with SMTP id\n\tw185mr2656995ywc.333.1504883248649; \n\tFri, 08 Sep 2017 08:07:28 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<b0f7495b-3b51-a75f-2a29-bbcd86eacb53@arm.com>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>\n\t<b0f7495b-3b51-a75f-2a29-bbcd86eacb53@arm.com>","From":"Masahiro Yamada <yamada.masahiro@socionext.com>","Date":"Sat, 9 Sep 2017 00:06:48 +0900","X-Gmail-Original-Message-ID":"<CAK7LNASFPdcgifCChbeXPzek3Lk_x-q7LG83vv8LK0jWkurE5A@mail.gmail.com>","Message-ID":"<CAK7LNASFPdcgifCChbeXPzek3Lk_x-q7LG83vv8LK0jWkurE5A@mail.gmail.com>","Subject":"Re: [PATCH v4 0/6] irqdomain, gpio: expand irq_domain_push_irq() for\n\tDT use and use it for GPIO","To":"Marc Zyngier <marc.zyngier@arm.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170908_080808_679328_22E0646D ","X-CRM114-Status":"GOOD (  14.10  )","X-Spam-Score":"-0.7 (/)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-0.7 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.5 RCVD_IN_SORBS_SPAM     RBL: SORBS: sender is a spam source\n\t[209.85.161.175 listed in dnsbl.sorbs.net]\n\t0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>, devicetree@vger.kernel.org,\n\tJason Cooper <jason@lakedaemon.net>,\n\tJassi Brar <jaswinder.singh@linaro.org>, \n\tLinus Walleij <linus.walleij@linaro.org>,\n\tDavid Daney <david.daney@cavium.com>, \n\tLinux Kernel Mailing List <linux-kernel@vger.kernel.org>,\n\tlinux-gpio@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>,\n\tThomas Gleixner <tglx@linutronix.de>, \n\tlinux-arm-kernel <linux-arm-kernel@lists.infradead.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1765454,"web_url":"http://patchwork.ozlabs.org/comment/1765454/","msgid":"<CAK7LNARwusK2i2mp7LE4AW28oYs81tWxgXG7pgBa-hu=2ZTW7A@mail.gmail.com>","list_archive_url":null,"date":"2017-09-08T15:14:45","subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","submitter":{"id":65882,"url":"http://patchwork.ozlabs.org/api/people/65882/","name":"Masahiro Yamada","email":"yamada.masahiro@socionext.com"},"content":"Hi Rob,\n\n\n2017-09-08 4:41 GMT+09:00 Rob Herring <robh+dt@kernel.org>:\n> On Thu, Sep 7, 2017 at 6:42 AM, Masahiro Yamada\n> <yamada.masahiro@socionext.com> wrote:\n>> This GPIO controller device is used on UniPhier SoCs.\n>>\n>> It also serves as an interrupt controller, but interrupt signals are\n>> just delivered to the parent irqchip without any latching or OR'ing.\n>> This is implemented by using hierarchy IRQ domain.\n>>\n>> Implementation note:\n>> Unfortunately, the IRQ mapping from this controller to the parent is\n>> random. (48, 49, ..., 63, 154, 155, ...)\n>> If \"interrupts\" property is used, IRQ resources may be statically\n>> allocated when platform devices are populated from DT.  This can be\n>> a problem for the hierarchy IRQ domain because IRQ allocation must\n>> happen from the outer-most domain up to the root domain in order to\n>> build up the stacked IRQ.  (https://lkml.org/lkml/2017/7/6/758)\n>> Solutions to work around it could be to hard-code parent hwirqs or\n>> to invent a driver-specific DT property.\n>>\n>> Here, the new API irq_domain_push_irq() was merged by v4.14-rc1.\n>> It allows to add irq_data to the existing hierarchy.  It will help\n>> to make this driver work whether the parent has already initialized\n>> the hierarchy or not.\n>>\n>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>\n>> ---\n>>\n>> Changes in v4:\n>>   - Add COMPILE_TEST and select IRQ_DOMAIN_HIERARCHY\n>>   - Reimplement irqchip part by using irq_domain_push_irq()\n>>\n>> Changes in v3:\n>>   - Add .irq_set_affinity() hook\n>>   - Use irq_domain_create_hierarchy() instead of legacy\n>>     irq_domain_add_hierarchy()\n>>\n>> Changes in v2:\n>>   - Remove +32 offset for parent interrupts to follow the GIC\n>>     binding convention\n>>   - Let uniphier_gpio_irq_alloc() fail if nr_irqs != 1\n>>   - Allocate gpio_chip statically because just one instance is\n>>     supported\n>>   - Fix suspend and resume hooks\n>>\n>>  .../devicetree/bindings/gpio/gpio-uniphier.txt     |  43 ++\n>\n> What happened to my ack? One line here more that before, but I'm not\n> going to diff your patches for you.\n\nI changed the binding for this version.\nIt includes a new one you have not acked yet.\n\nMaybe I was too worried about it.\n\n\n> BTW, it is preferred to split bindings to a separate patch.\n\nI will do so next time.","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"AXnsX9ir\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=nifty.com header.i=@nifty.com\n\theader.b=\"gRmvelnp\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xpgrd1Pwxz9sBZ\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tSat,  9 Sep 2017 01:16:14 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dqL0t-00062l-Cv; Fri, 08 Sep 2017 15:16:11 +0000","from conssluserg-01.nifty.com ([210.131.2.80])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dqL0o-0005yy-Vj for linux-arm-kernel@lists.infradead.org;\n\tFri, 08 Sep 2017 15:16:09 +0000","from mail-yw0-f179.google.com (mail-yw0-f179.google.com\n\t[209.85.161.179]) (authenticated)\n\tby conssluserg-01.nifty.com with ESMTP id v88FFQ8B007641\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tSat, 9 Sep 2017 00:15:27 +0900","by mail-yw0-f179.google.com with SMTP id r85so8350805ywg.1\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tFri, 08 Sep 2017 08:15:27 -0700 (PDT)","by 10.37.164.225 with HTTP; Fri, 8 Sep 2017 08:14:45 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:\n\tReferences:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=UftVBSE7owouzIaKZCSKjXlvkPw4YZtpOkOdhn80DkA=;\n\tb=AXnsX9ir1IHIZZ\n\tDT76YZaON5f2T1xdjxRGjjssjOzVvJKkWkypgZCXjyzaqQtlgw5kYQXL9GsdRrpdU/LkcHQnZD2qu\n\tvGmb8KFz0tpUWaV4Ax22ObwbSP5qAOD8y41/ycP84D6+0jxglhzgXXJafmkeXToUaG+1okL+mzstL\n\twQpm1d9ZJ0tffVtH28BKyglOtr5MFimZ1TL2v3TRPGT5PlEiqmPjmYZvixZo9EYHAeJx6+mpk8+pa\n\tSP9y36PdvZ/rBGW3eD3cXjRS+3wTIaqsgo6LpqTzW2zdnpy2IW0cqqoxfIsXUcnDPLxFDUSBkF+JD\n\tt4+tqFQTgu4QfWb1UVkA==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com;\n\ts=dec2015msa; t=1504883727;\n\tbh=VkbtTeo8hP07JKFcZWZm5AdZ1TrUG9qXFxCyP1PwAj0=;\n\th=In-Reply-To:References:From:Date:Subject:To:Cc:From;\n\tb=gRmvelnplc/wtL8mvB9nNbnnofEtZjeLGGDbRmLhvQR+HrznzGymmqxEnrZtuRo/b\n\tgBQ8KCTIkNo8lVzZYYM/xgwElDp5Scow6QBWH3/VeVKmG5t2zJmVVrLVTH1D7JX08i\n\t+gS9CK8wfBE0EMIkfIxmqzKZYuM7RvBzMHVVOmWE/5Pft/v9NULfO7ncVvaghcr6nF\n\tbRsuS1RQ2LceAXQIcpSyrowLe+mcJBJ6vBoYSMDGX6EVAcjqxdBy4Wh3Dzvb8ldGIj\n\ts9ERnh878qXsizTfr+9UHj4Hd/STrs5xeKLTvP715a2bfv09m8LUlJ1E2aF7GpX8j8\n\tMuQAH5/rJhi7Q=="],"DKIM-Filter":"OpenDKIM Filter v2.10.3 conssluserg-01.nifty.com v88FFQ8B007641","X-Nifty-SrcIP":"[209.85.161.179]","X-Gm-Message-State":"AHPjjUjUtLlJSYekTnhLx6xVkYRrpIhO8vdYVfTQPVLBQQCCLgkto/DZ\n\tCmsqHWb7gSunkB3kHZkn9iTqsjc9Ow==","X-Google-Smtp-Source":"ADKCNb5o7x+6gK/AG4m58cAbr0fLaw0t2fdmKNmt4rx61SbJkpusKz648sL+Stby+0ao9nqB27lo92lnZsqan/kVT9w=","X-Received":"by 10.37.173.2 with SMTP id y2mr2733648ybi.113.1504883725800;\n\tFri, 08 Sep 2017 08:15:25 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<CAL_Jsq+Da1=myQGEpA_0f+dEU0Rk6RB3BJHVCzq0M0MyJ3UDoQ@mail.gmail.com>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>\n\t<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>\n\t<CAL_Jsq+Da1=myQGEpA_0f+dEU0Rk6RB3BJHVCzq0M0MyJ3UDoQ@mail.gmail.com>","From":"Masahiro Yamada <yamada.masahiro@socionext.com>","Date":"Sat, 9 Sep 2017 00:14:45 +0900","X-Gmail-Original-Message-ID":"<CAK7LNARwusK2i2mp7LE4AW28oYs81tWxgXG7pgBa-hu=2ZTW7A@mail.gmail.com>","Message-ID":"<CAK7LNARwusK2i2mp7LE4AW28oYs81tWxgXG7pgBa-hu=2ZTW7A@mail.gmail.com>","Subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","To":"Rob Herring <robh+dt@kernel.org>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170908_081607_294388_C3638F86 ","X-CRM114-Status":"GOOD (  16.14  )","X-Spam-Score":"-0.7 (/)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-0.7 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)\n\t0.5 RCVD_IN_SORBS_SPAM     RBL: SORBS: sender is a spam source\n\t[209.85.161.179 listed in dnsbl.sorbs.net]\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>,\n\tJason Cooper <jason@lakedaemon.net>,\n\tJassi Brar <jaswinder.singh@linaro.org>, \n\tMarc Zyngier <marc.zyngier@arm.com>,\n\tLinus Walleij <linus.walleij@linaro.org>, \n\tDavid Daney <david.daney@cavium.com>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"linux-gpio@vger.kernel.org\" <linux-gpio@vger.kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>,\n\tThomas Gleixner <tglx@linutronix.de>, \n\t\"linux-arm-kernel@lists.infradead.org\"\n\t<linux-arm-kernel@lists.infradead.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1766508,"web_url":"http://patchwork.ozlabs.org/comment/1766508/","msgid":"<20170911201515.d4vki3yhrywpmdvc@rob-hp-laptop>","list_archive_url":null,"date":"2017-09-11T20:15:15","subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","submitter":{"id":62529,"url":"http://patchwork.ozlabs.org/api/people/62529/","name":"Rob Herring (Arm)","email":"robh@kernel.org"},"content":"On Sat, Sep 09, 2017 at 12:14:45AM +0900, Masahiro Yamada wrote:\n> Hi Rob,\n> \n> \n> 2017-09-08 4:41 GMT+09:00 Rob Herring <robh+dt@kernel.org>:\n> > On Thu, Sep 7, 2017 at 6:42 AM, Masahiro Yamada\n> > <yamada.masahiro@socionext.com> wrote:\n> >> This GPIO controller device is used on UniPhier SoCs.\n> >>\n> >> It also serves as an interrupt controller, but interrupt signals are\n> >> just delivered to the parent irqchip without any latching or OR'ing.\n> >> This is implemented by using hierarchy IRQ domain.\n> >>\n> >> Implementation note:\n> >> Unfortunately, the IRQ mapping from this controller to the parent is\n> >> random. (48, 49, ..., 63, 154, 155, ...)\n> >> If \"interrupts\" property is used, IRQ resources may be statically\n> >> allocated when platform devices are populated from DT.  This can be\n> >> a problem for the hierarchy IRQ domain because IRQ allocation must\n> >> happen from the outer-most domain up to the root domain in order to\n> >> build up the stacked IRQ.  (https://lkml.org/lkml/2017/7/6/758)\n> >> Solutions to work around it could be to hard-code parent hwirqs or\n> >> to invent a driver-specific DT property.\n> >>\n> >> Here, the new API irq_domain_push_irq() was merged by v4.14-rc1.\n> >> It allows to add irq_data to the existing hierarchy.  It will help\n> >> to make this driver work whether the parent has already initialized\n> >> the hierarchy or not.\n> >>\n> >> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>\n> >> ---\n> >>\n> >> Changes in v4:\n> >>   - Add COMPILE_TEST and select IRQ_DOMAIN_HIERARCHY\n> >>   - Reimplement irqchip part by using irq_domain_push_irq()\n> >>\n> >> Changes in v3:\n> >>   - Add .irq_set_affinity() hook\n> >>   - Use irq_domain_create_hierarchy() instead of legacy\n> >>     irq_domain_add_hierarchy()\n> >>\n> >> Changes in v2:\n> >>   - Remove +32 offset for parent interrupts to follow the GIC\n> >>     binding convention\n> >>   - Let uniphier_gpio_irq_alloc() fail if nr_irqs != 1\n> >>   - Allocate gpio_chip statically because just one instance is\n> >>     supported\n> >>   - Fix suspend and resume hooks\n> >>\n> >>  .../devicetree/bindings/gpio/gpio-uniphier.txt     |  43 ++\n> >\n> > What happened to my ack? One line here more that before, but I'm not\n> > going to diff your patches for you.\n> \n> I changed the binding for this version.\n> It includes a new one you have not acked yet.\n> \n> Maybe I was too worried about it.\n\nProbably so, but I still don't know what you changed.\n\nRob","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"KSRL9NSZ\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xrfLp737zz9s5L\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tTue, 12 Sep 2017 06:15:46 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drV7P-0005Da-KW; Mon, 11 Sep 2017 20:15:43 +0000","from mail-io0-f195.google.com ([209.85.223.195])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drV7L-00059Y-Ba for linux-arm-kernel@lists.infradead.org;\n\tMon, 11 Sep 2017 20:15:41 +0000","by mail-io0-f195.google.com with SMTP id j141so6140459ioj.5\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tMon, 11 Sep 2017 13:15:17 -0700 (PDT)","from localhost (216-188-254-6.dyn.grandenetworks.net.\n\t[216.188.254.6]) by smtp.gmail.com with ESMTPSA id\n\ta199sm2726454oii.37.2017.09.11.13.15.15\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tMon, 11 Sep 2017 13:15:16 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:\n\tMessage-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=Q6rlddnm+5FNZnLdv0aggOkdBs/E9FUzIRUXotMOF7M=;\n\tb=KSRL9NSZhuTrzj\n\taZWue1PO/kPj7o1FxzA3ZsL6p8+pKnceRZzo5hH3M4E9e+sIK+zFaOqiJzm4V39+OpKbJueYupoXK\n\tibNzLGeQgd+ka5VFZ/pzDy+vNMNFeJTsTPvrVd5plE9jnVts/SKMxWBk4wcTvdHgsFfCuukhNhfoq\n\tlKIRS5ytLzov4grpX97MJfMNtQh6UHDRwi+iMBJYM85/y37Cvw5bIy+jrkL5J59N8qP3WootA5+N5\n\tksUKBVPnQGTCS0eP4+/p9HUxE3tYBejjW2x6LgK8VWEyQGT51gWTJPMURDifO7sKmMiJDCOahDngW\n\tXx7ZO1Ljwm04CCEaiJcg==;","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:date:from:to:cc:subject:message-id:references\n\t:mime-version:content-disposition:in-reply-to:user-agent;\n\tbh=bppTqGUNW0E1YsqOkW9w8YDAdVpI/0zRnWmEYPYrV5o=;\n\tb=W4CjCpRe1vab6sgAH6eVzMpcjJjEaZX9woM5vyLjF71nnieBVkCx9CqsygrC85gbGZ\n\trBmfYMASwYR6tmeyamHJzCokkQ94I7YUxBumaDZoEDj8d4c4+qzT3ihuQL4sBPztTwJt\n\thN2SpTE1ElnBplW++Z6zxFCcwGHbYG+b2JjPVg4bwN+1tvSmbhGW/8nDqd1TmRlTp2Ez\n\tNjN4zaMoY3T7SPDhZiTZHIUJpmTzs9MFMhD2roXRjbvPhK12qBs3KMlQJiIN+WFcdfK5\n\tYyWlDnfrflFhGKveIftTnHm7iTqs/mU01qNnh1rrFz/PJsebVSivo5x5tFACYA1rUFGu\n\tEOqw==","X-Gm-Message-State":"AHPjjUjM+aaKctX0LOebP4YhRyaV96luWDD/FATRDAW3qhKdwfGQpKXa\n\tE+/uoJI2yy3xHQ==","X-Google-Smtp-Source":"AOwi7QC2MH+RoDg4JW6gA87IsdlcoDschUhdTxzaLxFFfui9El9YlI6R2qcOVoMDa8L7K1fiF79bGg==","X-Received":"by 10.202.73.76 with SMTP id w73mr13286488oia.233.1505160916656; \n\tMon, 11 Sep 2017 13:15:16 -0700 (PDT)","Date":"Mon, 11 Sep 2017 15:15:15 -0500","From":"Rob Herring <robh@kernel.org>","To":"Masahiro Yamada <yamada.masahiro@socionext.com>","Subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","Message-ID":"<20170911201515.d4vki3yhrywpmdvc@rob-hp-laptop>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>\n\t<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>\n\t<CAL_Jsq+Da1=myQGEpA_0f+dEU0Rk6RB3BJHVCzq0M0MyJ3UDoQ@mail.gmail.com>\n\t<CAK7LNARwusK2i2mp7LE4AW28oYs81tWxgXG7pgBa-hu=2ZTW7A@mail.gmail.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<CAK7LNARwusK2i2mp7LE4AW28oYs81tWxgXG7pgBa-hu=2ZTW7A@mail.gmail.com>","User-Agent":"NeoMutt/20170113 (1.7.2)","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170911_131539_457981_FF1770DC ","X-CRM114-Status":"GOOD (  22.78  )","X-Spam-Score":"-3.8 (---)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-3.8 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.5 RCVD_IN_SORBS_SPAM     RBL: SORBS: sender is a spam source\n\t[209.85.223.195 listed in dnsbl.sorbs.net]\n\t-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/,\n\tno trust [209.85.223.195 listed in list.dnswl.org]\n\t-2.8 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)\n\t[209.85.223.195 listed in wl.mailspike.net]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends\n\tin digit (robherring2[at]gmail.com)\n\t0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\n\tprovider (robherring2[at]gmail.com)\n\t0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level\n\tmail domains are different\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t0.2 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and\n\tEnvelopeFrom freemail headers are different","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>,\n\tJason Cooper <jason@lakedaemon.net>,\n\tJassi Brar <jaswinder.singh@linaro.org>, \n\tMarc Zyngier <marc.zyngier@arm.com>,\n\tLinus Walleij <linus.walleij@linaro.org>, \n\tDavid Daney <david.daney@cavium.com>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"linux-gpio@vger.kernel.org\" <linux-gpio@vger.kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>,\n\tThomas Gleixner <tglx@linutronix.de>, \n\t\"linux-arm-kernel@lists.infradead.org\"\n\t<linux-arm-kernel@lists.infradead.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1767092,"web_url":"http://patchwork.ozlabs.org/comment/1767092/","msgid":"<CACRpkdZLG=ezxj62R=WkULh2vfpQwqh8P-6FhtONzU7yRbyeuA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-12T14:03:56","subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","submitter":{"id":7055,"url":"http://patchwork.ozlabs.org/api/people/7055/","name":"Linus Walleij","email":"linus.walleij@linaro.org"},"content":"On Thu, Sep 7, 2017 at 1:42 PM, Masahiro Yamada\n<yamada.masahiro@socionext.com> wrote:\n\n> This GPIO controller device is used on UniPhier SoCs.\n>\n> It also serves as an interrupt controller, but interrupt signals are\n> just delivered to the parent irqchip without any latching or OR'ing.\n> This is implemented by using hierarchy IRQ domain.\n>\n> Implementation note:\n> Unfortunately, the IRQ mapping from this controller to the parent is\n> random. (48, 49, ..., 63, 154, 155, ...)\n> If \"interrupts\" property is used, IRQ resources may be statically\n> allocated when platform devices are populated from DT.  This can be\n> a problem for the hierarchy IRQ domain because IRQ allocation must\n> happen from the outer-most domain up to the root domain in order to\n> build up the stacked IRQ.  (https://lkml.org/lkml/2017/7/6/758)\n> Solutions to work around it could be to hard-code parent hwirqs or\n> to invent a driver-specific DT property.\n>\n> Here, the new API irq_domain_push_irq() was merged by v4.14-rc1.\n> It allows to add irq_data to the existing hierarchy.  It will help\n> to make this driver work whether the parent has already initialized\n> the hierarchy or not.\n>\n> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>\n> ---\n>\n> Changes in v4:\n>   - Add COMPILE_TEST and select IRQ_DOMAIN_HIERARCHY\n>   - Reimplement irqchip part by using irq_domain_push_irq()\n\nAwesome improvement. There was a build error and I also\nwould like David Daney to have a look at this so we know we\nuse things the right way, but overall I am happy after this\nso I hope I will be able to apply next version.\n\nYours,\nLinus Walleij","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"RVEvDs8c\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"WfrqYiQh\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xs6423TjZz9s7B\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 00:04:31 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drlne-0007Nf-2w; Tue, 12 Sep 2017 14:04:26 +0000","from mail-io0-x231.google.com ([2607:f8b0:4001:c06::231])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drlnZ-0007Ks-Ni for linux-arm-kernel@lists.infradead.org;\n\tTue, 12 Sep 2017 14:04:24 +0000","by mail-io0-x231.google.com with SMTP id v36so34684139ioi.1\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tTue, 12 Sep 2017 07:03:59 -0700 (PDT)","by 10.79.164.78 with HTTP; Tue, 12 Sep 2017 07:03:56 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:\n\tReferences:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=aPEo5xSfDBGJJAKGQH3t6BoQTbZzFvYUzHYRhF2Upe0=;\n\tb=RVEvDs8cYHG9D1\n\tzFwQ+Hlz2StYz4jHxr1vaqYD5p7wyMr7nwUjQ0tkp6VRMGKey3l8FV2A9FX9HLwtIxfeXqxzQgvLZ\n\tzfXrcO7iF+T/FBauAFJfMeLkxY9GHV0mElsksCfg6hPT/UxkIhwSGJEIemEW5bIdF1V6dN+bDVqGY\n\tYBIDlpCcrdndi6aNmYTNjCvT9yrUR99dMGoyrYdAo1TZaQC+pY0cfGKvaOwddGXltveTmICjMt7yj\n\tVQLu8gpFRSvIaLEiQERXbadsC06NecGlDxChBVdjGECRo9pYIVSo1YeJkJwuema+x8p3AKZsZDqJ0\n\tsGOSILikiN2TpZNTaf4g==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;\n\th=mime-version:in-reply-to:references:from:date:message-id:subject:to\n\t:cc; bh=RqGncLt1gYrVgWHFEsuiCU1z2o1QTE1nlUUC7PtGvrw=;\n\tb=WfrqYiQhsUr5NySr/vNsY69/kmuKhSbqn6uz+/eK3zafnhLVHn7LZ6SlQWvpK+3hIP\n\tQ+7qck6kFkWzZo3Cp9ba8Dhn7gh1pY+BIr/aPHzJgFSJ2bsJnuUR/WqeFkTwxMTudrI3\n\t9ZOZz/He6wipqi5k7dHG9dT4VXc2ZnURJqrqQ="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:in-reply-to:references:from:date\n\t:message-id:subject:to:cc;\n\tbh=RqGncLt1gYrVgWHFEsuiCU1z2o1QTE1nlUUC7PtGvrw=;\n\tb=bBINiYl0ZFUhxGz8r2Ce35OBCUpV+4w+7Tzj3CJAb8XhtDDC7Ldu/j6yd7oP/3EzjI\n\t4WNlVuakEM/9w4JZvEsKfOxnpMRSyE/FbAex2zVDyhr7iB8FZYhKXVEuUJrzfkSQ05Qq\n\t+7OShV/hhS+B8/gmZzNCIDVP0yBJcI5TcE/j3WQxKauSPEDakCykr6VZUK3nBXFlB0si\n\tQtAbPbVzfuAzQL746FtmRhPHUBbDBgQh6IOrvqXjEscXw0Fc5j7rETBjwGvfSf7Nmu51\n\toqsJKEQi1UWeGNK334AhWaJpTVlEIUD46nY3VhtoCI0/WScDbF1XuB55jMOyjX+CEfxq\n\tJXCQ==","X-Gm-Message-State":"AHPjjUjL6t/E8Q2MtQr4mT4hwiWDHD2rgAnVwLew3Lsrh0LZdgw60inO\n\tA8HMKdaEkT1ZYlWpIoikCJtyGyLozRrAVmc=","X-Google-Smtp-Source":"AOwi7QAfRoYrdC053VIBcTV5J9UrEPQUYiTUmDnhyx6PIouY/q3Vyf+26syc6wzmWerwpsiF7iZ33Za6ep+1KTKc4KI=","X-Received":"by 10.107.197.198 with SMTP id v189mr1625997iof.94.1505225037138;\n\tTue, 12 Sep 2017 07:03:57 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>\n\t<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>","From":"Linus Walleij <linus.walleij@linaro.org>","Date":"Tue, 12 Sep 2017 16:03:56 +0200","Message-ID":"<CACRpkdZLG=ezxj62R=WkULh2vfpQwqh8P-6FhtONzU7yRbyeuA@mail.gmail.com>","Subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","To":"Masahiro Yamada <yamada.masahiro@socionext.com>,\n\tDavid Daney <david.daney@cavium.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170912_070421_818393_7AC3E956 ","X-CRM114-Status":"GOOD (  18.28  )","X-Spam-Score":"-2.7 (--)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-2.7 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/,\n\tlow\n\ttrust [2607:f8b0:4001:c06:0:0:0:231 listed in] [list.dnswl.org]\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid\n\t-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from\n\tauthor's domain","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>,\n\tJason Cooper <jason@lakedaemon.net>,\n\tJassi Brar <jaswinder.singh@linaro.org>, \n\tMarc Zyngier <marc.zyngier@arm.com>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"linux-gpio@vger.kernel.org\" <linux-gpio@vger.kernel.org>,\n\tRob Herring <robh+dt@kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>, \n\tThomas Gleixner <tglx@linutronix.de>,\n\t\"linux-arm-kernel@lists.infradead.org\"\n\t<linux-arm-kernel@lists.infradead.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1767177,"web_url":"http://patchwork.ozlabs.org/comment/1767177/","msgid":"<7e46f2a3-114f-0c34-d3c5-49e6422b9200@caviumnetworks.com>","list_archive_url":null,"date":"2017-09-12T15:44:09","subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","submitter":{"id":721,"url":"http://patchwork.ozlabs.org/api/people/721/","name":"David Daney","email":"ddaney@caviumnetworks.com"},"content":"On 09/12/2017 07:03 AM, Linus Walleij wrote:\n> On Thu, Sep 7, 2017 at 1:42 PM, Masahiro Yamada\n> <yamada.masahiro@socionext.com> wrote:\n> \n>> This GPIO controller device is used on UniPhier SoCs.\n>>\n>> It also serves as an interrupt controller, but interrupt signals are\n>> just delivered to the parent irqchip without any latching or OR'ing.\n>> This is implemented by using hierarchy IRQ domain.\n>>\n>> Implementation note:\n>> Unfortunately, the IRQ mapping from this controller to the parent is\n>> random. (48, 49, ..., 63, 154, 155, ...)\n>> If \"interrupts\" property is used, IRQ resources may be statically\n>> allocated when platform devices are populated from DT.  This can be\n>> a problem for the hierarchy IRQ domain because IRQ allocation must\n>> happen from the outer-most domain up to the root domain in order to\n>> build up the stacked IRQ.  (https://lkml.org/lkml/2017/7/6/758)\n>> Solutions to work around it could be to hard-code parent hwirqs or\n>> to invent a driver-specific DT property.\n>>\n>> Here, the new API irq_domain_push_irq() was merged by v4.14-rc1.\n>> It allows to add irq_data to the existing hierarchy.  It will help\n>> to make this driver work whether the parent has already initialized\n>> the hierarchy or not.\n>>\n>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>\n>> ---\n>>\n>> Changes in v4:\n>>    - Add COMPILE_TEST and select IRQ_DOMAIN_HIERARCHY\n>>    - Reimplement irqchip part by using irq_domain_push_irq()\n> \n> Awesome improvement. There was a build error and I also\n> would like David Daney to have a look at this so we know we\n> use things the right way,\n\nIt looks correct to me.\n\nI haven't verified it, but I think the OF device-tree probing code for \nthe platform devices will automatically xlat-and-map all those irqs, so \nthat the  irq_domain_push_irq() is required to get the domain hierarchy \nproperly configured.  It would be similar to the PCI case where we \nconfigure all the MSI-X and then do the irq_domain_push_irq() in the \nCavium ThunderX driver.\n\nIf interrupt handling has been verified to work with this driver, I \nwould say that we are probably using things \"the right way\".\n\nDavid.\n\n\n\n> but overall I am happy after this\n> so I hope I will be able to apply next version.\n> \n> Yours,\n> Linus Walleij\n>","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"bYX9Obi4\"; \n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=CAVIUMNETWORKS.onmicrosoft.com\n\theader.i=@CAVIUMNETWORKS.onmicrosoft.com header.b=\"ggHxa2Cr\"; \n\tdkim-atps=neutral","spf=none (sender IP is )\n\tsmtp.mailfrom=David.Daney@cavium.com; "],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xs8Hd4F6Hz9s7f\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 01:44:45 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drnMg-0004Bz-Po; Tue, 12 Sep 2017 15:44:42 +0000","from mail-cys01nam02on0627.outbound.protection.outlook.com\n\t([2a01:111:f400:fe45::627]\n\thelo=NAM02-CY1-obe.outbound.protection.outlook.com)\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1drnMb-000481-QL for linux-arm-kernel@lists.infradead.org;\n\tTue, 12 Sep 2017 15:44:40 +0000","from ddl.caveonetworks.com (50.233.148.156) by\n\tDM5PR07MB3500.namprd07.prod.outlook.com (10.164.153.31) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.35.12; Tue, 12 Sep 2017 15:44:13 +0000"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type:\n\tContent-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive:\n\tList-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From:\n\tReferences:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner;\n\tbh=O8i+Dkj66kwTq0CWYCKMN2xDl5mrpSE627ddVNaWtgs=;\n\tb=bYX9Obi4EphGXfqZUM3hL8HRG\n\thBeM4H+aZqWJ00F8iWboIMZAhK3FuRPJctij99pCcIUAoH99QsSacf5QRtlKWveO5IOfd3IEy5rnC\n\tUBYrEn9SvL4YiY8VjLVV1Za4SxrGp0aV5Iaj81qTC/uMBPJO2jtYPNF/XamHKK38kPEeQPwHx6l52\n\tnPp/PTtK+SH+G/tp0DcF6Vwyvp6l/laGLYSYiOnmcWa6b6ixuL5DJDWnSTJlrQHezWsdRRLXgCb85\n\tE0MYzDNfMpKYalWoSpQwaLoRQ6qKHeeX3boN//ZeF7eBXPALQCZbcf1W0JxZdSu/znSqwdlTL+P6q\n\tpSINgvEfA==;","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=xbXuGrY4mGOQxBp1flZ1U+Lm336RdN2zGUpozAgi1Zk=;\n\tb=ggHxa2CrnjPDXAgFy8AtoPgeou6U44ZYRwTbwB77lmbrYIq6fD8po6mxT9kVtmJkfstyxRutSZXPGhw+I/ylN2HJUEIpiHxNc5Oz4r+fP47hIpPnw3m+7jmB7JFCtlV0ScxBkrsFeqlpzrTc4pkBqLWDdzh1xSVCY8AHNfa6nnI="],"Subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","To":"Linus Walleij <linus.walleij@linaro.org>,\n\tMasahiro Yamada <yamada.masahiro@socionext.com>,\n\tDavid Daney <david.daney@cavium.com>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>\n\t<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>\n\t<CACRpkdZLG=ezxj62R=WkULh2vfpQwqh8P-6FhtONzU7yRbyeuA@mail.gmail.com>","From":"David Daney <ddaney@caviumnetworks.com>","Message-ID":"<7e46f2a3-114f-0c34-d3c5-49e6422b9200@caviumnetworks.com>","Date":"Tue, 12 Sep 2017 08:44:09 -0700","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<CACRpkdZLG=ezxj62R=WkULh2vfpQwqh8P-6FhtONzU7yRbyeuA@mail.gmail.com>","Content-Language":"en-US","X-Originating-IP":"[50.233.148.156]","X-ClientProxiedBy":"CO2PR07CA0063.namprd07.prod.outlook.com (10.174.192.31) To\n\tDM5PR07MB3500.namprd07.prod.outlook.com (10.164.153.31)","X-MS-PublicTrafficType":"Email","X-MS-Office365-Filtering-Correlation-Id":"fb0c4a69-3f34-4575-d016-08d4f9f51ef6","X-Microsoft-Antispam":"UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(300000502095)(300135100095)(22001)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:DM5PR07MB3500; ","X-Microsoft-Exchange-Diagnostics":["1; DM5PR07MB3500;\n\t3:1oDUkso9rdNJ+J5fKeZXKUoD/cp9EeQAtCrkAyWDMDbiD01icBql3CtdJ0/oTjPSmm64o0uDJhpyw9x3N+TuWxhELIgBB0ZWKlZAj6BJJAWC8/yziPCEVyxUxdkrWnp44toxc5GnlIwIT6iEK3TpL+n5rVNDdUIbHftQsXlesQQxBxqQEXpdy75baxmLp4USTk56zwqZmXmW+scvGUpszK5CJUKZDHpA+6fjkwHHkOHflGzYmOkAdoTHbqvs1zBg;\n\t25:JRE9+rEm6OpW5tgARH/CsBoL7t/nldo3TiREgopOxTWqEy6z9M6BrtbZJ2JEgdQM00shQz968lfIulRXqOQzbMLA3hkgwZBk9qA1nyfEIqzPacwyAuq7CyVCJOeMMBGlficzD+gjFTl6ZdCMzPFs0Ye8OBzyedSJCF5hFVDgG2GV2tKUtJFWzjn3SLVP+C7gCN/GdHIFWd3uBHZuRAdCkFw5BIusVPzG/BKCM8p3h2on+JZeh30uBFMQ1DNbc3vggk2lo/W0vr6tMVdYey4lRH5lnSL1HDRo4fZWILAsOaqbO80ol6Z3PIrc5a+6sXOs4eywaMT4GRJm8YCEvEy0qw==;\n\t31:BOHuDRrbO1UqZy0M5acF/v+6Ok9nEJHXClea7zepuIORUXungL9AsAlx5OGtubZf1zei83gIypxB9v990AW7FWQmxO3+4DQCUTkNTMpuWaqgx54+HVtb04dwTucCjd1f0dHRrkPatqmbb2zvFrfMn5VLX8TudWYl5ZjH1SK5QkI7646jsm2mGiiQNXn30hhfQMg6C2aFHAxeipf6ks3LQ312XifWnzHI5txIc7yHH/g=","1; DM5PR07MB3500;\n\t20:2jUoBzOCHAxyDc232KPcEtSnSbw0W6ONPMgdt5rPczJApz4E1s+/RvM4knI1LDPx1T1GjcG2P7m2XbDq7uvdFM9HxAX+az/1+SpA1PGZpDX2bRMr3PuPaQaj7czCy64ePyEWSXNniI5AuLs7L7c3+UFDxq1w78SYjNEGJXMFcjpPabFoIwFfWqLFPtcWwI6YiuKSfXzXnodYBqRQnl9/7Qyl4VG4r9+vNxEwztLwr8TEGcJ7Cv1hW9guf7wLZyTZdIDGo6mI2pZfdtwsTn5p4P/8vBhaWBAjgU8ERfTP6lWB6Vnku545gxEpSD9c1c5AGjmj7sdwkFjs0cUOQtAz8FKIxLXe8n05Q0BtLCVe5oc6ZS0ifhSohJ1aQ0WraQFAtyDB8lP1qJB8+q8oYllhrIMPDN8fq1Fozk+koclJExi24cZh24cJCRCT+1rVj5kWLpYj9AD8QhjAEqkt1+E9nBBeDtXei7iweKGwWeowUmzqEvoLqaQLDQ04TcoSMXNMtYzWjw16X4f0JctD5Ve0nhTcv/AMdXQpbFRPDMj8tuRgF1zC9JGrYAgOP2NwFXkWhrMbCHFyInhpbHS0TdmZg8RT8kOizzBX2IV1wwhSwV4=;\n\t4:b4EPdxPxcWTKM0rjNztawyh8IULhjXlB6iHFNMGlPSTd0O94LOd5Nc9uY9LLEtXYxHF0CAzNwSIAruQ+huROuewNke4bNe0Vf9JZKnfWbVyuoM5JIVc9wQpKZF1aZfUpgXj3qwJwOwwMSluZwZnx/zF7TtcEvVA9Ctys9iO0i/r9gV98NwlClVzfEGJ4lXVGoZ07K1B4A+AeVj70poaG/ezsANmPaJymP8wf+ctUzX4CE+gLYdXMYsDXj80R0K5b","=?utf-8?q?1=3BDM5PR07MB3500=3B23=3A/nox?=\n\t=?utf-8?q?wScnXeb8nx5QZ+PUkhxZNBheYLfVqBYB4WUlA34ccDo26JOLjAnaxQjz?=\n\t=?utf-8?q?FxM4kpLnE3cHDi0bVYS7I2MmG4+kOf2Av3rg/vyD72l5bWwfJ5vA82Ym?=\n\t=?utf-8?q?Qym4EHyYaNlJym646WWSIhf6le+A4MTDdLC+04gLQbbQ9996eeHkI7zL?=\n\t=?utf-8?q?xuG6dRJNPdcYeWvDZ1iPaWeCnJaNbsz6Igl/4NlRnxuO8nYdBnXqd0M/?=\n\t=?utf-8?q?VxH3HU3d2UL6v6H8zEWcAFPBKDS34/18MzQ9YI6WBG7E4iQoOFqoCGJZ?=\n\t=?utf-8?q?obcPsbLfP0bQYmG1u3uDxsbUR1OHSDRde+RwmqyzJx3k/ehjX2ECrQ5g?=\n\t=?utf-8?q?2JAvsnkGs5dn1eQ7FS3poJUgRxnUbcHZtszTSpDLT3etvdVOcgM/iDnz?=\n\t=?utf-8?q?ARrH0cCtQ1l8hSS4n6rOuXHY9CbPNIUGe+2/zFXXMKVANotPTLLrFQFA?=\n\t=?utf-8?q?Ftb6+YZyqoGomDXKVcQxaU3TtfqJpZcYX2DDjLuFJMaX35mWqcz2It93?=\n\t=?utf-8?q?kpE8lOuxID9SZe5nQxSab3bvwph0JY9UgqIsu12So4g95+Yy7IxlaIC/?=\n\t=?utf-8?q?X6X5DrDEwkcgZ4nzS/zIrUBhaV/hClJqcPM246HG+YEK9k6NaQz0d1LY?=\n\t=?utf-8?q?p9zVZrO/5MgLyn+a3f8xwzBhBee/ZsS8WqzEKs4sUSCmM7WGVz7CBR0E?=\n\t=?utf-8?q?nnTV90EDkrBiSgIyiPSMGEGRoT1uhKsCVbtbNtyQzDAdHc5ZRIxTGMg5?=\n\t=?utf-8?q?28hxPUsBLUygXPwfBKK3rxiZzWbuWnFZcrKi9qSgy913M5XI7Qoe0YSK?=\n\t=?utf-8?q?bnDGw32eNtenilDWz5sSdoSsnQk1VuSI84azon7hYcILa+3UvcXltNOy?=\n\t=?utf-8?q?Y4WXk+Goh4l8XTEMdWVFEV7bq+tuN3yTobjrC91zJ1uEQhJOsxeEnSVI?=\n\t=?utf-8?q?jcVmnwAXLdNtBvu0PNAXlEGmVxr6vD8SmPRSyyUVb6p1Hq1CVVndb79T?=\n\t=?utf-8?q?o1rBUbIx23vPZ1A/JebM5hNXF+eBcaGiY3UUmY/2pFpxrXnCFsFP9QXG?=\n\t=?utf-8?q?ZeqaPmJmaQYmuR7fR+Hfd14BAZfMvQPkzv16hjrg1nkENW8uVUlHyeaX?=\n\t=?utf-8?q?t0RF7b0CtZs9M0toijcwgn+a0fGvdlLQUju4LDwO/pJNFGp4iu8mPS6M?=\n\t=?utf-8?q?uteQX1SbTgf030d5b6tk1N7RSZcMO6o1K7bf1wKh2ivSr9nuS46sZeLd?=\n\t=?utf-8?q?1zK/McdBt9bCMVP4udnWf0L+uDsuy9/ywzYoU6aF4kvDBJeD+IMYRMsb?=\n\t=?utf-8?q?vf0Ih9hYHxZ9vcNFU4nDQXKy9HJw1n7q2byG4eUNqBMSRDWfTDM00zm5?=\n\t=?utf-8?q?e4XOYoDBfo8F+Dbz1FWj/FGa39212TacinbLM1G0OElsHlpcfwrqN3Pn?=\n\t=?utf-8?q?J/Q3jhATUCp25cgLkiiD/VZD29w8QKe+5bI1TNfJE1SsJgd626czzQh3?=\n\t=?utf-8?q?YyLA?=","1; DM5PR07MB3500;\n\t6:2ZQjYn8MRStLXXLhvjagnDasjokkTQc337GdQwEUypowZ5G1jy7w1w/H/BRZm4GAciySDtit9ewr2PoX+8kkG2cVke7q0JGJKBTOVFG7GUlIIoHYDuSk59xy+F+Or/Q5xSMHPmT2+S/Rn0GvjnbD9wL3Emh5rwOabopijRNCPpufEW1ULmTTncjlxOXQHWOlMjY2e9MhNszmF7KfMAWwNdaAoqUX0TIsFLTfrpHJGmJfYV2O0ptIW4UEUXH14zph4UCMW7cqgZForTZLNq1m9gRvf69b398DpQlMU/ZQfRmfyrRaMvsq8k6ZAQ2Ce8mnPBq9JT6hnR1w/QtXWpslpA==;\n\t5:nJTLyb9P70icVDdDl3val0qmDjwuuXYOnxBkwa+YJS5kQ4Gt8YsCp7FNiP6zsBsA2KobYZa9C3kua60CGfzm7vgpdUklUkgJz1hETQpSSb9EClZVaC0auPKhoCO+M4EQ/ZwRHH9XOB1b2DihH76fMQ==;\n\t24:4++7PDHksRdVW9b1VbnnRpRE+qaDdA0pC9Tdjg6kK3ySL3+Y2Co78BzzFslH78y7bYbHVuqsbExiRG3rWICR/1+ZPoC43qBoWO1UrrXJ77g=;\n\t7:6KJ0G1PTrM1YLVHEQAQkS+wqZ3q1yCWeH6kKWwZLINVor4MpOY9iZWWxqW6C60mV/uDL3Y8sfvdrPtmbBGFt+olfcJA8H6gqqq1I/K33CIZIFQl8MEVN0AhU/S2RkQbXuvx9A26FU1iLNNb6UY1+qBqhGhBDS2rsdwqN08/UGcGiI0E1AwdLUuDNrOTm70pB3P4EN2Us6DrNuKsb6MQspVUoqsaC1QPv4RJohPDStR8="],"X-MS-TrafficTypeDiagnostic":"DM5PR07MB3500:","X-Exchange-Antispam-Report-Test":"UriScan:;","X-Microsoft-Antispam-PRVS":"<DM5PR07MB3500BB751B77C46ACBF6073097690@DM5PR07MB3500.namprd07.prod.outlook.com>","X-Exchange-Antispam-Report-CFA-Test":"BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(6041248)(20161123562025)(20161123555025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DM5PR07MB3500; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DM5PR07MB3500; ","X-Forefront-PRVS":"042857DBB5","X-Forefront-Antispam-Report":"SFV:NSPM;\n\tSFS:(10009020)(6009001)(199003)(377454003)(24454002)(189002)(31686004)(81156014)(8936002)(6512007)(2906002)(7416002)(6246003)(42882006)(2950100002)(65826007)(6306002)(54906002)(83506001)(72206003)(230700001)(189998001)(5660300001)(478600001)(97736004)(53546010)(4326008)(316002)(25786009)(53936002)(69596002)(42186005)(81166006)(6666003)(8676002)(6486002)(305945005)(65806001)(106356001)(33646002)(105586002)(4001350100001)(7736002)(47776003)(66066001)(6506006)(65956001)(68736007)(23676002)(3846002)(101416001)(6116002)(31696002)(76176999)(54356999)(229853002)(50466002)(53416004)(50986999)(36756003)(64126003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3500; H:ddl.caveonetworks.com;\n\tFPR:; \n\tSPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; ","Received-SPF":"None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)","SpamDiagnosticOutput":"1:99","SpamDiagnosticMetadata":"NSPM","X-OriginatorOrg":"caviumnetworks.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"12 Sep 2017 15:44:13.1638\n\t(UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"711e4ccf-2e9b-4bcf-a551-4094005b6194","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DM5PR07MB3500","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170912_084438_117877_20C8B36D ","X-CRM114-Status":"GOOD (  17.47  )","X-Spam-Score":"-1.9 (-)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-1.9 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level\n\tmail domains are different\n\t-0.0 SPF_HELO_PASS          SPF: HELO matches SPF record\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>,\n\tJason Cooper <jason@lakedaemon.net>,\n\tJassi Brar <jaswinder.singh@linaro.org>, \n\tMarc Zyngier <marc.zyngier@arm.com>,\n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"linux-gpio@vger.kernel.org\" <linux-gpio@vger.kernel.org>,\n\tRob Herring <robh+dt@kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>, \n\tThomas Gleixner <tglx@linutronix.de>,\n\t\"linux-arm-kernel@lists.infradead.org\"\n\t<linux-arm-kernel@lists.infradead.org>","Content-Transfer-Encoding":"7bit","Content-Type":"text/plain; charset=\"us-ascii\"; Format=\"flowed\"","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}},{"id":1767676,"web_url":"http://patchwork.ozlabs.org/comment/1767676/","msgid":"<CAK7LNAQpO+NYu2uOwEx+c1srabO8=uOjQ-9+sh6-Q1eDP0TOSA@mail.gmail.com>","list_archive_url":null,"date":"2017-09-13T08:31:26","subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","submitter":{"id":65882,"url":"http://patchwork.ozlabs.org/api/people/65882/","name":"Masahiro Yamada","email":"yamada.masahiro@socionext.com"},"content":"Hi.\n\n2017-09-13 0:44 GMT+09:00 David Daney <ddaney@caviumnetworks.com>:\n> On 09/12/2017 07:03 AM, Linus Walleij wrote:\n>>\n>> On Thu, Sep 7, 2017 at 1:42 PM, Masahiro Yamada\n>> <yamada.masahiro@socionext.com> wrote:\n>>\n>>> This GPIO controller device is used on UniPhier SoCs.\n>>>\n>>> It also serves as an interrupt controller, but interrupt signals are\n>>> just delivered to the parent irqchip without any latching or OR'ing.\n>>> This is implemented by using hierarchy IRQ domain.\n>>>\n>>> Implementation note:\n>>> Unfortunately, the IRQ mapping from this controller to the parent is\n>>> random. (48, 49, ..., 63, 154, 155, ...)\n>>> If \"interrupts\" property is used, IRQ resources may be statically\n>>> allocated when platform devices are populated from DT.  This can be\n>>> a problem for the hierarchy IRQ domain because IRQ allocation must\n>>> happen from the outer-most domain up to the root domain in order to\n>>> build up the stacked IRQ.  (https://lkml.org/lkml/2017/7/6/758)\n>>> Solutions to work around it could be to hard-code parent hwirqs or\n>>> to invent a driver-specific DT property.\n>>>\n>>> Here, the new API irq_domain_push_irq() was merged by v4.14-rc1.\n>>> It allows to add irq_data to the existing hierarchy.  It will help\n>>> to make this driver work whether the parent has already initialized\n>>> the hierarchy or not.\n>>>\n>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>\n>>> ---\n>>>\n>>> Changes in v4:\n>>>    - Add COMPILE_TEST and select IRQ_DOMAIN_HIERARCHY\n>>>    - Reimplement irqchip part by using irq_domain_push_irq()\n>>\n>>\n>> Awesome improvement. There was a build error and I also\n>> would like David Daney to have a look at this so we know we\n>> use things the right way,\n>\n>\n> It looks correct to me.\n>\n> I haven't verified it, but I think the OF device-tree probing code for the\n> platform devices will automatically xlat-and-map all those irqs, so that the\n> irq_domain_push_irq() is required to get the domain hierarchy properly\n> configured.  It would be similar to the PCI case where we configure all the\n> MSI-X and then do the irq_domain_push_irq() in the Cavium ThunderX driver.\n>\n> If interrupt handling has been verified to work with this driver, I would\n> say that we are probably using things \"the right way\".\n>\n> David.\n>\n\nV4 depends on 5 patches that got negative feedback in irqdomain subsystem.\nOne more problem for this approach is to virtual IRQs are statically\nallocated during the driver probe.\nThis looks a step backward to me.\nRecently, gpio_irqchip migrated to on-the-fly allocation in case some\ncontrollers may have lots of\nGPIO lines.\n\n\nFinally, I came up with another (I think, better) solution.\nI think v5 is less controversial,\nand works very well in on-the-fly manner.\n\nI am sending it shortly...","headers":{"Return-Path":"<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming-imx@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming-imx@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org header.b=\"Kamjty0l\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=nifty.com header.i=@nifty.com\n\theader.b=\"PoejE+eb\"; dkim-atps=neutral"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xsZfp6vSqz9s81\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 18:32:50 +1000 (AEST)","from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1ds36G-0001Uz-79; Wed, 13 Sep 2017 08:32:48 +0000","from conssluserg-03.nifty.com ([210.131.2.82])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1ds36B-00012q-31 for linux-arm-kernel@lists.infradead.org;\n\tWed, 13 Sep 2017 08:32:46 +0000","from mail-yw0-f175.google.com (mail-yw0-f175.google.com\n\t[209.85.161.175]) (authenticated)\n\tby conssluserg-03.nifty.com with ESMTP id v8D8W7v7026010\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tWed, 13 Sep 2017 17:32:07 +0900","by mail-yw0-f175.google.com with SMTP id r85so33328348ywg.1\n\tfor <linux-arm-kernel@lists.infradead.org>;\n\tWed, 13 Sep 2017 01:32:07 -0700 (PDT)","by 10.37.164.225 with HTTP; Wed, 13 Sep 2017 01:31:26 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:To:Subject:Message-ID:Date:From:\n\tReferences:In-Reply-To:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=VKzswTWF5YoL6S487ilfo5mA5JDit7/KBaKoCW7ryaE=;\n\tb=Kamjty0ldU+JR+\n\tcSYA4NXJiZRX3IgSNHCGOs7XjJXLqy6xfcgSROptTvoJ+PWvNKWJqaCY8W6TwDYlgqasa2DVNKVA2\n\tOLprVboBEXBN7lOaBX1B0LdLpGEki11iga8fSxVYRzYbSKCvT6CVacfPvUT8Rs2JFJxHl5roGlf5P\n\tlcmAK81grj3f2Y02j2Vc+QdPpGyzWo/WuLxk0Q8QP8vUPsNnBT+jPVwpss8DajwvzIKyE5scNYQ4t\n\tL7JXtOMfVWlHwCiuv+iBAbBPD2YGUvl9O3pj3EM7nsA7kNV+2QNbOfxDZ5bgwjAxkiI3uWrjmTwPO\n\td5D8XqKWeP6icpRFYTIQ==;","v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com;\n\ts=dec2015msa; t=1505291528;\n\tbh=6jso4SJE47ANfjin7Zg4Us+F2DlIXHfRfZ0EMmEjCjY=;\n\th=In-Reply-To:References:From:Date:Subject:To:Cc:From;\n\tb=PoejE+eb3pBoAWJx2O7jPBD6ip/wflVr1ljKkPPP+TW/ZGsx8WZhN074Qu4W687pe\n\tgkOYomqCylHCCQbXLBBpbUumTUQtm5yGgPliMaOB09TPd3AaZzaRNyJRKPBoDTe3Xm\n\tD88YApIvCIzUrmVemsRwccMzFi6kR474Rmxiu6ODX3VG68j83ma5BGMEnFqmK32Ogl\n\t08qpf1GcZThIaMbvRQRBvDradAjs1n154+fZ/n8Cu95/LbCiYy9oW9zU6MvPDCh/6j\n\t258/+HCU++Pp4VCme/dlbN6Trl9cQwgaHebwrFgvYjO0XcHyL+Z6q0Gr/ZecsVmPqu\n\t0U1ZBqF52KZLw=="],"DKIM-Filter":"OpenDKIM Filter v2.10.3 conssluserg-03.nifty.com v8D8W7v7026010","X-Nifty-SrcIP":"[209.85.161.175]","X-Gm-Message-State":"AHPjjUhUZiA0GhqZ7jJtnPuAtt0bmwyqA2qceAqJtSEMvPqCUVDwkeJs\n\tif0T5Y2u2yGN4zIc3ZvI8YkMnVaXLnkCuWB9llo=","X-Google-Smtp-Source":"AOwi7QA06Z11d52UtW6GwTyVF4fipIwETMuTMFzMK+5W6d1A254cTsWWSvGmWSFHzbJWXgycLVN/Qu2/wXlr+YpMyR8=","X-Received":"by 10.37.234.68 with SMTP id o4mr14277233ybe.119.1505291526446; \n\tWed, 13 Sep 2017 01:32:06 -0700 (PDT)","MIME-Version":"1.0","In-Reply-To":"<7e46f2a3-114f-0c34-d3c5-49e6422b9200@caviumnetworks.com>","References":"<1504784522-26841-1-git-send-email-yamada.masahiro@socionext.com>\n\t<1504784522-26841-7-git-send-email-yamada.masahiro@socionext.com>\n\t<CACRpkdZLG=ezxj62R=WkULh2vfpQwqh8P-6FhtONzU7yRbyeuA@mail.gmail.com>\n\t<7e46f2a3-114f-0c34-d3c5-49e6422b9200@caviumnetworks.com>","From":"Masahiro Yamada <yamada.masahiro@socionext.com>","Date":"Wed, 13 Sep 2017 17:31:26 +0900","X-Gmail-Original-Message-ID":"<CAK7LNAQpO+NYu2uOwEx+c1srabO8=uOjQ-9+sh6-Q1eDP0TOSA@mail.gmail.com>","Message-ID":"<CAK7LNAQpO+NYu2uOwEx+c1srabO8=uOjQ-9+sh6-Q1eDP0TOSA@mail.gmail.com>","Subject":"Re: [PATCH v4 6/6] gpio: uniphier: add UniPhier GPIO controller\n\tdriver","To":"David Daney <ddaney@caviumnetworks.com>","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20170913_013243_538120_6D4FD409 ","X-CRM114-Status":"GOOD (  19.33  )","X-Spam-Score":"-0.7 (/)","X-Spam-Report":"SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-0.7 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.5 RCVD_IN_SORBS_SPAM     RBL: SORBS: sender is a spam source\n\t[209.85.161.175 listed in dnsbl.sorbs.net]\n\t0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature\n\t0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n\tnot necessarily valid","X-BeenThere":"linux-arm-kernel@lists.infradead.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/linux-arm-kernel/>","List-Post":"<mailto:linux-arm-kernel@lists.infradead.org>","List-Help":"<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>","Cc":"Mark Rutland <mark.rutland@arm.com>,\n\t\"devicetree@vger.kernel.org\" <devicetree@vger.kernel.org>,\n\tJason Cooper <jason@lakedaemon.net>,\n\tDavid Daney <david.daney@cavium.com>, \n\tMarc Zyngier <marc.zyngier@arm.com>,\n\tLinus Walleij <linus.walleij@linaro.org>, \n\t\"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n\t\"linux-gpio@vger.kernel.org\" <linux-gpio@vger.kernel.org>,\n\tRob Herring <robh+dt@kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>, \n\tJassi Brar <jaswinder.singh@linaro.org>,\n\tThomas Gleixner <tglx@linutronix.de>, \n\t\"linux-arm-kernel@lists.infradead.org\"\n\t<linux-arm-kernel@lists.infradead.org>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>","Errors-To":"linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org","List-Id":"linux-imx-kernel.lists.patchwork.ozlabs.org"}}]