{"id":2233427,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2233427/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260506123637.1077421-3-mscardovi95@gmail.com/","project":{"id":42,"url":"http://patchwork.ozlabs.org/api/1.1/projects/42/?format=json","name":"Linux GPIO development","link_name":"linux-gpio","list_id":"linux-gpio.vger.kernel.org","list_email":"linux-gpio@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260506123637.1077421-3-mscardovi95@gmail.com>","date":"2026-05-06T12:35:34","name":"[v2,1/3,1/3] gpio: acpi: modernize resource management using cleanup.h","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"8858ab8fbb4c21f620668322b95f1c4b33a0afad","submitter":{"id":93312,"url":"http://patchwork.ozlabs.org/api/1.1/people/93312/?format=json","name":"Marco Scardovi","email":"mscardovi95@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-gpio/patch/20260506123637.1077421-3-mscardovi95@gmail.com/mbox/","series":[{"id":502978,"url":"http://patchwork.ozlabs.org/api/1.1/series/502978/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-gpio/list/?series=502978","date":"2026-05-06T12:34:21","name":"gpio: acpi: modernize resource management using cleanup.h","version":2,"mbox":"http://patchwork.ozlabs.org/series/502978/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2233427/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2233427/checks/","tags":{},"headers":{"Return-Path":"\n <linux-gpio+bounces-36285-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=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=DDLMjJeq;\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-36285-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"DDLMjJeq\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.128.54","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"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 4g9Zdj0wl7z1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 22:37:13 +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 B285A3008CAF\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 12:37:10 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 17D8944E041;\n\tWed,  6 May 2026 12:37:07 +0000 (UTC)","from mail-wm1-f54.google.com (mail-wm1-f54.google.com\n [209.85.128.54])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id B0D9744D039\n\tfor <linux-gpio@vger.kernel.org>; Wed,  6 May 2026 12:36:59 +0000 (UTC)","by mail-wm1-f54.google.com with SMTP id\n 5b1f17b1804b1-4891e86fabeso76501425e9.1\n        for <linux-gpio@vger.kernel.org>;\n Wed, 06 May 2026 05:36:59 -0700 (PDT)","from ROG ([2a01:e11:202b:40:68b1:8d59:e348:c16e])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48e530cf964sm31767485e9.1.2026.05.06.05.36.56\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Wed, 06 May 2026 05:36:57 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778071024; cv=none;\n b=f5Arn2UK5N6uy/kc8gnOsEi8R412NfRmTwQEKf6Q/jVxkbQxf34GgBc3pY3nHdqDSThFBSl7ZTnxU7kjISRJB4FQjbJmxyoZFWHeX2FBmxOr+NlIHtYUw4x1obOGokiv9rKzJdOzUmWj5D2hEuxFxXuyqaiStAOiSP8HBsDdluw=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778071024; c=relaxed/simple;\n\tbh=KKiO622uH2fJq1/tL0XKTF01Sy2g4i8eF9XE0Orhm3g=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=o2P+PXj0wrl/T9cqKnYIBob2YsX3/CjATF2NSRYUUMcQh9uozwgH9/G27OBSmsKJ4QR6MUZv4SuKe/pQOG2g8Co5J3vqfP+hgwLsA+cQJSbqIXDpT8gCVP/2czv6Wk2OESvdugkITY/YPp9coxb/QeUQN7gMzXpDcc57E6rJ2wc=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=DDLMjJeq; arc=none smtp.client-ip=209.85.128.54","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1778071018; x=1778675818;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=/zYEKZkZ0zrzlHgzw7EqsB6P1zONDhRzS0uvOcHxVKk=;\n        b=DDLMjJeqfTt+pEmhiVbxIWjuCSo1pS8fYkZHJAV2Lm2kPrDR9hipn5o70o6gGtM9CU\n         BMLqFmC9OeWnRUQtDFA3RDpBCcJwFx+TG8Br2nB6NdB/yxVkc0Mitu2WSEcaKs68G2e1\n         e0/zBJNjPQu94RSfla8zWzXwHdF2OfZV4jKhn9Pd8TVaLRopyeONPn2H8gzbBhefSY0D\n         9Lz4vXXh23Erwq/EYiU0wdqaiiH4KJC3B9f55ZlfY2XhHweU4aKeHioZ8sd0Wp+5ElA2\n         4ZX6eh7Bga0T0qi6WxvFRHZ8McDyAra7X4nH7Q/Qfjm0K5FUQomI5vIrcYrj242Kak9q\n         FfXw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1778071018; x=1778675818;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=/zYEKZkZ0zrzlHgzw7EqsB6P1zONDhRzS0uvOcHxVKk=;\n        b=c5X4vdNuQ1jKL3uUM0WEyBdva3yKGXb225qLxXO3NYupQVNosv0wS2NWChh24iuJbt\n         iaX9n8jgNdL9xUGjETrjlJVvZArDzyAlxkbrFeyPBteXKY36VkSV8JmsmLH7ItH0y1s1\n         cuTIzvubMYPBjwy4w+5qOtdWGS0/IwgClu/J2TnhOKP28ohcSeGTLpJd++yY46M8QVzk\n         Xk3BUNtfWIebgK6sF9fgtYTISIqa/Bd9j/nycthoVTArFSLikAj6QN8+Kq0PBk/cY2kf\n         zPPo2Ow8RLI/oGYfL0qpKHWHH5JKe5zE+eW5youF73K8qh3Ll2EAru4orhk1wn5piowi\n         T4Jg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ8ZmZRNjLAjDnD7MrPHfv8G95QyCFyYkT0pXHbWfEVMfdBXGnEeO2YtYET8htePoiSPd8IUqJ3ZNMom@vger.kernel.org","X-Gm-Message-State":"AOJu0YzW02FrQTZYYMbe0RPyGBhSOgXts9Q2Y3OJCtWJSFexXdYrdAM+\n\tuedqET0PMvmNgW05XeTPDaCoF822mlOvlMH5yo9vL/cNlq3oqQaV4tjv","X-Gm-Gg":"AeBDievx6+LJp/DJu6aG/TzTOa3adGfbikj2Zg2itYrl89oBkj9m/r2rHbyaTeyg0co\n\t+IeLbP59wyHNASnk+UEvKlIvh48l2HUcmyjw0KVQK3gZRcAoO0f9JUjGbUcRrsTe5EY+pz/4vVh\n\tF9KjQfM58iDOEZG8ZNlcRyWSK5LxDV8DtXO329KV0hJ2imK8a8vTPS4C6Jdb2/pkYiOMGKnBIuE\n\tpibXXNzOW+w84HkV7Jq0RPrCYncGwJqSQuJvd5U5mBcMbxKL5YfGIj/nEWDnLWhsxAijdEQCpzi\n\tCpvceiTysyXCV3gqVnBYicsS9xd50KH55IWCkw8cc7DfpfYbfsl7N0SI3ldB30dFutMgKIBkdX0\n\t+gBPrBv+bBGT3Gy7jquoK7w4o4gwBUZRxBb557GDXl9xSb4joBimLfI2MRL1FvoC+UPmKZUjPgS\n\tO9qqsCZKRX8ivxb1oFAQZPQTvgIK1Hjcru8wQ0","X-Received":"by 2002:a05:600c:a411:b0:488:af48:af11 with SMTP id\n 5b1f17b1804b1-48e51e08ce3mr40215835e9.1.1778071017611;\n        Wed, 06 May 2026 05:36:57 -0700 (PDT)","From":"Marco Scardovi <mscardovi95@gmail.com>","To":"mika.westerberg@intel.com","Cc":"mathias.nyman@intel.com,\n\tandriy.shevchenko@intel.com,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-acpi@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tMarco Scardovi <mscardovi95@gmail.com>","Subject":"[PATCH v2 1/3] [PATCH 1/3] gpio: acpi: modernize resource management\n using cleanup.h","Date":"Wed,  6 May 2026 14:35:34 +0200","Message-ID":"<20260506123637.1077421-3-mscardovi95@gmail.com>","X-Mailer":"git-send-email 2.54.0","In-Reply-To":"<20260506123637.1077421-1-mscardovi95@gmail.com>","References":"<20260506113215.GK6785@://intel.com>\n <20260506123637.1077421-1-mscardovi95@gmail.com>","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","Content-Transfer-Encoding":"8bit"},"content":"---\n drivers/gpio/gpiolib-acpi-core.c | 18 ++++++++++++++++++\n 1 file changed, 18 insertions(+)","diff":"diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-core.c\nindex eb8a40cfb7a9..7c17bffcd4e7 100644\n--- a/drivers/gpio/gpiolib-acpi-core.c\n+++ b/drivers/gpio/gpiolib-acpi-core.c\n@@ -7,6 +7,8 @@\n  *          Mika Westerberg <mika.westerberg@linux.intel.com>\n  */\n \n+#include <linux/cleanup.h>\n+#include <linux/slab.h>\n #include <linux/acpi.h>\n #include <linux/dmi.h>\n #include <linux/errno.h>\n@@ -23,6 +25,16 @@\n #include \"gpiolib.h\"\n #include \"gpiolib-acpi.h\"\n \n+DEFINE_FREE(free_gpio_desc, struct gpio_desc *, {\n+\tif (_T)\n+\t\tgpiochip_free_own_desc(_T);\n+})\n+\n+DEFINE_FREE(acpi_free, void *, {\n+\tif (_T)\n+\t\tACPI_FREE(_T);\n+})\n+\n /**\n  * struct acpi_gpio_event - ACPI GPIO event handler data\n  *\n@@ -361,6 +373,7 @@ static acpi_status acpi_gpiochip_alloc_event(struct acpi_resource *ares,\n \tstruct acpi_gpio_event *event;\n \tirq_handler_t handler = NULL;\n \tstruct gpio_desc *desc;\n+\tstruct gpio_desc *desc_guard __free(free_gpio_desc) = NULL;\n \tunsigned int pin;\n \tint ret, irq;\n \n@@ -370,6 +383,11 @@ static acpi_status acpi_gpiochip_alloc_event(struct acpi_resource *ares,\n \thandle = ACPI_HANDLE(chip->parent);\n \tpin = agpio->pin_table[0];\n \n+\tif (pin >= chip->ngpio) {\n+\t\tdev_err(chip->parent, \"Failed to request GPIO for pin 0x%04X, out of range\\n\", pin);\n+\t\treturn AE_OK;\n+\t}\n+\n \tif (pin <= 255) {\n \t\tchar ev_name[8];\n \t\tsprintf(ev_name, \"_%c%02X\",\n","prefixes":["v2","1/3","1/3"]}