Linux ACPI
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@linux.intel.com>
To: linux-acpi@vger.kernel.org
Cc: andriy.shevchenko@linux.intel.com,
	Daniel Scally <djrscally@gmail.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>
Subject: [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference
Date: Thu,  2 Nov 2023 12:13:14 +0200	[thread overview]
Message-ID: <20231102101316.1186215-2-sakari.ailus@linux.intel.com> (raw)
In-Reply-To: <20231102101316.1186215-1-sakari.ailus@linux.intel.com>

fwnode_get_property_reference_args() may not be called with args argument
NULL on ACPI, OF already supports this. Add the missing NULL checks and
document this.

The purpose is to be able to count the references.

Fixes: 977d5ad39f3e ("ACPI: Convert ACPI reference args to generic fwnode reference args")
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 drivers/acpi/property.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c
index 413e4fcadcaf..9ff24d9c19f1 100644
--- a/drivers/acpi/property.c
+++ b/drivers/acpi/property.c
@@ -851,6 +851,7 @@ static int acpi_get_ref_args(struct fwnode_reference_args *args,
  * @index: Index of the reference to return
  * @num_args: Maximum number of arguments after each reference
  * @args: Location to store the returned reference with optional arguments
+ *	  (may be NULL)
  *
  * Find property with @name, verifify that it is a package containing at least
  * one object reference and if so, store the ACPI device object pointer to the
@@ -907,8 +908,10 @@ int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
 		if (!device)
 			return -EINVAL;
 
-		args->fwnode = acpi_fwnode_handle(device);
-		args->nargs = 0;
+		if (args) {
+			args->fwnode = acpi_fwnode_handle(device);
+			args->nargs = 0;
+		}
 		return 0;
 	case ACPI_TYPE_PACKAGE:
 		/*
-- 
2.39.2


  reply	other threads:[~2023-11-02 10:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-02 10:13 [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args Sakari Ailus
2023-11-02 10:13 ` Sakari Ailus [this message]
2023-11-02 13:12   ` [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference Andy Shevchenko
2023-11-02 13:20     ` Sakari Ailus
2023-11-02 10:13 ` [PATCH v3 2/3] software node: Let args be NULL in software_node_get_reference_args Sakari Ailus
2023-11-02 10:13 ` [PATCH v3 3/3] device property: fwnode_property_get_reference_args allows NULL args now Sakari Ailus
2023-11-02 13:13 ` [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args Andy Shevchenko
  -- strict thread matches above, loose matches on Subject: below --
2023-11-02 10:12 Sakari Ailus
2023-11-02 10:12 ` [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference Sakari Ailus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231102101316.1186215-2-sakari.ailus@linux.intel.com \
    --to=sakari.ailus@linux.intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=djrscally@gmail.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox