* [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
` (3 more replies)
0 siblings, 4 replies; 8+ 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] 8+ 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
2023-11-02 10:13 ` [PATCH v3 2/3] software node: Let args be NULL in software_node_get_reference_args Sakari Ailus
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ messages in thread
* [PATCH v3 2/3] software node: Let args be NULL in software_node_get_reference_args
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 10:13 ` 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
3 siblings, 0 replies; 8+ 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 and while OF already supports this. Add the missing NULL check.
The purpose is to be able to count the references.
Fixes: b06184acf751 ("software node: Add software_node_get_reference_args()")
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
drivers/base/swnode.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/base/swnode.c b/drivers/base/swnode.c
index 1886995a0b3a..079bd14bdedc 100644
--- a/drivers/base/swnode.c
+++ b/drivers/base/swnode.c
@@ -541,6 +541,9 @@ software_node_get_reference_args(const struct fwnode_handle *fwnode,
if (nargs > NR_FWNODE_REFERENCE_ARGS)
return -EINVAL;
+ if (!args)
+ return 0;
+
args->fwnode = software_node_get(refnode);
args->nargs = nargs;
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v3 3/3] device property: fwnode_property_get_reference_args allows NULL args now
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 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 ` Sakari Ailus
2023-11-02 13:13 ` [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args Andy Shevchenko
3 siblings, 0 replies; 8+ 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
All three fwnode_property_get_reference_args() implemantations now allow
args argument to be NULL. Document this.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
drivers/base/property.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/base/property.c b/drivers/base/property.c
index 8c40abed7852..8667b13639d2 100644
--- a/drivers/base/property.c
+++ b/drivers/base/property.c
@@ -508,6 +508,7 @@ EXPORT_SYMBOL_GPL(fwnode_property_match_string);
* @nargs: Number of arguments. Ignored if @nargs_prop is non-NULL.
* @index: Index of the reference, from zero onwards.
* @args: Result structure with reference and integer arguments.
+ * May be NULL.
*
* Obtain a reference based on a named property in an fwnode, with
* integer arguments.
--
2.39.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args
2023-11-02 10:13 [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args Sakari Ailus
` (2 preceding siblings ...)
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 ` Andy Shevchenko
3 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2023-11-02 13:13 UTC (permalink / raw)
To: Sakari Ailus
Cc: linux-acpi, Daniel Scally, Heikki Krogerus, Rafael J. Wysocki
On Thu, Nov 02, 2023 at 12:13:13PM +0200, Sakari Ailus wrote:
> 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.
One nit in the first patch, otherwise LGTM,
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 0/3] Make fwnode_property_get_reference_args accept NULL args
@ 2023-11-02 10:12 Sakari Ailus
0 siblings, 0 replies; 8+ 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] 8+ messages in thread
end of thread, other threads:[~2023-11-02 13:20 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox