[{"id":3688674,"web_url":"http://patchwork.ozlabs.org/comment/3688674/","msgid":"<CAJZ5v0i+2C2FNHGnXFUTkrovcckiesrowggjmwtCkP53nbTCGQ@mail.gmail.com>","list_archive_url":null,"date":"2026-05-08T18:40:23","subject":"Re: [PATCH v4 1/6] ACPI: Move DEFINE_FREE(acpi_free) to global header","submitter":{"id":64267,"url":"http://patchwork.ozlabs.org/api/people/64267/","name":"Rafael J. Wysocki","email":"rafael@kernel.org"},"content":"On Fri, May 8, 2026 at 8:18 AM Marco Scardovi <mscardovi95@gmail.com> wrote:\n>\n> Introduce DEFINE_FREE(acpi_free) in include/linux/acpi.h to provide\n> a standard way to perform automated memory deallocation for ACPI\n> objects. This enables the use of the __free(acpi_free) attribute\n> wherever ACPI_FREE() is required.\n\nThis goes a bit overboard because the objects needing ACPI_FREE() for\nfreeing are most of the time allocated in a way that precludes using\n__free().\n\nNote that you are expected to initialize the pointer at declaration\ntime when using __free() and that cannot be done with objects\nallocated by ACPICA code in many cases.\n\n> Signed-off-by: Marco Scardovi <mscardovi95@gmail.com>\n> ---\n>  include/linux/acpi.h | 2 ++\n>  1 file changed, 2 insertions(+)\n>\n> diff --git a/include/linux/acpi.h b/include/linux/acpi.h\n> index 67effb91fa98..f58e704ee850 100644\n> --- a/include/linux/acpi.h\n> +++ b/include/linux/acpi.h\n> @@ -234,6 +234,8 @@ static inline struct acpi_table_header *acpi_get_table_pointer(char *signature,\n>  }\n>  DEFINE_FREE(acpi_put_table, struct acpi_table_header *, if (!IS_ERR_OR_NULL(_T)) acpi_put_table(_T))\n>\n> +DEFINE_FREE(acpi_free, void *, if (_T) ACPI_FREE(_T))\n> +\n>  int acpi_table_parse(char *id, acpi_tbl_table_handler handler);\n>  int __init_or_acpilib acpi_table_parse_entries(char *id,\n>                 unsigned long table_size, int entry_id,\n> --\n> 2.54.0\n>\n>","headers":{"Return-Path":"\n <linux-gpio+bounces-36477-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=f/a/U/zy;\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-36477-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=\"f/a/U/zy\"","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 4gByc94PVVz1yKd\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 09 May 2026 04:40:41 +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 D9756301E7F5\n\tfor <incoming@patchwork.ozlabs.org>; Fri,  8 May 2026 18:40:38 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id AB32A3E3C4B;\n\tFri,  8 May 2026 18:40:37 +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 593BD3DA5CF\n\tfor <linux-gpio@vger.kernel.org>; Fri,  8 May 2026 18:40:37 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 3D20BC2BCF5\n\tfor <linux-gpio@vger.kernel.org>; Fri,  8 May 2026 18:40:37 +0000 (UTC)","by mail-lf1-f50.google.com with SMTP id\n 2adb3069b0e04-5a884ebba7dso2359802e87.0\n        for <linux-gpio@vger.kernel.org>;\n Fri, 08 May 2026 11:40:37 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778265637; cv=none;\n b=YFy/dxnPL8Yl3y30htbNsnGNVaLRNnJKTtkcmATIZcUqWRcc5N8Ho7gmsV433S9cwvpXOsQBvlLle1lBbsTy7MwBj0XZU7ESkYImq2z2s3FQVQfpfVek+1DKQeyx9MkeJnzwNS2fsDnoZRGtEsOfYl4eANe9CVaceyRgw10GEDU=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778265637; c=relaxed/simple;\n\tbh=ZpEY0I24w2UWe9UlEcvuM6WpiyJkrfGGvZVUiOMyjmw=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=EhUjZ03ZRoJZXY0gu0/oF2w7myIxca+v2VBnEZLqafWPI8oQizn8sNoQrO8oAE5PaPRp67W5r6kiVOCIaVg46Jbni1FGMD2kwC7R0o5Y207BT4YnUrX4Q/y2JQD8ZrivKdlWD7ckWXxLGo2Nle7ceH0oq8vFMPrnHWtGSqkuv9E=","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=f/a/U/zy; 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=1778265637;\n\tbh=ZpEY0I24w2UWe9UlEcvuM6WpiyJkrfGGvZVUiOMyjmw=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=f/a/U/zy9BdRinw+Yzbg+65eXe74uiFCvqoZpTud7F81EvgtHEroNYSfJ+oGcUYWc\n\t 2mwREcSxT7C9iyieD2xUDKuIxfl4/lQ6MRNK3zCTgJ8nIk8ldJlm4VqdiE/OSE0qTz\n\t XbfqKNccSsItzhFJ8OQlL4zze3BvQZoq7FiPW9qTFTWr3gHrejdNsEDjC0qTlma9zt\n\t fzEIEvpDnFjDy/67FoGQF+5MzTwU6h26Nyd5FwGZ1+R4GbNw9Sg3snF0MkSVPBk4tr\n\t 7NmBZxR/w39TZfnqzR0kE61GaTyJR+BQS6MgB8Bgb0IvT/MNFzJm9QR19D4SSqT0hu\n\t uTAVWs/80jw9Q==","X-Forwarded-Encrypted":"i=1;\n AFNElJ9qCbiWl7S96J6/xmftDEJNjdhx1uzM1ktriZBdoOBLq7yn7cdC1CyKsJ9WiYzdREkLJBjyHXvS032d@vger.kernel.org","X-Gm-Message-State":"AOJu0YwukeWbapp66T6yhdQRGWmryb7cKDlY+jKu95PKEiJfmKIfG/N0\n\t0zFx1BXO6Pgld1rU0BjaPjKWrxiievbUyYbFER1Dek0PMcfKV0L8Jpq0KK9srviPOIrwTnOLj2V\n\tT9s3IFCWyV0o1SPkMZSkDGmplPl7hw3E=","X-Received":"by 2002:ac2:4c48:0:b0:5a8:6e82:6840 with SMTP id\n 2adb3069b0e04-5a887cde953mr6771548e87.20.1778265635627; Fri, 08 May 2026\n 11:40:35 -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":"<afzlsRkyKQzuUcgL@ashevche-desk.local>\n <20260508061729.9530-1-mscardovi95@gmail.com>\n <20260508061729.9530-2-mscardovi95@gmail.com>","In-Reply-To":"<20260508061729.9530-2-mscardovi95@gmail.com>","From":"\"Rafael J. Wysocki\" <rafael@kernel.org>","Date":"Fri, 8 May 2026 20:40:23 +0200","X-Gmail-Original-Message-ID":"\n <CAJZ5v0i+2C2FNHGnXFUTkrovcckiesrowggjmwtCkP53nbTCGQ@mail.gmail.com>","X-Gm-Features":"AVHnY4Lv61LjMQHJXiLQsQ5q55zhXaEliW8katNGvwp01VXUxd-fCCxTTaynOb0","Message-ID":"\n <CAJZ5v0i+2C2FNHGnXFUTkrovcckiesrowggjmwtCkP53nbTCGQ@mail.gmail.com>","Subject":"Re: [PATCH v4 1/6] ACPI: Move DEFINE_FREE(acpi_free) to global header","To":"Marco Scardovi <mscardovi95@gmail.com>","Cc":"andriy.shevchenko@intel.com, linux-acpi@vger.kernel.org,\n\tlinux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,\n\tmathias.nyman@intel.com, mika.westerberg@intel.com","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable"}}]