* [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args
@ 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
0 siblings, 1 reply; 5+ messages in thread
From: Sakari Ailus @ 2023-11-02 10:12 UTC (permalink / raw)
To: linux-acpi
Cc: andriy.shevchenko, Daniel Scally, Heikki Krogerus,
Rafael J. Wysocki
Hi all,
The of_parse_phandle_with_args() accepts NULL args but
fwnode_property_get_reference_args() does not currently, in its ACPI or
software node implementations. Fix this.
since v2:
- Correct fwnode_property_get_reference_args() name (was
fwnode_property_get_reference()) in commit messages.
since v1:
- Applies to Rafael's devprop branch now (i.e. not on top of DisCo for
Imaging set).
- Add Fixes: tags.
- Small documentation line wrap change in the first patch.
Sakari Ailus (3):
acpi: property: Let args be NULL in __acpi_node_get_property_reference
software node: Let args be NULL in software_node_get_reference_args
device property: fwnode_property_get_reference_args allows NULL args
now
drivers/acpi/property.c | 7 +++++--
drivers/base/property.c | 1 +
drivers/base/swnode.c | 3 +++
3 files changed, 9 insertions(+), 2 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference
2023-11-02 10:12 [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args Sakari Ailus
@ 2023-11-02 10:12 ` Sakari Ailus
0 siblings, 0 replies; 5+ messages in thread
From: Sakari Ailus @ 2023-11-02 10:12 UTC (permalink / raw)
To: linux-acpi
Cc: andriy.shevchenko, Daniel Scally, Heikki Krogerus,
Rafael J. Wysocki
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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args
@ 2023-11-02 10:13 Sakari Ailus
2023-11-02 10:13 ` [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference Sakari Ailus
0 siblings, 1 reply; 5+ messages in thread
From: Sakari Ailus @ 2023-11-02 10:13 UTC (permalink / raw)
To: linux-acpi
Cc: andriy.shevchenko, Daniel Scally, Heikki Krogerus,
Rafael J. Wysocki
Hi all,
The of_parse_phandle_with_args() accepts NULL args but
fwnode_property_get_reference_args() does not currently, in its ACPI or
software node implementations. Fix this.
since v2:
- Correct fwnode_property_get_reference_args() name (was
fwnode_property_get_reference()) in commit messages.
since v1:
- Applies to Rafael's devprop branch now (i.e. not on top of DisCo for
Imaging set).
- Add Fixes: tags.
- Small documentation line wrap change in the first patch.
Sakari Ailus (3):
acpi: property: Let args be NULL in __acpi_node_get_property_reference
software node: Let args be NULL in software_node_get_reference_args
device property: fwnode_property_get_reference_args allows NULL args
now
drivers/acpi/property.c | 7 +++++--
drivers/base/property.c | 1 +
drivers/base/swnode.c | 3 +++
3 files changed, 9 insertions(+), 2 deletions(-)
--
2.39.2
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference
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
2023-11-02 13:12 ` Andy Shevchenko
0 siblings, 1 reply; 5+ messages in thread
From: Sakari Ailus @ 2023-11-02 10:13 UTC (permalink / raw)
To: linux-acpi
Cc: andriy.shevchenko, Daniel Scally, Heikki Krogerus,
Rafael J. Wysocki
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
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference
2023-11-02 10:13 ` [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference Sakari Ailus
@ 2023-11-02 13:12 ` Andy Shevchenko
2023-11-02 13:20 ` Sakari Ailus
0 siblings, 1 reply; 5+ messages in thread
From: Andy Shevchenko @ 2023-11-02 13:12 UTC (permalink / raw)
To: Sakari Ailus
Cc: linux-acpi, Daniel Scally, Heikki Krogerus, Rafael J. Wysocki
On Thu, Nov 02, 2023 at 12:13:14PM +0200, Sakari Ailus wrote:
> 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.
...
> - args->fwnode = acpi_fwnode_handle(device);
> - args->nargs = 0;
> + if (args) {
> + args->fwnode = acpi_fwnode_handle(device);
> + args->nargs = 0;
> + }
> return 0;
In swnode case you used
if (!args)
return 0;
approach. Why not here? It also makes diff cleaner, no?
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference
2023-11-02 13:12 ` Andy Shevchenko
@ 2023-11-02 13:20 ` Sakari Ailus
0 siblings, 0 replies; 5+ messages in thread
From: Sakari Ailus @ 2023-11-02 13:20 UTC (permalink / raw)
To: Andy Shevchenko
Cc: linux-acpi, Daniel Scally, Heikki Krogerus, Rafael J. Wysocki
Hi Andy,
On Thu, Nov 02, 2023 at 03:12:29PM +0200, Andy Shevchenko wrote:
> On Thu, Nov 02, 2023 at 12:13:14PM +0200, Sakari Ailus wrote:
> > 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.
>
> ...
>
> > - args->fwnode = acpi_fwnode_handle(device);
> > - args->nargs = 0;
> > + if (args) {
> > + args->fwnode = acpi_fwnode_handle(device);
> > + args->nargs = 0;
> > + }
> > return 0;
>
> In swnode case you used
>
> if (!args)
> return 0;
>
> approach. Why not here? It also makes diff cleaner, no?
I'll do that here, too.
--
Sakari Ailus
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-11-02 13:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-02 10:12 [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args 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
-- strict thread matches above, loose matches on Subject: below --
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 ` [PATCH v3 1/3] acpi: property: Let args be NULL in __acpi_node_get_property_reference Sakari Ailus
2023-11-02 13:12 ` Andy Shevchenko
2023-11-02 13:20 ` Sakari Ailus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox