[PATCHv2 4/4] memory: fsl_ifc: drop simple-bus emulation
From: Rosen Penev
Date: Tue Jul 21 2026 - 16:53:15 EST
of_platform_default_populate() in fsl_ifc_ctrl_probe() was a workaround
for legacy device trees that lacked "simple-bus" on the IFC node.
Commit 103478597591 ("powerpc/85xx: Add fsl,ifc to common device ids")
ensures the IFC node is populated as a platform device via
of_platform_bus_probe(), so the driver no longer needs to manually
populate its children -- they are handled by their own dedicated
drivers (NAND, NOR, etc.) matching on their own compatibles.
Drop the of_platform_default_populate() call and the corresponding
of_platform_depopulate() in fsl_ifc_ctrl_remove(), which is now dead
code and can be removed entirely.
Assisted-by: opencode:big-pickle
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
drivers/memory/fsl_ifc.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/memory/fsl_ifc.c b/drivers/memory/fsl_ifc.c
index 7fea6a356b55..c591b89a1dd4 100644
--- a/drivers/memory/fsl_ifc.c
+++ b/drivers/memory/fsl_ifc.c
@@ -15,7 +15,6 @@
#include <linux/slab.h>
#include <linux/io.h>
#include <linux/of.h>
-#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/fsl_ifc.h>
#include <linux/irqdomain.h>
@@ -84,11 +83,6 @@ static int fsl_ifc_ctrl_init(struct fsl_ifc_ctrl *ctrl)
return 0;
}
-static void fsl_ifc_ctrl_remove(struct platform_device *dev)
-{
- of_platform_depopulate(&dev->dev);
-}
-
/*
* NAND events are split between an operational interrupt which only
* receives OPC, and an error interrupt that receives everything else,
@@ -270,8 +264,7 @@ static int fsl_ifc_ctrl_probe(struct platform_device *dev)
return ret;
}
- /* legacy dts may still use "simple-bus" compatible */
- return of_platform_default_populate(dev->dev.of_node, NULL, &dev->dev);
+ return 0;
}
static const struct of_device_id fsl_ifc_match[] = {
@@ -287,7 +280,6 @@ static struct platform_driver fsl_ifc_ctrl_driver = {
.of_match_table = fsl_ifc_match,
},
.probe = fsl_ifc_ctrl_probe,
- .remove = fsl_ifc_ctrl_remove,
};
static int __init fsl_ifc_init(void)
--
2.55.0