{"id":2231292,"url":"http://patchwork.ozlabs.org/api/patches/2231292/?format=json","web_url":"http://patchwork.ozlabs.org/project/buildroot/patch/eabb6434-6827-48cb-bd2c-964b94ea07ba@grenoble.cnrs.fr/","project":{"id":27,"url":"http://patchwork.ozlabs.org/api/projects/27/?format=json","name":"Buildroot development","link_name":"buildroot","list_id":"buildroot.buildroot.org","list_email":"buildroot@buildroot.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<eabb6434-6827-48cb-bd2c-964b94ea07ba@grenoble.cnrs.fr>","list_archive_url":null,"date":"2026-04-30T14:09:53","name":"[1/1] package/libgpiod: enable the kernel GPIO ABI v1","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"c6a7cd12c606517c04283a9354121f7d00b7b6d5","submitter":{"id":81297,"url":"http://patchwork.ozlabs.org/api/people/81297/?format=json","name":"Edgar Bonet","email":"bonet@grenoble.cnrs.fr"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/buildroot/patch/eabb6434-6827-48cb-bd2c-964b94ea07ba@grenoble.cnrs.fr/mbox/","series":[{"id":502311,"url":"http://patchwork.ozlabs.org/api/series/502311/?format=json","web_url":"http://patchwork.ozlabs.org/project/buildroot/list/?series=502311","date":"2026-04-30T14:09:53","name":"[1/1] package/libgpiod: enable the kernel GPIO ABI v1","version":1,"mbox":"http://patchwork.ozlabs.org/series/502311/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2231292/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2231292/checks/","tags":{},"related":[],"headers":{"Return-Path":"<buildroot-bounces@buildroot.org>","X-Original-To":["incoming-buildroot@patchwork.ozlabs.org","buildroot@buildroot.org"],"Delivered-To":["patchwork-incoming-buildroot@legolas.ozlabs.org","buildroot@buildroot.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=A+Ggou0A;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\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 4g5wzg0D0Mz1xqf\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Fri, 01 May 2026 00:10:07 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 9399A40B44;\n\tThu, 30 Apr 2026 14:10:04 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id VuPS6RRTQXqe; Thu, 30 Apr 2026 14:10:03 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id B691140B46;\n\tThu, 30 Apr 2026 14:10:03 +0000 (UTC)","from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n by lists1.osuosl.org (Postfix) with ESMTP id BC791192\n for <buildroot@buildroot.org>; Thu, 30 Apr 2026 14:10:01 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp1.osuosl.org (Postfix) with ESMTP id AE61483BB2\n for <buildroot@buildroot.org>; Thu, 30 Apr 2026 14:10:01 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id Fw7La0gjDbQU for <buildroot@buildroot.org>;\n Thu, 30 Apr 2026 14:10:00 +0000 (UTC)","from mailgw-out1.grenoble.cnrs.fr (mailgw-out1.grenoble.cnrs.fr\n [147.173.1.68])\n by smtp1.osuosl.org (Postfix) with ESMTPS id 9B1A783AE0\n for <buildroot@buildroot.org>; Thu, 30 Apr 2026 14:09:59 +0000 (UTC)","from [147.173.65.159] (unknown [147.173.65.159])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits))\n (No client certificate requested)\n by mailgw-out1.grenoble.cnrs.fr (Postfix) with ESMTPSA id 3CD30C15AB\n for <buildroot@buildroot.org>; Thu, 30 Apr 2026 16:09:54 +0200 (CEST)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org B691140B46","OpenDKIM Filter v2.11.0 smtp1.osuosl.org 9B1A783AE0"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1777558203;\n\tbh=P13GVNtdk5xihAN6Al3tmK5ypriOztAOAvzxiDcjLg0=;\n\th=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\t List-Help:List-Subscribe:From:Reply-To:From;\n\tb=A+Ggou0AmIaLALL4r2n8TdX9oWo8VaFWxgSxs5D2kRu/fgx7RNkne131bXD2IhJ4u\n\t IM37H+hLvecKwka3213lnySyRg1dROsPETI1qtjJDh3WKMELQ1YgkcrBxbQIMnBc+y\n\t EN3qtj0xVmkGeQ+XhH2i6/BmfEz+ZAmYz3+gO8tOqf7Y86Qml0VDJpONmqzRFGJsrF\n\t 6g3pJmanagBWsk8pcaLLvJojnrLTWoFeBWIliWchI46ESUlvH2XGkwUxD+4gQnP7O2\n\t hBZBmQtWC0C46zYZ9ZVzL3QiDvGK4f4qZv6plD35hrUcJ2Wgu3S0XDHdJY4up7CsA4\n\t nUXeJQA8vOyxQ==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=147.173.1.68;\n helo=mailgw-out1.grenoble.cnrs.fr; envelope-from=bonet@grenoble.cnrs.fr;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp1.osuosl.org 9B1A783AE0","Message-ID":"<eabb6434-6827-48cb-bd2c-964b94ea07ba@grenoble.cnrs.fr>","Date":"Thu, 30 Apr 2026 16:09:53 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Content-Language":"en-US, fr","To":"Buildroot development <buildroot@buildroot.org>","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=grenoble.cnrs.fr;\n s=202106-grenoble.cnrs.fr; t=1777558194;\n bh=ut/UKv7FfAyMvoMAA+UfeOXQxhkABR0RRjyqfVZWSJI=;\n h=Date:To:From:Subject:From;\n b=MecgXH3zMFbrRpnzpuF/HyUCw+DPMOYns4UCuLTeDG/UOi+9gsdPxJfrldLJsY5lM\n 4wGCszYhA37zvCOGYGOmRXk9/PGzSCkUQjOB6iG9+wj5LRuLqPVZh0oLBf46vXx48V\n LNc2b4IEIbasU/dX2VrIxfXn2X8sXeTYHOif/3bkfZ57PnOeTPiqvBqUC0h/3mUVhe\n JeFplBSvxsbUCycue5ijK1ldT3y7Sv/OQIylgq/2fYB77BxqRX6Jl+CUu6yjJ63Iss\n rIi0NSoaFV+OqB9CS3rSDS5lm2U69tYJ/65TNkCqoKKcKme+QhmJ2DlLiXHsJFPnpI\n 1h3YApdkX6sFA==","X-Mailman-Original-Authentication-Results":["smtp1.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=grenoble.cnrs.fr","smtp1.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=grenoble.cnrs.fr header.i=@grenoble.cnrs.fr\n header.a=rsa-sha256 header.s=202106-grenoble.cnrs.fr header.b=MecgXH3z"],"Subject":"[Buildroot] [PATCH 1/1] package/libgpiod: enable the kernel GPIO\n ABI v1","X-BeenThere":"buildroot@buildroot.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Discussion and development of buildroot <buildroot.buildroot.org>","List-Unsubscribe":"<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>","List-Archive":"<http://lists.buildroot.org/pipermail/buildroot/>","List-Post":"<mailto:buildroot@buildroot.org>","List-Help":"<mailto:buildroot-request@buildroot.org?subject=help>","List-Subscribe":"<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>","From":"Edgar Bonet via buildroot <buildroot@buildroot.org>","Reply-To":"Edgar Bonet <bonet@grenoble.cnrs.fr>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"buildroot-bounces@buildroot.org","Sender":"\"buildroot\" <buildroot-bounces@buildroot.org>"},"content":"Unlike libgpiod2, this version of libgpiod relies on the deprecated GPIO\nABI version 1. This ABI used to be enabled by default. However, since\nLinux 7.1-rc1 (commit 7673e4c7f7f9 \"Do not enable the v1 uAPI by\ndefault\"), this is not the case anymore. Failing to enable the ABI\nresults in a non-functional libgpiod. For instance:\n\n    # gpioinfo\n    gpioinfo: error creating line iterator: Invalid argument\n\nFix this by enabling the ABI v1 in LIBGPIOD_LINUX_CONFIG_FIXUPS.\n\nSigned-off-by: Edgar Bonet <bonet@grenoble.cnrs.fr>\n---\nI noticed the problem on an Acmesystems Acqua-A5 board. Tested the patch\nin qemu as follows:\n\n    sed -i -e '/# CONFIG_GPIOLIB is not set/d' \\\n        board/qemu/arm-versatile/linux.fragment\n    make qemu_arm_versatile_defconfig\n    utils/config -d PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_18\n    utils/config -e PACKAGE_HOST_LINUX_HEADERS_CUSTOM_7_0  # \"7.0 or later\"\n    utils/config -d DOWNLOAD_FORCE_CHECK_HASHES\n    utils/config --set-str LINUX_KERNEL_CUSTOM_VERSION_VALUE 7.1-rc1\n    utils/config -e PACKAGE_LIBGPIOD\n    utils/config -e PACKAGE_LIBGPIOD_TOOLS\n    make\n    output/images/start-qemu.sh\n---\n package/libgpiod/libgpiod.mk | 4 ++++\n 1 file changed, 4 insertions(+)","diff":"diff --git a/package/libgpiod/libgpiod.mk b/package/libgpiod/libgpiod.mk\nindex f669643b39..f5584a9f1e 100644\n--- a/package/libgpiod/libgpiod.mk\n+++ b/package/libgpiod/libgpiod.mk\n@@ -24,6 +24,10 @@ else\n LIBGPIOD_CONF_OPTS += --disable-tools\n endif\n \n+define LIBGPIOD_LINUX_CONFIG_FIXUPS\n+    $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_CDEV_V1)\n+endef\n+\n ifeq ($(BR2_INSTALL_LIBSTDCPP),y)\n LIBGPIOD_CONF_OPTS += --enable-bindings-cxx\n else\n","prefixes":["1/1"]}