From nobody Sat Jun 13 16:24:52 2026 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85C0344CAEC for ; Wed, 6 May 2026 12:36:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778071023; cv=none; b=T8yBhhYrlKvHHLvcUBqm5MguGfWepwCnFwdI8oi5RAZG5oESLqAOX9gf1JQxa+vuXmOvsgmC2eWzN5eOZ1YydWB6KEtQ5M4EQdGMjD3uhvWzx84bpxnA+pYndh68MA19j7NMsbLXuFhlJTUBowXG0hFTYlgRQg21Amfu/K6EndM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778071023; c=relaxed/simple; bh=KKiO622uH2fJq1/tL0XKTF01Sy2g4i8eF9XE0Orhm3g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kMe5Aeo073WEr3oGHhw2wMhJfcI4f4hJiLaIv9H/peupVwC2MS3BpDaGN823R3MRUanRUcCyK9bcCxDrNKVxGQamAW0HD9gC7IWcA2n58hH9nFHVgjMvOzCCtsdHtO8fzWbki8zMjkvbubeGClN2k6eJHw2XgiQmvg0/BGx5lco= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DDLMjJeq; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DDLMjJeq" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-488d2079582so66328985e9.2 for ; Wed, 06 May 2026 05:36:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778071018; x=1778675818; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/zYEKZkZ0zrzlHgzw7EqsB6P1zONDhRzS0uvOcHxVKk=; b=DDLMjJeqfTt+pEmhiVbxIWjuCSo1pS8fYkZHJAV2Lm2kPrDR9hipn5o70o6gGtM9CU BMLqFmC9OeWnRUQtDFA3RDpBCcJwFx+TG8Br2nB6NdB/yxVkc0Mitu2WSEcaKs68G2e1 e0/zBJNjPQu94RSfla8zWzXwHdF2OfZV4jKhn9Pd8TVaLRopyeONPn2H8gzbBhefSY0D 9Lz4vXXh23Erwq/EYiU0wdqaiiH4KJC3B9f55ZlfY2XhHweU4aKeHioZ8sd0Wp+5ElA2 4ZX6eh7Bga0T0qi6WxvFRHZ8McDyAra7X4nH7Q/Qfjm0K5FUQomI5vIrcYrj242Kak9q FfXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778071018; x=1778675818; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=/zYEKZkZ0zrzlHgzw7EqsB6P1zONDhRzS0uvOcHxVKk=; b=UCE0LmfAtjrRnS0zfvKqHYFqh05oSyR1v7uvFHIxTTguDHbemtZxxd3G5/BP4HJfI2 XVJDzLIe71XacZ7OqIUTD89OvEMI4f4vr18i/6BZa2Xd2Hy9K8envjU2ZQ4eR1wc2b1M RnHaIbpoeEV81OkDBb3cMH2Cy8h45kffd5Ejv+wKR+763eYrqtVttGWkIUJcUu0ulbAo DS9WcODN4r3QkGgb+Kxew5mALc4AtC9UtI99CVQlZaSHr8BH6BXTESXoFXWoHi3W0EwH 08U5dYGruUsanfMOJAijfF16efFzdmxa6DOQ170iXU/GzD7gNO+o9tHcp6FHmZBzJYnu LDvw== X-Forwarded-Encrypted: i=1; AFNElJ/1Lf7qxOsY6YOe9ex5JWchplGPTV5MPt4cD2En7ysYnS6RDPBNUge3Atuz9PbidykRt5r1YPFk4OShIZs=@vger.kernel.org X-Gm-Message-State: AOJu0YxqWMZ0vQkyrdUQTICsbw265zZDwsOlcoAXtqpIFfwkSYYrierG JOjAoJ6Mp/s5CSScEEGhDOVMOyMVpevp7aCGj6dGRGBxlg6z2+7sRbfv X-Gm-Gg: AeBDiesetPedjjOY3FPPlfI4ofr8a23ocsfuYEd5VIL5bh936HTUQlu3p1cPUTfJaLw rieZWkaErJue9BK7B/h0o0PvzuEJXCQ60ZrWP+UFVNoC/t9+JbagiKCp0lRaqaqvf3O5QyI28J2 EUfFMh0tvtoOEeB84wlv8SgxaGpWktPfj/z1OYhayxE2Js3bxB9gGYGJy7elksTQzV5Vl2KRh/W EPQL2iztovm65tFnUADoXR3A4QGPfcc+M0zRSe1iHiPBTzPo/im0vh0o4P1NauZiw50ZIaERWvs N3y1JOQ3HyD51UC2hZZGJs6Dc1YNPcX209O6HNjaMo6WbxEjb3/IdoNUad1oqSeSJprVgLVTPLf llqs8C8sHscfOHzZqgBOq0jOspwFTr56jG3JnWOTnj9plnxteyeFkIDAD5fS6/raj/0izmrzur0 /CqWeX2PdvXdcXOUIbJmWVrtMSzJ1svjbchn3i X-Received: by 2002:a05:600c:a411:b0:488:af48:af11 with SMTP id 5b1f17b1804b1-48e51e08ce3mr40215835e9.1.1778071017611; Wed, 06 May 2026 05:36:57 -0700 (PDT) Received: from ROG ([2a01:e11:202b:40:68b1:8d59:e348:c16e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48e530cf964sm31767485e9.1.2026.05.06.05.36.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 05:36:57 -0700 (PDT) From: Marco Scardovi To: mika.westerberg@intel.com Cc: mathias.nyman@intel.com, andriy.shevchenko@intel.com, linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Marco Scardovi Subject: [PATCH v2 1/3] [PATCH 1/3] gpio: acpi: modernize resource management 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> <20260506123637.1077421-1-mscardovi95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" --- drivers/gpio/gpiolib-acpi-core.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-c= ore.c index eb8a40cfb7a9..7c17bffcd4e7 100644 --- a/drivers/gpio/gpiolib-acpi-core.c +++ b/drivers/gpio/gpiolib-acpi-core.c @@ -7,6 +7,8 @@ * Mika Westerberg */ =20 +#include +#include #include #include #include @@ -23,6 +25,16 @@ #include "gpiolib.h" #include "gpiolib-acpi.h" =20 +DEFINE_FREE(free_gpio_desc, struct gpio_desc *, { + if (_T) + gpiochip_free_own_desc(_T); +}) + +DEFINE_FREE(acpi_free, void *, { + if (_T) + ACPI_FREE(_T); +}) + /** * struct acpi_gpio_event - ACPI GPIO event handler data * @@ -361,6 +373,7 @@ static acpi_status acpi_gpiochip_alloc_event(struct acp= i_resource *ares, struct acpi_gpio_event *event; irq_handler_t handler =3D NULL; struct gpio_desc *desc; + struct gpio_desc *desc_guard __free(free_gpio_desc) =3D NULL; unsigned int pin; int ret, irq; =20 @@ -370,6 +383,11 @@ static acpi_status acpi_gpiochip_alloc_event(struct ac= pi_resource *ares, handle =3D ACPI_HANDLE(chip->parent); pin =3D agpio->pin_table[0]; =20 + if (pin >=3D chip->ngpio) { + dev_err(chip->parent, "Failed to request GPIO for pin 0x%04X, out of ran= ge\n", pin); + return AE_OK; + } + if (pin <=3D 255) { char ev_name[8]; sprintf(ev_name, "_%c%02X", --=20 2.54.0 From nobody Sat Jun 13 16:24:52 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B57EE44CF45 for ; Wed, 6 May 2026 12:37:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778071025; cv=none; b=jk5Bb0a5YJgdGgCtwuN4jnmKLehyqIKh/ic8g5uVw8uzGPiNbId0uW+PJj7Sac+29+VA7+jTAN6X5cMJ8/euyEwCaivRuhSkiLwTAStA5ZYO6SSB7JkSjRCDD4Rj1m73sPlnShNSOkbe0knGG8nvRZamDWZT9sjNDei9ksSAOY8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778071025; c=relaxed/simple; bh=v/NK4ob2BdQrRgRECswCj/ZvHO8mcxQCL6EyTUOg2XI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rfrxP8H8lOkrVCkgnTy/69KTLBNsoR/AzVFg7iM2B6KADWlDQiZF7gY73f/m+ET2ckcDPByQqVxegZSbowoR+iSSP6UqMcp2RpErKh/eHyKPSXYs3q+xX2oqVAWzY4W8I36myG7j/BnTB6m6kPPwG4PY1YeWn9zFKFkxioX06rc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=engmf561; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="engmf561" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-48d102471a4so31308035e9.2 for ; Wed, 06 May 2026 05:37:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778071018; x=1778675818; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZmPjvjob3FbjNKESIZvrg3JwdYT3+owCLHCZhOf9FAE=; b=engmf561V+xtEFyjJdib7qGpkxbU57rxXX16u2gOE+u29xoDh9xDQ6jzwdnwm6rkVZ TzJOPlclWgrgJbYybU/Rs1qx7OIfAs0vmwvmGVQ/CRhU5oBMqSN1yhw4k4Z3KN8nj+ow 86Pt3k54mdILmIF3XDXxv3yRxzw0/8Bk+TdhfjUbFMZz/vxqrfv/8ost32XP0VK7WTOm wJsko8LF9x35YUidrhUAMVL5IvIzloWm71bfcjVLD+Z6baRYc5i36DJjtzhe0BvO8uSJ QAAvxMrn2dFHHERs1nE1PKaSROGXX/YaABE0+nwxiCyekkVd/lPmW2pxaCczcuuxZbPG fdzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778071018; x=1778675818; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ZmPjvjob3FbjNKESIZvrg3JwdYT3+owCLHCZhOf9FAE=; b=PA0wmh/6fU9kJoGt7btrNdyTGZHbNUHyV7aBwjL2NfnRBjmq1nUGx6Uz/NfkU1VUWr ap+z27D0HP8cDhLnbC7sMJ/w3ZmGAWlLYx639S0PE9VZgNDacbBO6ECLMN9RPn6MjpKb LAriEOhsFWnQvMDmtr9y+vbTM+c+7cT1rZYqfx29+rkLbIflFF5y6o9LYVh9TeQHZ4YJ z//U1KcTVR1K9XQq1t+CScIR1HRR+1udDqftkyt5OQh8bhdVmZubHRQa+7R7pcaWZyw0 ZTl9riN8k5cPrd1Ya5llmGjRgKlezvTOevbyxBCSwTqKcRF9Mbt38UkSsGhwDgNXVpSn rK1Q== X-Forwarded-Encrypted: i=1; AFNElJ8TOdOnKfRgJNkt5KYhW7a/t6U3itS1J4RiNvIxJTK8cOp8xcYBUFXzBcdB9SIVqK90fWrdsJSdfj0fbUU=@vger.kernel.org X-Gm-Message-State: AOJu0YweyOB/eCRJ0nc3+FxDFm6flR4/BIPSMQHrHRiDBIkpz9p0CGXO L1VC5hfWChKTHLQS1t0oWvWlHLciq++72OMMkktrFn3pOnaLrQpqiv2U X-Gm-Gg: AeBDievxGDTjnhqenthk8B3pTj6n9tM5At2Xr5uKY7Z2uPgA7L/Bah/C1qbgEKl9zO2 JWVaUgNZQ6nfR1MxDlc00io87Q8+nAqZal/pp3ag36hAPCl8o9BB0HvTuJwYf4J2ovCxbcJvwG5 Ce08lNdCAPkgGKm4x4pPMH+GVKo2jNXqF8WkELDCLZhcth8Hhl13Ubzqz0sYs+0NbbnTzEvhO63 6wl5nsu+GL28YxjrVvwWUr9Lw3oQgrsllj1/Z4gAS3UdZbvI23vjo5/65mX1Y1mqU3dfyEfmeej wWnGEWm2E72ph0sqgZD1tFq5LbIdZeICUYnYEUY99qsePtxYB73cv7rDPo6NRBEsGnkFx50HEIQ OqGHfyZOl4qtqZuMPoFH/o7BLbAV2C7SkwExKfx3xynlnOK0Cb29CGQbpOEdSaejLUWWWpm5L+T ZD4LTiYfLA2CyGxaSytmVXFG0Ulg== X-Received: by 2002:a05:600c:4f53:b0:486:fb0b:ad79 with SMTP id 5b1f17b1804b1-48e51f4456cmr56620385e9.20.1778071018538; Wed, 06 May 2026 05:36:58 -0700 (PDT) Received: from ROG ([2a01:e11:202b:40:68b1:8d59:e348:c16e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48e530cf964sm31767485e9.1.2026.05.06.05.36.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 05:36:58 -0700 (PDT) From: Marco Scardovi To: mika.westerberg@intel.com Cc: mathias.nyman@intel.com, andriy.shevchenko@intel.com, linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Marco Scardovi Subject: [PATCH v2 2/3] [PATCH 2/3] gpio: acpi: modernize resource management using cleanup.h Date: Wed, 6 May 2026 14:35:35 +0200 Message-ID: <20260506123637.1077421-4-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> <20260506123637.1077421-1-mscardovi95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" --- drivers/gpio/gpiolib-acpi-core.c | 38 ++++++++++++-------------------- 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-c= ore.c index 7c17bffcd4e7..b6accbaba04d 100644 --- a/drivers/gpio/gpiolib-acpi-core.c +++ b/drivers/gpio/gpiolib-acpi-core.c @@ -410,31 +410,26 @@ static acpi_status acpi_gpiochip_alloc_event(struct a= cpi_resource *ares, =20 desc =3D acpi_request_own_gpiod(chip, agpio, 0, "ACPI:Event"); if (IS_ERR(desc)) { - dev_err(chip->parent, - "Failed to request GPIO for pin 0x%04X, err %pe\n", - pin, desc); + dev_err(chip->parent, "Failed to request GPIO for pin 0x%04X, err %pe\n"= , pin, desc); return AE_OK; } + desc_guard =3D desc; =20 ret =3D gpiochip_lock_as_irq(chip, pin); if (ret) { - dev_err(chip->parent, - "Failed to lock GPIO pin 0x%04X as interrupt, err %d\n", - pin, ret); - goto fail_free_desc; + dev_err(chip->parent, "Failed to lock GPIO pin 0x%04X as interrupt, err = %d\n", pin, ret); + return AE_OK; } =20 irq =3D gpiod_to_irq(desc); if (irq < 0) { - dev_err(chip->parent, - "Failed to translate GPIO pin 0x%04X to IRQ, err %d\n", - pin, irq); - goto fail_unlock_irq; + dev_err(chip->parent, "Failed to translate GPIO pin 0x%04X to IRQ, err %= d\n", pin, irq); + goto err_unlock; } =20 event =3D kzalloc_obj(*event); if (!event) - goto fail_unlock_irq; + goto err_unlock; =20 event->irqflags =3D IRQF_ONESHOT; if (agpio->triggering =3D=3D ACPI_LEVEL_SENSITIVE) { @@ -462,17 +457,15 @@ static acpi_status acpi_gpiochip_alloc_event(struct a= cpi_resource *ares, event->irq =3D irq; event->irq_is_wake =3D acpi_gpio_irq_is_wake(chip->parent, agpio); event->pin =3D pin; - event->desc =3D desc; + /* Transfer ownership to event, prevent auto-free */ + event->desc =3D no_free_ptr(desc_guard); =20 list_add_tail(&event->node, &acpi_gpio->events); =20 return AE_OK; =20 -fail_unlock_irq: +err_unlock: gpiochip_unlock_as_irq(chip, pin); -fail_free_desc: - gpiochip_free_own_desc(desc); - return AE_OK; } =20 @@ -1104,7 +1097,7 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physic= al_address address, struct acpi_gpio_chip *achip =3D region_context; struct gpio_chip *chip =3D achip->chip; struct acpi_resource_gpio *agpio; - struct acpi_resource *ares; + struct acpi_resource *ares __free(acpi_free) =3D NULL; u16 pin_index =3D address; acpi_status status; int length; @@ -1115,20 +1108,17 @@ acpi_gpio_adr_space_handler(u32 function, acpi_phys= ical_address address, if (ACPI_FAILURE(status)) return status; =20 - if (WARN_ON(ares->type !=3D ACPI_RESOURCE_TYPE_GPIO)) { - ACPI_FREE(ares); + if (WARN_ON(ares->type !=3D ACPI_RESOURCE_TYPE_GPIO)) return AE_BAD_PARAMETER; - } =20 agpio =3D &ares->data.gpio; =20 if (WARN_ON(agpio->io_restriction =3D=3D ACPI_IO_RESTRICT_INPUT && - function =3D=3D ACPI_WRITE)) { - ACPI_FREE(ares); + function =3D=3D ACPI_WRITE)) return AE_BAD_PARAMETER; - } =20 length =3D min(agpio->pin_table_length, pin_index + bits); + status =3D AE_OK; for (i =3D pin_index; i < length; ++i) { unsigned int pin =3D agpio->pin_table[i]; struct acpi_gpio_connection *conn; --=20 2.54.0 From nobody Sat Jun 13 16:24:52 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FB5744CAE6 for ; Wed, 6 May 2026 12:37:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778071026; cv=none; b=Pt+kXI8kBcLpZyY69uPRvxRclxknlhHvSDou7GpwFq1bLm0lqRJ2QsmQfGo+DJoj/XIwFXYTRlijR9rRUMolszfPuS0ZoPgRgYi6BB9roEB4FHzuG0wC8rcPYrh3eJSuFKYcVCjlbWDhnZpKX8oFaPMEI2oSHuevzvJxLPTJR9w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778071026; c=relaxed/simple; bh=MtVKX0+/RgsoWzLc/ouyVcU1ubZM16+m3j5A53wkB4s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f8O7gvWQ2K1B9cfbWpu8QtcvlG4ELzwAzSrcZqCq4XukWTBpToAYeYCBKYqyzj1rTIJmlC7sPrV7cZlgBS+g4gGJBeNAKiKcrwdYYTcN8qxI++JWdx89rP8z+bQkgDpP3uhb92/U8Y2tS7aUECN1SytMM3lEFrJQIhQ/ESYU3TA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YE5oi6+B; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YE5oi6+B" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-488ad135063so60406105e9.0 for ; Wed, 06 May 2026 05:37:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778071019; x=1778675819; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=y4fhAWXiUtHh50/c6yGRrCeHmG4RlLuqrhdgBtX1yOM=; b=YE5oi6+BFzVcPSzvAXmQoMtRJwmvQRMxm8sLZABSCNP4N3+paiXPrVGdVySgfsrmtZ vsMNDtpi+nShPImkP2m76/OdvbEdfCZZ3Z1dK09N1d6FauV6tvzfNl0low6bqF0kWlWb vxX13sywOv6HmXC+qY9CAXWFcu4fxQLBuCu+qzHYK5WVFt9tdqFja9x7HVQSywGVLpo0 6ua2A+yygYoLti8+3uwzWbNOzpsEcaW0WY3d6GbpaUoYwEoNyA63gVq0Z5zDTPPf//8W KS4P9xOBfFRmwstC2AE/woS8spwQFFZWzRBaQS9wCUyP3cfk337jJcyAUUuwYTluVM7E qWVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778071019; x=1778675819; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=y4fhAWXiUtHh50/c6yGRrCeHmG4RlLuqrhdgBtX1yOM=; b=lVGMSj0t/DflZm5S0PMQPQJBlxXFQdfe9sZUCX1SdXGHagj8tHIArxTFesc7BCGU59 NMykRFRFsH3SAzX3jKgQRKbA1RCmNZselaCnS17jL3Q3O2nk3v62jiSFTinQx73EB8W7 QMIk9lEEmR7WsYouofhRN4IB+UoMIWid3QIJpEo2sWpx15V80z95GRvOerwm42Pk/Rbx bH5uas1/FSOGQQejFMKQ9M5pnTAE2NqlKynTwIdkXhnTYDoe6mvP67Lb9dE6Uzs9tKgM czAcqtC2X1CeB+1P674BTQ1sakp1xRlKQ0YQVkQn/j6AELbu5vlZBBqOlGw7JZPIBWH5 ms7w== X-Forwarded-Encrypted: i=1; AFNElJ9kg+HQLcsN9jGyV+/Mpqqmqa6PEJ/4Nd4YOpd/UG+GZKkdoAoEFtpsKCANgOMzR7hgqWEpT4zYg0JJ7+4=@vger.kernel.org X-Gm-Message-State: AOJu0Yx7++JXqckD3FaP6L+g92e+KHNnXUPh9QTONWi7f0BhzIZYppFf NnfjRQFjR4hd00wLATworVUUVOVR6gQwqpg8kAiHhdXXyjODa8gT+464 X-Gm-Gg: AeBDievUUKKhTV9cyk1XHW/3LxV9aZq2gt+WbE9txRzYWKWRRASHPqla8SPUR4xEHgS lRi2V7KEdjjS7k4fz0ohlqbqjOu7mfVGCYbiGV82k2OJ1WpAjIozeAbe2wZg8TbzZ6xmz1wqqd6 xwrOc4eCYztWjQtQio7nynBOcWATWQGSQ0awLQKO8qhjVTywEgiDz06zcEaXg5BSZ6GHlsJIqs9 wZjR9zYvk2MiJ/tiZbLcPhhIbsKDR33rAKixmeR1MMhEqLmwwFo9YUWTHDzvbHeIss5TIn8ZKFC 6sTyCpiDWNbQWTeKkaBD7PjFjnme/UaEvKiySGzqKYZ3+vtPytvFaL7OkFku7z75xJE/jv8Rs06 FxYVWvsRQ+z/xioj3rveF1p5Q8xTvHhIsCcJ0N0K16s8Q4QDQpMwLuudFm7bJg03oqQzNCLxShU sg0Zy42dqN9lgWJdiJqoDpDa+yFw== X-Received: by 2002:a05:600c:8485:b0:488:af7f:775f with SMTP id 5b1f17b1804b1-48e51f32a64mr60865175e9.18.1778071019394; Wed, 06 May 2026 05:36:59 -0700 (PDT) Received: from ROG ([2a01:e11:202b:40:68b1:8d59:e348:c16e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48e530cf964sm31767485e9.1.2026.05.06.05.36.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 05:36:59 -0700 (PDT) From: Marco Scardovi To: mika.westerberg@intel.com Cc: mathias.nyman@intel.com, andriy.shevchenko@intel.com, linux-gpio@vger.kernel.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, Marco Scardovi Subject: [PATCH v2 3/3] [PATCH 3/3] gpio: acpi: modernize resource management using cleanup.h Date: Wed, 6 May 2026 14:35:36 +0200 Message-ID: <20260506123637.1077421-5-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> <20260506123637.1077421-1-mscardovi95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" --- drivers/gpio/gpiolib-acpi-core.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/gpio/gpiolib-acpi-core.c b/drivers/gpio/gpiolib-acpi-c= ore.c index b6accbaba04d..7b6476b90f13 100644 --- a/drivers/gpio/gpiolib-acpi-core.c +++ b/drivers/gpio/gpiolib-acpi-core.c @@ -1126,7 +1126,7 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physic= al_address address, u16 word, shift; bool found; =20 - mutex_lock(&achip->conn_lock); + guard(mutex)(&achip->conn_lock); =20 found =3D false; list_for_each_entry(conn, &achip->conns, node) { @@ -1158,17 +1158,15 @@ acpi_gpio_adr_space_handler(u32 function, acpi_phys= ical_address address, if (!found) { desc =3D acpi_request_own_gpiod(chip, agpio, i, "ACPI:OpRegion"); if (IS_ERR(desc)) { - mutex_unlock(&achip->conn_lock); status =3D AE_ERROR; - goto out; + break; } =20 conn =3D kzalloc_obj(*conn); if (!conn) { gpiochip_free_own_desc(desc); - mutex_unlock(&achip->conn_lock); status =3D AE_NO_MEMORY; - goto out; + break; } =20 conn->pin =3D pin; @@ -1176,8 +1174,6 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physic= al_address address, list_add_tail(&conn->node, &achip->conns); } =20 - mutex_unlock(&achip->conn_lock); - /* * For the cases when OperationRegion() consists of more than * 64 bits calculate the word and bit shift to use that one to @@ -1196,8 +1192,6 @@ acpi_gpio_adr_space_handler(u32 function, acpi_physic= al_address address, } } =20 -out: - ACPI_FREE(ares); return status; } =20 --=20 2.54.0