[{"id":3675352,"web_url":"http://patchwork.ozlabs.org/comment/3675352/","msgid":"<CAMRc=Mdh=P8ABX2kO-j9hp0oy=1-9rJZUYwZR4APNz1qK9FVcQ@mail.gmail.com>","list_archive_url":null,"date":"2026-04-09T14:23:36","subject":"Re: [PATCH v1] gpiolib: fix trace on missing gpiochip->get_direction\n callback","submitter":{"id":92191,"url":"http://patchwork.ozlabs.org/api/people/92191/","name":"Bartosz Golaszewski","email":"brgl@kernel.org"},"content":"On Thu, 9 Apr 2026 15:27:23 +0200, Frank Wunderlich <linux@fw-web.de> said:\n> From: Frank Wunderlich <frank-w@public-files.de>\n>\n> if gpio_chip.get_direction callback is not implemented (e.g. pinctrl-moore) there\n> is a bunch of traces because of this.\n>\n> Just remove the WARN_ON to avoid traces and restore previous behaviour but keep the\n> sanitization active.\n>\n> Fixes: 471e998c0e31 (\"gpiolib: remove redundant callback check\")\n> Fixes: e623c4303ed1 (\"gpiolib: sanitize the return value of gpio_chip::get_direction()\")\n> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>\n> ---\n>  drivers/gpio/gpiolib.c | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c\n> index 86a171e96b0e..302cbd7989f3 100644\n> --- a/drivers/gpio/gpiolib.c\n> +++ b/drivers/gpio/gpiolib.c\n> @@ -420,7 +420,7 @@ static int gpiochip_get_direction(struct gpio_chip *gc, unsigned int offset)\n>\n>  \tlockdep_assert_held(&gc->gpiodev->srcu);\n>\n> -\tif (WARN_ON(!gc->get_direction))\n> +\tif (!gc->get_direction)\n>  \t\treturn -EOPNOTSUPP;\n>\n>  \tret = gc->get_direction(gc, offset);\n> --\n> 2.43.0\n>\n>\n\nI prefer GPIO drivers to just implement get_direction(). Looking at the code\nit should be pretty straightforward for this driver.\n\nCan you test if the following works for you?\n\ndiff --git a/drivers/pinctrl/mediatek/pinctrl-moore.c\nb/drivers/pinctrl/mediatek/pinctrl-moore.c\nindex 70f608347a5f6..071ba849e5322 100644\n--- a/drivers/pinctrl/mediatek/pinctrl-moore.c\n+++ b/drivers/pinctrl/mediatek/pinctrl-moore.c\n@@ -520,6 +520,23 @@ static int mtk_gpio_direction_output(struct\ngpio_chip *chip, unsigned int gpio,\n \treturn pinctrl_gpio_direction_output(chip, gpio);\n }\n\n+static int mtk_gpio_get_direction(struct gpio_chip *chip, unsigned int offset)\n+{\n+\tstruct mtk_pinctrl *hw = gpiochip_get_data(chip);\n+\tconst struct mtk_pin_desc *desc;\n+\tint ret, dir;\n+\n+\tdesc = (const struct mtk_pin_desc *)&hw->soc->pins[offset];\n+\tif (!desc->name)\n+\t\treturn -ENOTSUPP;\n+\n+\tret = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_DIR, &dir);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\treturn dir ? GPIO_LINE_DIRECTION_OUT : GPIO_LINE_DIRECTION_IN;\n+}\n+\n static int mtk_gpio_to_irq(struct gpio_chip *chip, unsigned int offset)\n {\n \tstruct mtk_pinctrl *hw = gpiochip_get_data(chip);\n@@ -566,6 +583,7 @@ static int mtk_build_gpiochip(struct mtk_pinctrl *hw)\n \tchip->parent\t\t= hw->dev;\n \tchip->request\t\t= gpiochip_generic_request;\n \tchip->free\t\t= gpiochip_generic_free;\n+\tchip->get_direction\t= mtk_gpio_get_direction;\n \tchip->direction_input\t= pinctrl_gpio_direction_input;\n \tchip->direction_output\t= mtk_gpio_direction_output;\n \tchip->get\t\t= mtk_gpio_get;\n\nThanks,\nBart","headers":{"Return-Path":"\n <linux-gpio+bounces-34956-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=qnrzHatL;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-34956-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=\"qnrzHatL\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fs2Sm6Mltz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 00:32:08 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id AC42A30C7607\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  9 Apr 2026 14:24:08 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 610793DA7C8;\n\tThu,  9 Apr 2026 14:23:42 +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 DF4592D46CE\n\tfor <linux-gpio@vger.kernel.org>; Thu,  9 Apr 2026 14:23:40 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 5A8E9C4CEF7\n\tfor <linux-gpio@vger.kernel.org>; Thu,  9 Apr 2026 14:23:40 +0000 (UTC)","by mail-lj1-f176.google.com with SMTP id\n 38308e7fff4ca-38be5e86918so8704641fa.3\n        for <linux-gpio@vger.kernel.org>;\n Thu, 09 Apr 2026 07:23:40 -0700 (PDT)","from 969154062570 named unknown by gmailapi.google.com with\n HTTPREST; Thu, 9 Apr 2026 14:23:36 +0000","from 969154062570 named unknown by gmailapi.google.com with\n HTTPREST; Thu, 9 Apr 2026 14:23:36 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775744621; cv=none;\n b=HB5bXa4/csGQoeFAGKi3zWWCUyHNwJSjErZHF+uiORALiDBrvH1o1+4lr9MU0rCEGDhUgO+peS1OLrBZECXivHCzQQ9S58PtMOjABivq+QK+VRlABhwvEodBGh9Fsa08cl0BL1efHIO84f+EohatsSmMwCk7ZAp6TUBsElqXNA8=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775744621; c=relaxed/simple;\n\tbh=zBeHtVdFm4TpuvWo/Z1ESxVIHYVmX/W6V+DGMX60zvU=;\n\th=From:In-Reply-To:MIME-Version:References:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=HzmLHpbU4cdsJAZ3Tyb4O8r2rgzPngBEjdPir7lYEHQMEuQr4a48jP8b3U8yC9LKZicAm9LWbDuuk1HCtpsF5Y42eAPJ8wa04Ngo6URZxeLNpv3IBJthdhFwozJj3DQPNzv+2ab34hhLIIrdofKLDB1m026VxFpL8JiEHRQYHQY=","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=qnrzHatL; 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=1775744620;\n\tbh=zBeHtVdFm4TpuvWo/Z1ESxVIHYVmX/W6V+DGMX60zvU=;\n\th=From:In-Reply-To:References:Date:Subject:To:Cc:From;\n\tb=qnrzHatLfwTp0BUHvvKnqsD0R2oJXZRdeiRREfxUeB04R4hB6vaKtFnq+OCMuHBeQ\n\t 9k/s8Vj9s7Dd0MBaFBigeobHdc/AKiIYsBWbPZXxCSOiWho/ZAgZU7E8nwbNE/8v27\n\t CTl6yp3gydnPjTdqwAj+m93Dl0/ih6/TO7bV+AjGSlao1gRLI3Myfr0AXWoxtgD4MS\n\t PwMlx3raTVK0V/H0iFt3IGsDeEmSIn7Z99Si9Tx5tDJU6zolf8Du0HISI0S00YIrmo\n\t XhjlqcWdfSEu9g6nkjGAtPbZMwd4PyBZrYmKICnhXO8sx2JvF3jMzqjPhud20weSlo\n\t HohQFXS2egIHQ==","X-Forwarded-Encrypted":"i=1;\n AJvYcCWIiwq4L6uMsN3rdXGbKcTKHt6u7+RGO1n3sWofdKERanm2iomrZfsJP3c1LeaWZ5rrH/DSt/Sy96P/@vger.kernel.org","X-Gm-Message-State":"AOJu0YxhkMa1aYRGy7efyE7HiJ4JOdgZA4XWPkuGP19B2qWtmcSEGNYl\n\tIpnu7KvWvk+ZqnxV0nKyGS7N/jZm0J6VLHvONpZ/VFnK5DOzT2WSyWaa58AcSnj+tpwsf/L4x2v\n\tKexAUvvkK/+ejUqjoX9BXiRZ+n8HazSTV4IK09WLvWw==","X-Received":"by 2002:a05:651c:54c:b0:38b:d4a7:fee5 with SMTP id\n 38308e7fff4ca-38d8d38127bmr76966811fa.11.1775744619067; Thu, 09 Apr 2026\n 07:23:39 -0700 (PDT)","From":"Bartosz Golaszewski <brgl@kernel.org>","In-Reply-To":"<20260409132724.126258-1-linux@fw-web.de>","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":"<20260409132724.126258-1-linux@fw-web.de>","Date":"Thu, 9 Apr 2026 14:23:36 +0000","X-Gmail-Original-Message-ID":"\n <CAMRc=Mdh=P8ABX2kO-j9hp0oy=1-9rJZUYwZR4APNz1qK9FVcQ@mail.gmail.com>","X-Gm-Features":"AQROBzBojIHyh6ij-bhM7h7LoaBI_Xezqn1PT_cOwwYyo5cbIeWtn5wivfjzZcA","Message-ID":"\n <CAMRc=Mdh=P8ABX2kO-j9hp0oy=1-9rJZUYwZR4APNz1qK9FVcQ@mail.gmail.com>","Subject":"Re: [PATCH v1] gpiolib: fix trace on missing gpiochip->get_direction\n callback","To":"Frank Wunderlich <linux@fw-web.de>","Cc":"Frank Wunderlich <frank-w@public-files.de>, linux-gpio@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, Daniel Golle <daniel@makrotopia.org>,\n\tLinus Walleij <linusw@kernel.org>, Bartosz Golaszewski <brgl@kernel.org>","Content-Type":"text/plain; charset=\"UTF-8\""}},{"id":3675505,"web_url":"http://patchwork.ozlabs.org/comment/3675505/","msgid":"<trinity-93899756-f769-4496-9acf-268f65f0d612-1775767330691@trinity-msg-rest-gmx-gmx-live-5cf7d7879b-89lbz>","list_archive_url":null,"date":"2026-04-09T20:42:10","subject":"Aw: Re: [PATCH v1] gpiolib: fix trace on missing\n gpiochip->get_direction callback","submitter":{"id":75107,"url":"http://patchwork.ozlabs.org/api/people/75107/","name":"Frank Wunderlich","email":"frank-w@public-files.de"},"content":"Hi\n\n> Gesendet: Donnerstag, 9. April 2026 um 16:23\n> Von: \"Bartosz Golaszewski\" <brgl@kernel.org>\n> \n> I prefer GPIO drivers to just implement get_direction(). Looking at the code\n> it should be pretty straightforward for this driver.\n> \n> Can you test if the following works for you?\n> \n> diff --git a/drivers/pinctrl/mediatek/pinctrl-moore.c\n> b/drivers/pinctrl/mediatek/pinctrl-moore.c\n> index 70f608347a5f6..071ba849e5322 100644\n> --- a/drivers/pinctrl/mediatek/pinctrl-moore.c\n> +++ b/drivers/pinctrl/mediatek/pinctrl-moore.c\n> @@ -520,6 +520,23 @@ static int mtk_gpio_direction_output(struct\n> gpio_chip *chip, unsigned int gpio,\n>  \treturn pinctrl_gpio_direction_output(chip, gpio);\n>  }\n> \n> +static int mtk_gpio_get_direction(struct gpio_chip *chip, unsigned int offset)\n> +{\n> +\tstruct mtk_pinctrl *hw = gpiochip_get_data(chip);\n> +\tconst struct mtk_pin_desc *desc;\n> +\tint ret, dir;\n> +\n> +\tdesc = (const struct mtk_pin_desc *)&amp;hw->soc->pins[offset];\n> +\tif (!desc->name)\n> +\t\treturn -ENOTSUPP;\n> +\n> +\tret = mtk_hw_get_value(hw, desc, PINCTRL_PIN_REG_DIR, &amp;dir);\n> +\tif (ret)\n> +\t\treturn ret;\n> +\n> +\treturn dir ? GPIO_LINE_DIRECTION_OUT : GPIO_LINE_DIRECTION_IN;\n> +}\n> +\n>  static int mtk_gpio_to_irq(struct gpio_chip *chip, unsigned int offset)\n>  {\n>  \tstruct mtk_pinctrl *hw = gpiochip_get_data(chip);\n> @@ -566,6 +583,7 @@ static int mtk_build_gpiochip(struct mtk_pinctrl *hw)\n>  \tchip->parent\t\t= hw->dev;\n>  \tchip->request\t\t= gpiochip_generic_request;\n>  \tchip->free\t\t= gpiochip_generic_free;\n> +\tchip->get_direction\t= mtk_gpio_get_direction;\n>  \tchip->direction_input\t= pinctrl_gpio_direction_input;\n>  \tchip->direction_output\t= mtk_gpio_direction_output;\n>  \tchip->get\t\t= mtk_gpio_get;\n\nit looks good on a quick test, just reverted my patch and applied yours and got no trace \n\nroot@bpi-r4:~# cat /sys/kernel/debug/gpio \ngpiochip0: 84 GPIOs, parent: platform/1001f000.pinctrl, pinctrl_moore:\n gpio-0   (                    |tx-disable          ) in  lo \n gpio-1   (                    |mod-def0            ) in  hi IRQ ACTIVE LOW\n gpio-2   (                    |los                 ) in  hi IRQ \n gpio-12  (                    |cd                  ) in  lo IRQ ACTIVE LOW\n gpio-13  (                    |reset               ) in  hi IRQ ACTIVE LOW\n gpio-14  (                    |WPS                 ) in  hi IRQ ACTIVE LOW\n gpio-21  (                    |tx-disable          ) out hi \n gpio-69  (                    |mod-def0            ) in  lo IRQ ACTIVE LOW\n gpio-70  (                    |los                 ) in  hi IRQ \n\ngpiochip1: 16 GPIOs, parent: i2c/3-0020, 3-0020, can sleep:\n gpio-14  (                    |blue:activity       ) out lo \n gpio-15  (                    |red:fault           ) out lo \n\noutput seems correct.\n\nregards Frank\n\n> Thanks,\n> Bart","headers":{"Return-Path":"\n <linux-gpio+bounces-34973-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=public-files.de header.i=frank-w@public-files.de\n header.a=rsa-sha256 header.s=s31663417 header.b=AEPaUGPg;\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-34973-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=public-files.de\n header.i=frank-w@public-files.de header.b=\"AEPaUGPg\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=212.227.17.21","smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=public-files.de","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=public-files.de"],"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 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsBh01vl1z1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 06:42:24 +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 5FFA13008466\n\tfor <incoming@patchwork.ozlabs.org>; Thu,  9 Apr 2026 20:42:22 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 32EC9331211;\n\tThu,  9 Apr 2026 20:42:21 +0000 (UTC)","from mout.gmx.net (mout.gmx.net [212.227.17.21])\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 E366428727D;\n\tThu,  9 Apr 2026 20:42:18 +0000 (UTC)","from [194.15.81.119] ([194.15.81.119]) by\n trinity-msg-rest-gmx-gmx-live-5cf7d7879b-89lbz (via HTTP); Thu, 9 Apr 2026\n 20:42:10 +0000"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775767341; cv=none;\n b=Ei4yBe69pbesAI0GXBJO3pIuFa7A8L212rjlhWu/L3aA4zZjT7Q677kbz5JMy3VTXlcVM5/9SubeS+umfFK2OprgG0IkHjX0Ng2Q9cmlY6v1ZYNvKpuRm+2s60D4hCux5AwfcVFwVtFtqnxP4ptEvC96DRq/4q2WSx088qq72Ac=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775767341; c=relaxed/simple;\n\tbh=XmotdEgM3fx1B4cVNEkffKRihdxQ9iO+c3wPvCjSOVo=;\n\th=MIME-Version:Message-ID:From:To:Cc:Subject:Content-Type:Date:\n\t In-Reply-To:References;\n b=H9vIrne0GrYynUlV0OYk5Dr96gbE1pogAlqgWLP6C4nsz4tv5E0jbFyLSJyyr4YzhbDTT2YhNpMHXzbowZlG6oQgS7VHRi249pTs4ViEexwVB8eTyXRUUZi6UphlN8zXqQ+hJua2fsPzJkORnfz1bI11qd29+/cOasp3ekiewO0=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=public-files.de;\n spf=pass smtp.mailfrom=public-files.de;\n dkim=pass (2048-bit key) header.d=public-files.de\n header.i=frank-w@public-files.de header.b=AEPaUGPg;\n arc=none smtp.client-ip=212.227.17.21","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=public-files.de;\n\ts=s31663417; t=1775767330; x=1776372130; i=frank-w@public-files.de;\n\tbh=5QlvSQ0HNSqS+Dhun8NXAoIfOSdeQi4kARON5BDNe1Q=;\n\th=X-UI-Sender-Class:MIME-Version:Message-ID:From:To:Cc:Subject:\n\t Content-Type:Date:In-Reply-To:References:\n\t Content-Transfer-Encoding:cc:content-transfer-encoding:\n\t content-type:date:from:message-id:mime-version:reply-to:subject:\n\t to;\n\tb=AEPaUGPgIwzym5EjKp1Rh7/BsbYxv+FEDJf7v+Yie7KAqeqOxHbHR3taJxhY26Zl\n\t nKAezOt434pwLCNz/5K/KB0Xsv7YMhCHjpSwpeYT35qbMsUWVToti8rW32PsWX7YI\n\t dRKReAs0f5hy0ZmMYFrTDv+6H1pTyKk3cujmuc8lFss6kwnHkFDsZzeTs5VPV0+DS\n\t BJ4RUvbrVB+rVaTd0zDbNr9/02Z7gKVyJ1R44H9B4aR5zQy3TSg3lfnbHwI1zmJtZ\n\t vu3lqtpMZ2TeptFlfkG3vocF9sYkLcL5GyJcge0TjdOeah61I5dWBB9Glh5ZAwXg0\n\t tsMlh25Go18rSZkEag==","X-UI-Sender-Class":"724b4f7f-cbec-4199-ad4e-598c01a50d3a","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","Message-ID":"\n <trinity-93899756-f769-4496-9acf-268f65f0d612-1775767330691@trinity-msg-rest-gmx-gmx-live-5cf7d7879b-89lbz>","From":"Frank Wunderlich <frank-w@public-files.de>","To":"brgl@kernel.org, linux@fw-web.de","Cc":"linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,\n daniel@makrotopia.org, linusw@kernel.org, brgl@kernel.org","Subject":"Aw: Re: [PATCH v1] gpiolib: fix trace on missing\n gpiochip->get_direction callback","Content-Type":"text/plain; charset=UTF-8","Importance":"normal","Date":"Thu, 9 Apr 2026 20:42:10 +0000","Sensitivity":"Normal","In-Reply-To":"\n <CAMRc=Mdh=P8ABX2kO-j9hp0oy=1-9rJZUYwZR4APNz1qK9FVcQ@mail.gmail.com>","References":"<20260409132724.126258-1-linux@fw-web.de>\n <CAMRc=Mdh=P8ABX2kO-j9hp0oy=1-9rJZUYwZR4APNz1qK9FVcQ@mail.gmail.com>","X-Priority":"3","X-UI-CLIENT-META-MAIL-DROP":"W10=","X-Provags-ID":"\n V03:K1:0791cDOrPfiyFfRMxPtF575/UfjdRK5Effqmu3a3x/DLajiJFIQBKGT3DdkaTbuguB5RT\n cJBKJu6WZShhQ3eBK/WQgoruXWlzcKE+Xk3yEfbBUp5YNBY5SNW6PAR+v+oQAJ+3Jdbm7Td3B1nd\n XSU7zgQ55kmTmvSyYcG5k9Mq5K9MHOe/eHqRU3oPK4hfEbe0tsPS+NKrl1OS5KpMNPJlXLg6crgb\n IR7SUdeRYg+qpo6TbZxhCMtLpqVZODj5znhYIPmf9eFG3Kn5dMSGJ7AH0kyEbdp3WqPjZb6KZ4nA\n fHhy1a/eJHuDTictXNv85hMXHa6/bcRacUC0jFPLC3yVtNClbwLSWpy4PH2AT19vF4=","X-Spam-Flag":"NO","UI-OutboundReport":"notjunk:1;M01:P0:J4028As/mj8=;c9udAGiRzW1v/GCWoMTFG2+rf41\n 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\n B/F6g==","Content-Transfer-Encoding":"quoted-printable"}}]