[{"id":3675144,"web_url":"http://patchwork.ozlabs.org/comment/3675144/","msgid":"<CAD++jL=bxeWbf=Pm4W6WLgwzkPTHpUeOH9vwpniAdaO-AwNrzA@mail.gmail.com>","list_archive_url":null,"date":"2026-04-09T08:04:39","subject":"Re: [RFC PATCH 3/5] gpio: generic: add io_port to struct\n gpio_generic_chip","submitter":{"id":92050,"url":"http://patchwork.ozlabs.org/api/people/92050/","name":"Linus Walleij","email":"linusw@kernel.org"},"content":"On Tue, Apr 7, 2026 at 8:49 PM Jose Javier Rodriguez Barbarin\n<dev-josejavier.rodriguez@duagon.com> wrote:\n\n> Add an io_port field to struct gpio_generic_chip. Initialize it\n> depending on whether the GPIO_GENERIC_PORT_MAPPED flag is set.\n>\n> Signed-off-by: Jose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@duagon.com>\n\nThis looks reasonable!\n\nYours,\nLinus Walleij","headers":{"Return-Path":"\n <linux-gpio+bounces-34920-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=XjEI11ip;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34920-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"XjEI11ip\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frssz3clQz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 18:04:55 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 01C453017BE7\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  9 Apr 2026 08:04:53 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 0F4A8389E18;\n\tThu,  9 Apr 2026 08:04:52 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id C3241382399\n\tfor <linux-gpio@vger.kernel.org>; Thu,  9 Apr 2026 08:04:51 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 7A950C2BC9E\n\tfor <linux-gpio@vger.kernel.org>; Thu,  9 Apr 2026 08:04:51 +0000 (UTC)","by mail-yw1-f169.google.com with SMTP id\n 00721157ae682-7a2b6adbfa6so6095877b3.0\n        for <linux-gpio@vger.kernel.org>;\n Thu, 09 Apr 2026 01:04:51 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775721891; cv=none;\n b=p+z/ZfTNQYXQuAr5KnLOsIb6+WqHZfCpXFqqqa0qkeT2WJDZgWAvSAu/Ap/Un40ebXQ8Qc6V59yjmtWi1sgArJE11j1i98PjbvVTR2akTvRv5Wl+vZeen03DwDx9e/ukfuk9n0vzqPEVStRYt1W967HLVhPc5oV2P4OaT9x8l2Q=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775721891; c=relaxed/simple;\n\tbh=C6vY1/liCWOmwvhpqVq+RRM/Ex9Dg3s3PkITm9pUSq4=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=Wafg3xLgUepH+bkyX36gLwonomg5xiGiL+CQJkjkGcLcc9uckjfPtoI+OgdaY9+izbKjksQj+YoABBAkzbWKT+tJhI/MxIAV0/iNyuzvTKcBYZ6as+Hw/TZTUmN9/OArgdV89f0NK4NOrBA4FXo4nM39Q7zuH/WyPpoAzXLLwxc=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=XjEI11ip; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775721891;\n\tbh=C6vY1/liCWOmwvhpqVq+RRM/Ex9Dg3s3PkITm9pUSq4=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=XjEI11ipi4OhM81fREBgwto9yE06rP8v7hundcR/3y6mGNEJneDWUe448KCz/eOjm\n\t l0/LRJbBsTLKvZpsJ0YV6CVMqaA/+B8A06fgSSzKDPu+DelOwVNLgR4vJLsYTvdB2h\n\t XJGn0Qj4Zq8vuJ0JDj9xLwc+KyJ+uFnSwSGqtmvQoG/1oAzCu6frh8E7qdKwmr1lfO\n\t WCfBZE0pmGoL5eiCDEXAGApxRALQBGf3IhjLBpM45U3kQbU6828NX7g3JnWAY/9sdV\n\t 0RdDTYqexXgDEKn/i1nYZlw4ANFSvhjW+ylfTyEG0EorP31HHp7sScHpaF4g6OsL7C\n\t ll0GxYbs6jMOA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCXhNpLVonBBeb2pQSaBOYt+gKuYEjZMw1sBRGLUW0W/paxFi8dIM6NBDGBTNHwWDsZWxmwl/D4H5M1U@vger.kernel.org","X-Gm-Message-State":"AOJu0Yyv7zrltLuRSMwyxkcECrURRuEaAB4mU8VVGTomP0mBSoAGyOj/\n\tPlR+o3eGh5/0gaUQyhOuugumoCmt2SE8ijA4InBaku8//1yBvySvoIdVR1mmLJif8lsCprjEjcj\n\tY6rV01UHg1Z4YQ+vNRnUNJYhFzTulwqU=","X-Received":"by 2002:a05:690c:6084:b0:79a:57a2:ed75 with SMTP id\n 00721157ae682-7a4d86c20bbmr243395487b3.34.1775721890908; Thu, 09 Apr 2026\n 01:04:50 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260407184805.807328-1-dev-josejavier.rodriguez@duagon.com>\n <20260407184805.807328-4-dev-josejavier.rodriguez@duagon.com>","In-Reply-To":"<20260407184805.807328-4-dev-josejavier.rodriguez@duagon.com>","From":"Linus Walleij <linusw@kernel.org>","Date":"Thu, 9 Apr 2026 10:04:39 +0200","X-Gmail-Original-Message-ID":"\n <CAD++jL=bxeWbf=Pm4W6WLgwzkPTHpUeOH9vwpniAdaO-AwNrzA@mail.gmail.com>","X-Gm-Features":"AQROBzChSuDIcHvtmzPqcW7WwtA4rYbqIaIb_ppLVNCEpUTgvN4vag9L0FHHCEU","Message-ID":"\n <CAD++jL=bxeWbf=Pm4W6WLgwzkPTHpUeOH9vwpniAdaO-AwNrzA@mail.gmail.com>","Subject":"Re: [RFC PATCH 3/5] gpio: generic: add io_port to struct\n gpio_generic_chip","To":"Jose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@duagon.com>","Cc":"brgl@kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}},{"id":3675160,"web_url":"http://patchwork.ozlabs.org/comment/3675160/","msgid":"<CAD++jL=eysJpHK1pr6EuDgZMWdKjFtHmtZ0Xq5dJ8z1sjjAfEA@mail.gmail.com>","list_archive_url":null,"date":"2026-04-09T08:21:53","subject":"Re: [RFC PATCH 3/5] gpio: generic: add io_port to struct\n gpio_generic_chip","submitter":{"id":92050,"url":"http://patchwork.ozlabs.org/api/people/92050/","name":"Linus Walleij","email":"linusw@kernel.org"},"content":"On Tue, Apr 7, 2026 at 8:49 PM Jose Javier Rodriguez Barbarin\n<dev-josejavier.rodriguez@duagon.com> wrote:\n\n> @@ -645,6 +645,7 @@ int gpio_generic_chip_init(struct gpio_generic_chip *chip,\n>         gc->base = -1;\n>         gc->request = gpio_mmio_request;\n>         chip->be_bits = !!(flags & GPIO_GENERIC_BIG_ENDIAN);\n> +       chip->io_port = !!(flags & GPIO_GENERIC_PORT_MAPPED);\n\nActually, if you follow my idead to use a special config for port-based\nchips, struct gpio_generic_port_chip_config, that means that you will\nneed to refactor-split this:\n\nint gpio_generic_chip_init(struct gpio_generic_chip *chip,\n                           const struct gpio_generic_chip_config *cfg)\n\nSomething like this:\n\nstatic int gpio_generic_chip_init_common(struct gpio_generic_chip *chip,\n    unsigned long flags, struct device *dev)\n\nint gpio_generic_chip_init(struct gpio_generic_chip *chip,\n                           const struct gpio_generic_chip_config *cfg)\n\nint gpio_generic_port_chip_init(struct gpio_generic_chip *chip,\n                           const struct gpio_generic_port_chip_config *cfg)\n\n(Those prototypes half-guessed by looking at the code...)\n\nSo that each variant calls the common code for the generic part and\nthe MMIO-only respective port-only portions are kept inside\nthe specialized init functions, with gpio_generic_port_chip_init()\nifdef:ed out for !PORT_IO.\n\nIn that case, chip->io_port can just uncoditionally be assigned\ntrue from gpio_generic_port_chip_init() and you don't even need\nthe special flag for port mapped IO.\n\nYours,\nLinus Walleij","headers":{"Return-Path":"\n <linux-gpio+bounces-34924-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=nokxxrYd;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34924-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"nokxxrYd\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frtG24xqPz1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 18:22:18 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 1862C300B8C0\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  9 Apr 2026 08:22:09 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 6327B3A542C;\n\tThu,  9 Apr 2026 08:22:07 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 269173A451F\n\tfor <linux-gpio@vger.kernel.org>; Thu,  9 Apr 2026 08:22:06 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id B8ED6C4CEF7\n\tfor <linux-gpio@vger.kernel.org>; Thu,  9 Apr 2026 08:22:06 +0000 (UTC)","by mail-yw1-f171.google.com with SMTP id\n 00721157ae682-79ed2fc6ac7so4611547b3.2\n        for <linux-gpio@vger.kernel.org>;\n Thu, 09 Apr 2026 01:22:06 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775722927; cv=none;\n b=DI1Yiv77O7vtpgpzH/B4O9FomspsuFC2NgH2N1ITZ5EwFSwwwn344WI8H248M8VAMI7tr5ihnDh+DLwnfYum7XRhgnRaFywQi+sjjCQ5SpiH0WbDWxGQbfEbO98rN1tgVg78NZua5MgZNpg/cv7cX3kIvMUkE9texajdKBdgJGc=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775722927; c=relaxed/simple;\n\tbh=0KYJvFH155AMxZQTmQyTkXPgrx3vHh8CD5wG6p6wGdE=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=j0QQuai6uZdYpyxLgcfdmlR6+OAQEGSYFLCRXBNEm9fTWgq0pbCFXBnsHk5SB2e5U39Frrtyg8HzsUPh0FEM+jt02vLbRvLFSGZgeTR4zRBBjuZWpqn0AoA4z0imHMjpYmf5n35fkhckYhbOYoTTJlwNvAjKBACCF5GSUW8mD8Q=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=nokxxrYd; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775722926;\n\tbh=0KYJvFH155AMxZQTmQyTkXPgrx3vHh8CD5wG6p6wGdE=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=nokxxrYdiZ9OFZv5GL3bXSsO4OXvlCH4lTb2gNMINcIGpvQ3HCnruTmjSh5Sr3kMs\n\t 82PCbT+K9+HiKyxGsm9H/m47i4OqsSbfA33lXjKX/X5180iLI75agOMd7CxT88EapB\n\t 5bnn5bPLj9r9eT89TmfgXc2EhDDhue1d1BvV14YbL2cKfXY1vEJeshMnqZDkCuVUUj\n\t tjY7GYpG9pmcg5ghNBwNB29cpwM+VINsNnl71SDw2JrhfVzhjL3nCJBT1eFxjUulS5\n\t COGZvAmOu17FDpPLDURDXCptSlt5Irw8jETOPmUFUb6qSRMIbXgX0UlRQZW8FG9v+0\n\t 5iy+/tZ9WfgHQ==","X-Forwarded-Encrypted":"i=1;\n AJvYcCWdw8ZEGyFfM3S//F27IE04if5fQWitASXODVvAOxneapyZyWz7bLLqvpX7EP2jCOGEzELu+riyDogW@vger.kernel.org","X-Gm-Message-State":"AOJu0YwmqcA5uMjonw6c30R6HxJQ42DJVo60XXJpUQY8yGFSqMvG18Sj\n\tRn7fQIySGjYQOqEAmhQPiBlf6VI6lslBbA0/46yEGN7r20X5G4XvOwbxSgSq9End+XroKDSItwB\n\tA4B9iSTwo0jeZ4hmE8WqH/WD37yd7dAA=","X-Received":"by 2002:a05:690c:e654:b0:79f:7972:f88c with SMTP id\n 00721157ae682-7a4d64480eemr151606097b3.11.1775722926162; Thu, 09 Apr 2026\n 01:22:06 -0700 (PDT)","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260407184805.807328-1-dev-josejavier.rodriguez@duagon.com>\n <20260407184805.807328-4-dev-josejavier.rodriguez@duagon.com>","In-Reply-To":"<20260407184805.807328-4-dev-josejavier.rodriguez@duagon.com>","From":"Linus Walleij <linusw@kernel.org>","Date":"Thu, 9 Apr 2026 10:21:53 +0200","X-Gmail-Original-Message-ID":"\n <CAD++jL=eysJpHK1pr6EuDgZMWdKjFtHmtZ0Xq5dJ8z1sjjAfEA@mail.gmail.com>","X-Gm-Features":"AQROBzBZA5LIyLYtsgQATGhRckzrth4eZhq0_ffITAPJ5-7ojAyR-Ph1_TmHIfs","Message-ID":"\n <CAD++jL=eysJpHK1pr6EuDgZMWdKjFtHmtZ0Xq5dJ8z1sjjAfEA@mail.gmail.com>","Subject":"Re: [RFC PATCH 3/5] gpio: generic: add io_port to struct\n gpio_generic_chip","To":"Jose Javier Rodriguez Barbarin <dev-josejavier.rodriguez@duagon.com>","Cc":"brgl@kernel.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}}]