Cover Letter Detail
Show a cover letter.
GET /api/covers/813238/?format=api
{ "id": 813238, "url": "http://patchwork.ozlabs.org/api/covers/813238/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-imx/cover/1505292990-22957-1-git-send-email-yamada.masahiro@socionext.com/", "project": { "id": 19, "url": "http://patchwork.ozlabs.org/api/projects/19/?format=api", "name": "Linux IMX development", "link_name": "linux-imx", "list_id": "linux-imx-kernel.lists.patchwork.ozlabs.org", "list_email": "linux-imx-kernel@lists.patchwork.ozlabs.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1505292990-22957-1-git-send-email-yamada.masahiro@socionext.com>", "list_archive_url": null, "date": "2017-09-13T08:56:27", "name": "[v5,0/3] gpio: uniphier: UniPhier GPIO driver", "submitter": { "id": 65882, "url": "http://patchwork.ozlabs.org/api/people/65882/?format=api", "name": "Masahiro Yamada", "email": "yamada.masahiro@socionext.com" }, "mbox": "http://patchwork.ozlabs.org/project/linux-imx/cover/1505292990-22957-1-git-send-email-yamada.masahiro@socionext.com/mbox/", "series": [ { "id": 2844, "url": "http://patchwork.ozlabs.org/api/series/2844/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-imx/list/?series=2844", "date": "2017-09-13T08:56:27", "name": "gpio: uniphier: UniPhier GPIO driver", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/2844/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/813238/comments/", "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=\"MmKLqahG\"; \n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=nifty.com header.i=@nifty.com\n\theader.b=\"T/fOtuLN\"; 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 3xsbSw5Ywbz9sMN\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 19:09:20 +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 1ds3fV-0002ZG-89; Wed, 13 Sep 2017 09:09:13 +0000", "from conuserg-09.nifty.com ([210.131.2.76])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1ds3Ua-0005RI-11 for linux-arm-kernel@lists.infradead.org;\n\tWed, 13 Sep 2017 08:57:58 +0000", "from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp\n\t[153.142.97.92]) (authenticated)\n\tby conuserg-09.nifty.com with ESMTP id v8D8ugqi027391;\n\tWed, 13 Sep 2017 17:56:43 +0900" ], "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:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:\n\tSubject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:\n\tReferences:List-Owner; bh=TyvPVTVtqL6lwfLZsApWzgv9bKn5y96vqAo49dMT3Pc=;\n\tb=MmK\n\tLqahGaTJ60/kEIBPIku1/xytBqaEa2FUGL36IFTzvlHREu9qojW7nwoeny7QlCwQrcgrE1NDFkB/a\n\tAZu1+EkMN6qzVvjI6LfVgIeur5ewzdcvKfIFC8W/dtRrNt1tPJPmcx9Tfwu3VH+anHbaCiD9EjrSl\n\tsypbLyUehIuHGz979Fdd8BJcmt4Qqu0+9eqCvr9nVB5ch02AlOJlE0mBvQjsbmOVXE2Od6X5GYMbo\n\tAPMaQAbyiuKSIUIRjqCnh6UJ8CgmWF40HwCZaM9muL8jz3TwAN2IbZ2w1hns5PApT/iB5vgcOrNZ1\n\twqubJfU6xI3JS2OJ3i8waK5p7LWwjHA==;", "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com;\n\ts=dec2015msa; t=1505293003;\n\tbh=0gleN6X0k7nZi62fUybxfiSe2ZQxALSUiANuCJGR54E=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=T/fOtuLNPmLiso2bF2R6SEThDNDXusV1ykN9EdqZdG8W/nw1X2fIXkK7H4o/daC/3\n\tvnhbzAtaMzlDv6PJAiCEXoY8jOzuSUr4O5aQlMwpmInc1CdAmuT5J4VAMWNnTMk4oR\n\tVmW1/LPSsXs7FaQ4ZjfLCudHteKhldpkhWKv+ABKnjR9WAUm9IVUQu/EX1xdTjUN4d\n\tl0TITLs8ViKK8qhEIf6/yQGBbJP7Hpf2B+zpF6Copb6KI0q7X67z9Qf4vZC43hK5Ro\n\tKItdGgnG3XxrqXbYfMmbD9s0hbZzNt0U8rsiNKLg/vNA8MeMwFlb98N49+9MvtCxql\n\t09skOvIdkhtwg==" ], "DKIM-Filter": "OpenDKIM Filter v2.10.3 conuserg-09.nifty.com v8D8ugqi027391", "X-Nifty-SrcIP": "[153.142.97.92]", "From": "Masahiro Yamada <yamada.masahiro@socionext.com>", "To": "Marc Zyngier <marc.zyngier@arm.com>, linux-gpio@vger.kernel.org", "Subject": "[PATCH v5 0/3] gpio: uniphier: UniPhier GPIO driver", "Date": "Wed, 13 Sep 2017 17:56:27 +0900", "Message-Id": "<1505292990-22957-1-git-send-email-yamada.masahiro@socionext.com>", "X-Mailer": "git-send-email 2.7.4", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20170913_015756_440889_C9F94328 ", "X-CRM114-Status": "GOOD ( 14.73 )", "X-Spam-Score": "-1.2 (-)", "X-Spam-Report": "SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details: (-1.2 points)\n\tpts rule name description\n\t---- ----------------------\n\t--------------------------------------------------\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>, Rob Herring <robh@kernel.org>,\n\tJason Cooper <jason@lakedaemon.net>,\n\tDavid Daney <david.daney@cavium.com>, \n\tMasahiro Yamada <yamada.masahiro@socionext.com>,\n\tLinus Walleij <linus.walleij@linaro.org>, linux-kernel@vger.kernel.org,\n\tJassi Brar <jaswinder.singh@linaro.org>, devicetree@vger.kernel.org, \n\tRob Herring <robh+dt@kernel.org>,\n\tMasami Hiramatsu <mhiramat@kernel.org>, \n\tThomas Gleixner <tglx@linutronix.de>,\n\tlinux-arm-kernel@lists.infradead.org", "MIME-Version": "1.0", "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" }, "content": "This series adds UniPhier GPIO driver.\n\nThe interrupt controller part is implemented by using hierarchy irqdomain.\n\nMy problem is mapping of IRQ from this controller to the parent\nirqchip 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\nAt first, I tried to hard-code parent irq numbers because it easily avoids\nthe statically allocated IRQ resource problem.\n(https://lkml.org/lkml/2017/7/6/758)\nBut, hard-coding interrupts made Linus Walleij unhappy.\n\nIn v4, I tried to use the new API irq_domain_push_irq().\nI needed to change it to make it work for DT, but seems controversial\nin the irqdomain subsystem review.\n\nIn v5, I came up with another solution. The idea is simple.\n.alloc() hook can call of_irq_parse_one() to retrieve the irq information\nfrom DT property.\nIf virq is already allocated, we can simply dispose it and re-alloc it\nin hierarchy domain manner.\n\n\nChanges in v5:\n - Split into a separate patch for DT binding\n - Add a new patch to export of_phandle_args_to_fwspec\n - Split DT binding into a separate file\n - v4 depends on some patches that change irq_domain_push_irq(), but\n they got negative feedback in the irqdomain subsystem review.\n Yet another approach here. Parse \"interrupts\" property in\n .alloc() hook. If the parent IRQ is already mapped, dispose it\n and re-alloc in irqdomain manner.\n\nChanges in v4:\n - Add COMPILE_TEST and select IRQ_DOMAIN_HIERARCHY\n - Reimplement irqchip part by using irq_domain_push_irq()\n\nChanges in v3:\n - Add .irq_set_affinity() hook\n - Use irq_domain_create_hierarchy() instead of legacy\n irq_domain_add_hierarchy()\n\nChanges 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\nMasahiro Yamada (3):\n irqdomain: export of_phandle_args_to_fwspec\n dt-bindings: gpio: uniphier: add UniPhier GPIO binding\n gpio: uniphier: add UniPhier GPIO controller driver\n\n .../devicetree/bindings/gpio/gpio-uniphier.txt | 43 ++\n MAINTAINERS | 1 +\n drivers/gpio/Kconfig | 8 +\n drivers/gpio/Makefile | 1 +\n drivers/gpio/gpio-uniphier.c | 504 +++++++++++++++++++++\n include/dt-bindings/gpio/uniphier-gpio.h | 18 +\n include/linux/irqdomain.h | 2 +\n kernel/irq/irqdomain.c | 5 +-\n 8 files changed, 580 insertions(+), 2 deletions(-)\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" }