mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
iommu/fsl: use platform_device_set_of_node()
Ahead of reworking the reference counting logic for platform devices, encapsulate the assignment of the OF node for dynamically allocated platform devices with the provided helper. Acked-by: Robin Murphy <robin.murphy@arm.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://patch.msgid.link/20260706-pdev-fwnode-ref-v3-9-1ff028e33779@oss.qualcomm.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
34934e7cd1
commit
6fc33ee89d
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include "fsl_pamu.h"
|
||||
|
||||
#include <linux/cleanup.h>
|
||||
#include <linux/fsl/guts.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/genalloc.h>
|
||||
|
|
@ -933,7 +934,6 @@ static struct platform_driver fsl_of_pamu_driver = {
|
|||
static __init int fsl_pamu_init(void)
|
||||
{
|
||||
struct platform_device *pdev = NULL;
|
||||
struct device_node *np;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
|
|
@ -955,7 +955,8 @@ static __init int fsl_pamu_init(void)
|
|||
* PAMU node would require significant changes to a lot of code.
|
||||
*/
|
||||
|
||||
np = of_find_compatible_node(NULL, NULL, "fsl,pamu");
|
||||
struct device_node *np __free(device_node) =
|
||||
of_find_compatible_node(NULL, NULL, "fsl,pamu");
|
||||
if (!np) {
|
||||
pr_err("could not find a PAMU node\n");
|
||||
return -ENODEV;
|
||||
|
|
@ -964,7 +965,7 @@ static __init int fsl_pamu_init(void)
|
|||
ret = platform_driver_register(&fsl_of_pamu_driver);
|
||||
if (ret) {
|
||||
pr_err("could not register driver (err=%i)\n", ret);
|
||||
goto error_driver_register;
|
||||
return ret;
|
||||
}
|
||||
|
||||
pdev = platform_device_alloc("fsl-of-pamu", 0);
|
||||
|
|
@ -973,7 +974,8 @@ static __init int fsl_pamu_init(void)
|
|||
ret = -ENOMEM;
|
||||
goto error_device_alloc;
|
||||
}
|
||||
pdev->dev.of_node = of_node_get(np);
|
||||
|
||||
platform_device_set_of_node(pdev, np);
|
||||
|
||||
ret = pamu_domain_init();
|
||||
if (ret)
|
||||
|
|
@ -988,17 +990,11 @@ static __init int fsl_pamu_init(void)
|
|||
return 0;
|
||||
|
||||
error_device_add:
|
||||
of_node_put(pdev->dev.of_node);
|
||||
pdev->dev.of_node = NULL;
|
||||
|
||||
platform_device_put(pdev);
|
||||
|
||||
error_device_alloc:
|
||||
platform_driver_unregister(&fsl_of_pamu_driver);
|
||||
|
||||
error_driver_register:
|
||||
of_node_put(np);
|
||||
|
||||
return ret;
|
||||
}
|
||||
arch_initcall(fsl_pamu_init);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user