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 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference
Date: Wed,  1 Nov 2023 11:07:35 +0200	[thread overview]
Message-ID: <20231101090737.1148303-2-sakari.ailus@linux.intel.com> (raw)
In-Reply-To: <20231101090737.1148303-1-sakari.ailus@linux.intel.com>

fwnode_get_property_reference() 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.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 drivers/acpi/property.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c
index d60ee0510311..fa473fc2617b 100644
--- a/drivers/acpi/property.c
+++ b/drivers/acpi/property.c
@@ -879,7 +879,8 @@ static struct fwnode_handle *acpi_parse_string_ref(const struct fwnode_handle *f
  * @propname: Name of the property
  * @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
+ * @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
@@ -937,8 +938,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_STRING:
@@ -949,8 +952,10 @@ int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
 		if (!ref_fwnode)
 			return -EINVAL;
 
-		args->fwnode = ref_fwnode;
-		args->nargs = 0;
+		if (args) {
+			args->fwnode = ref_fwnode;
+			args->nargs = 0;
+		}
 
 		return 0;
 	case ACPI_TYPE_PACKAGE:
-- 
2.39.2


  reply	other threads:[~2023-11-01  9:07 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-01  9:07 [PATCH 0/3] Make fwnode_property_get_reference_args accept NULL args Sakari Ailus
2023-11-01  9:07 ` Sakari Ailus [this message]
2023-11-01  9:52   ` [PATCH 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference Andy Shevchenko
2023-11-01  9:07 ` [PATCH 2/3] software node: Let args be NULL in software_node_get_reference_args Sakari Ailus
2023-11-01  9:07 ` [PATCH 3/3] device property: fwnode_property_get_reference allows NULL args now Sakari Ailus
2023-11-01  9:51 ` [PATCH 0/3] Make fwnode_property_get_reference_args accept NULL args Andy Shevchenko
2023-11-01 10:05   ` Sakari Ailus
2023-11-02 12:59     ` Andy Shevchenko
2023-11-01 10:11   ` Sakari Ailus
2023-11-01 18:01     ` Rafael J. Wysocki
2023-11-01 20:28       ` 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=20231101090737.1148303-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