2021-12-07 15:41:44

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/1] thunderbolt: Do not dereference fwnode in struct device

In order to make the underneath API easier to change in the future,
prevent users from dereferencing fwnode from struct device.
Instead, use the specific dev_fwnode() API for that.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/thunderbolt/acpi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thunderbolt/acpi.c b/drivers/thunderbolt/acpi.c
index b67e72d5644b..861d0fafb1d9 100644
--- a/drivers/thunderbolt/acpi.c
+++ b/drivers/thunderbolt/acpi.c
@@ -31,7 +31,7 @@ static acpi_status tb_acpi_add_link(acpi_handle handle, u32 level, void *data,
return AE_OK;

/* It needs to reference this NHI */
- if (nhi->pdev->dev.fwnode != args.fwnode)
+ if (dev_fwnode(&nhi->pdev->dev) != args.fwnode)
goto out_put;

/*
--
2.33.0



2021-12-07 15:50:34

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] thunderbolt: Do not dereference fwnode in struct device

On Tue, Dec 07, 2021 at 05:41:43PM +0200, Andy Shevchenko wrote:
> In order to make the underneath API easier to change in the future,
> prevent users from dereferencing fwnode from struct device.
> Instead, use the specific dev_fwnode() API for that.

...

> /* It needs to reference this NHI */
> - if (nhi->pdev->dev.fwnode != args.fwnode)
> + if (dev_fwnode(&nhi->pdev->dev) != args.fwnode)

Alternatively:

if (!device_match_fwnode(&nhi->pdev->dev, args.fwnode))

Tell me. which one you prefer.

> goto out_put;

--
With Best Regards,
Andy Shevchenko



2021-12-08 10:26:21

by Mika Westerberg

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] thunderbolt: Do not dereference fwnode in struct device

On Tue, Dec 07, 2021 at 05:41:43PM +0200, Andy Shevchenko wrote:
> In order to make the underneath API easier to change in the future,
> prevent users from dereferencing fwnode from struct device.
> Instead, use the specific dev_fwnode() API for that.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

This version is fine. Applied to thunderbolt.git/next, thanks!