* [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource()
@ 2026-07-14 23:46 Rosen Penev
2026-07-16 4:00 ` Frank Li
0 siblings, 1 reply; 7+ messages in thread
From: Rosen Penev @ 2026-07-14 23:46 UTC (permalink / raw)
To: linux-edac
Cc: Frank Li, Borislav Petkov, Tony Luck, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt,
open list:EDAC-FSL_DDR, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
Replace the open-coded of_address_to_resource() plus devm_request_mem_region()
and devm_ioremap() sequence with devm_platform_ioremap_resource(), which folds
the resource lookup, region reservation and mapping into one step and returns
an ERR_PTR checked with IS_ERR()/PTR_ERR().
Behaviorally equivalent with respect to region reservation: the driver
already reserved the region, so the non-overlapping reg requirement was
already satisfied. Drop the now-unused linux/of_address.h include.
Built for arm64 (defconfig + CONFIG_EDAC_FSL_DDR) with LLVM=1;
drivers/edac/fsl_ddr_edac.o compiles cleanly.
Assisted-by: opencode:hy3-free
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/edac/fsl_ddr_edac.c | 30 ++++++------------------------
1 file changed, 6 insertions(+), 24 deletions(-)
diff --git a/drivers/edac/fsl_ddr_edac.c b/drivers/edac/fsl_ddr_edac.c
index b27dff96aeb6..ae1d54434e38 100644
--- a/drivers/edac/fsl_ddr_edac.c
+++ b/drivers/edac/fsl_ddr_edac.c
@@ -22,7 +22,6 @@
#include <linux/gfp.h>
#include <linux/of.h>
-#include <linux/of_address.h>
#include "edac_module.h"
#include "fsl_ddr_edac.h"
@@ -495,11 +494,15 @@ int fsl_mc_err_probe(struct platform_device *op)
struct mem_ctl_info *mci;
struct edac_mc_layer layers[2];
struct fsl_mc_pdata *pdata;
- struct resource r;
+ void __iomem *mc_vbase;
u32 ecc_en_mask;
u32 sdram_ctl;
int res;
+ mc_vbase = devm_platform_ioremap_resource(op, 0);
+ if (IS_ERR(mc_vbase))
+ return PTR_ERR(mc_vbase);
+
if (!devres_open_group(&op->dev, fsl_mc_err_probe, GFP_KERNEL))
return -ENOMEM;
@@ -531,28 +534,7 @@ int fsl_mc_err_probe(struct platform_device *op)
* Default is big endian.
*/
pdata->little_endian = of_property_read_bool(op->dev.of_node, "little-endian");
-
- res = of_address_to_resource(op->dev.of_node, 0, &r);
- if (res) {
- pr_err("%s: Unable to get resource for MC err regs\n",
- __func__);
- goto err;
- }
-
- if (!devm_request_mem_region(&op->dev, r.start, resource_size(&r),
- pdata->name)) {
- pr_err("%s: Error while requesting mem region\n",
- __func__);
- res = -EBUSY;
- goto err;
- }
-
- pdata->mc_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r));
- if (!pdata->mc_vbase) {
- pr_err("%s: Unable to setup MC err regs\n", __func__);
- res = -ENOMEM;
- goto err;
- }
+ pdata->mc_vbase = mc_vbase;
if (pdata->flag == TYPE_IMX9) {
pdata->inject_vbase = devm_platform_ioremap_resource_byname(op, "inject");
--
2.55.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource()
2026-07-14 23:46 [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource() Rosen Penev
@ 2026-07-16 4:00 ` Frank Li
2026-07-19 15:58 ` Borislav Petkov
0 siblings, 1 reply; 7+ messages in thread
From: Frank Li @ 2026-07-16 4:00 UTC (permalink / raw)
To: Rosen Penev
Cc: linux-edac, Frank Li, Borislav Petkov, Tony Luck,
Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt,
open list:EDAC-FSL_DDR, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
On Tue, Jul 14, 2026 at 04:46:09PM -0700, Rosen Penev wrote:
> Replace the open-coded of_address_to_resource() plus devm_request_mem_region()
> and devm_ioremap() sequence with devm_platform_ioremap_resource(), which folds
> the resource lookup, region reservation and mapping into one step and returns
> an ERR_PTR checked with IS_ERR()/PTR_ERR().
>
> Behaviorally equivalent with respect to region reservation: the driver
> already reserved the region, so the non-overlapping reg requirement was
> already satisfied. Drop the now-unused linux/of_address.h include.
>
> Built for arm64 (defconfig + CONFIG_EDAC_FSL_DDR) with LLVM=1;
> drivers/edac/fsl_ddr_edac.o compiles cleanly.
>
> Assisted-by: opencode:hy3-free
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
Reviewed-by: Frank Li <Frank.Li@nxp.com>
> drivers/edac/fsl_ddr_edac.c | 30 ++++++------------------------
> 1 file changed, 6 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/edac/fsl_ddr_edac.c b/drivers/edac/fsl_ddr_edac.c
> index b27dff96aeb6..ae1d54434e38 100644
> --- a/drivers/edac/fsl_ddr_edac.c
> +++ b/drivers/edac/fsl_ddr_edac.c
> @@ -22,7 +22,6 @@
> #include <linux/gfp.h>
>
> #include <linux/of.h>
> -#include <linux/of_address.h>
> #include "edac_module.h"
> #include "fsl_ddr_edac.h"
>
> @@ -495,11 +494,15 @@ int fsl_mc_err_probe(struct platform_device *op)
> struct mem_ctl_info *mci;
> struct edac_mc_layer layers[2];
> struct fsl_mc_pdata *pdata;
> - struct resource r;
> + void __iomem *mc_vbase;
> u32 ecc_en_mask;
> u32 sdram_ctl;
> int res;
>
> + mc_vbase = devm_platform_ioremap_resource(op, 0);
> + if (IS_ERR(mc_vbase))
> + return PTR_ERR(mc_vbase);
> +
> if (!devres_open_group(&op->dev, fsl_mc_err_probe, GFP_KERNEL))
> return -ENOMEM;
>
> @@ -531,28 +534,7 @@ int fsl_mc_err_probe(struct platform_device *op)
> * Default is big endian.
> */
> pdata->little_endian = of_property_read_bool(op->dev.of_node, "little-endian");
> -
> - res = of_address_to_resource(op->dev.of_node, 0, &r);
> - if (res) {
> - pr_err("%s: Unable to get resource for MC err regs\n",
> - __func__);
> - goto err;
> - }
> -
> - if (!devm_request_mem_region(&op->dev, r.start, resource_size(&r),
> - pdata->name)) {
> - pr_err("%s: Error while requesting mem region\n",
> - __func__);
> - res = -EBUSY;
> - goto err;
> - }
> -
> - pdata->mc_vbase = devm_ioremap(&op->dev, r.start, resource_size(&r));
> - if (!pdata->mc_vbase) {
> - pr_err("%s: Unable to setup MC err regs\n", __func__);
> - res = -ENOMEM;
> - goto err;
> - }
> + pdata->mc_vbase = mc_vbase;
>
> if (pdata->flag == TYPE_IMX9) {
> pdata->inject_vbase = devm_platform_ioremap_resource_byname(op, "inject");
> --
> 2.55.0
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource()
2026-07-16 4:00 ` Frank Li
@ 2026-07-19 15:58 ` Borislav Petkov
2026-07-28 22:08 ` Rosen Penev
0 siblings, 1 reply; 7+ messages in thread
From: Borislav Petkov @ 2026-07-19 15:58 UTC (permalink / raw)
To: Frank Li
Cc: Rosen Penev, linux-edac, Frank Li, Tony Luck, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt,
open list:EDAC-FSL_DDR, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
On Wed, Jul 15, 2026 at 11:00:50PM -0500, Frank Li wrote:
> On Tue, Jul 14, 2026 at 04:46:09PM -0700, Rosen Penev wrote:
> > Replace the open-coded of_address_to_resource() plus devm_request_mem_region()
> > and devm_ioremap() sequence with devm_platform_ioremap_resource(), which folds
> > the resource lookup, region reservation and mapping into one step and returns
> > an ERR_PTR checked with IS_ERR()/PTR_ERR().
> >
> > Behaviorally equivalent with respect to region reservation: the driver
> > already reserved the region, so the non-overlapping reg requirement was
> > already satisfied. Drop the now-unused linux/of_address.h include.
> >
> > Built for arm64 (defconfig + CONFIG_EDAC_FSL_DDR) with LLVM=1;
> > drivers/edac/fsl_ddr_edac.o compiles cleanly.
> >
> > Assisted-by: opencode:hy3-free
> > Signed-off-by: Rosen Penev <rosenp@gmail.com>
> > ---
>
> Reviewed-by: Frank Li <Frank.Li@nxp.com>
Sashiko caught a bunch of preexisting issues:
https://sashiko.dev/#/patchset/20260714234609.902367-1-rosenp%40gmail.com
Let's fix them first please.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource()
2026-07-19 15:58 ` Borislav Petkov
@ 2026-07-28 22:08 ` Rosen Penev
2026-07-28 22:40 ` Borislav Petkov
0 siblings, 1 reply; 7+ messages in thread
From: Rosen Penev @ 2026-07-28 22:08 UTC (permalink / raw)
To: Borislav Petkov
Cc: Frank Li, linux-edac, Frank Li, Tony Luck, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt,
open list:EDAC-FSL_DDR, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
On Sun, Jul 19, 2026 at 8:58 AM Borislav Petkov <bp@alien8.de> wrote:
>
> On Wed, Jul 15, 2026 at 11:00:50PM -0500, Frank Li wrote:
> > On Tue, Jul 14, 2026 at 04:46:09PM -0700, Rosen Penev wrote:
> > > Replace the open-coded of_address_to_resource() plus devm_request_mem_region()
> > > and devm_ioremap() sequence with devm_platform_ioremap_resource(), which folds
> > > the resource lookup, region reservation and mapping into one step and returns
> > > an ERR_PTR checked with IS_ERR()/PTR_ERR().
> > >
> > > Behaviorally equivalent with respect to region reservation: the driver
> > > already reserved the region, so the non-overlapping reg requirement was
> > > already satisfied. Drop the now-unused linux/of_address.h include.
> > >
> > > Built for arm64 (defconfig + CONFIG_EDAC_FSL_DDR) with LLVM=1;
> > > drivers/edac/fsl_ddr_edac.o compiles cleanly.
> > >
> > > Assisted-by: opencode:hy3-free
> > > Signed-off-by: Rosen Penev <rosenp@gmail.com>
> > > ---
> >
> > Reviewed-by: Frank Li <Frank.Li@nxp.com>
>
> Sashiko caught a bunch of preexisting issues:
>
> https://sashiko.dev/#/patchset/20260714234609.902367-1-rosenp%40gmail.com
>
> Let's fix them first please.
The unfortunate part of that is sashiko does not understand v2 patches
and whatnot. Meaning it will always complain about things fixed in
other patches.
There's no practical way to move forward unless done piece by piece.
As an example fixing the first issue causes
[High] Calling `ddr_out32()` in the `err` cleanup path
unconditionally dereferences unmapped I/O memory pointers if probe
fails early, leading to a kernel crash.
because these functions are split into three.
>
> --
> Regards/Gruss,
> Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource()
2026-07-28 22:08 ` Rosen Penev
@ 2026-07-28 22:40 ` Borislav Petkov
2026-07-29 0:13 ` Rosen Penev
2026-07-30 18:44 ` Frank Li
0 siblings, 2 replies; 7+ messages in thread
From: Borislav Petkov @ 2026-07-28 22:40 UTC (permalink / raw)
To: Rosen Penev
Cc: Frank Li, linux-edac, Frank Li, Tony Luck, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt,
open list:EDAC-FSL_DDR, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
On Tue, Jul 28, 2026 at 03:08:25PM -0700, Rosen Penev wrote:
> The unfortunate part of that is sashiko does not understand v2 patches
> and whatnot. Meaning it will always complain about things fixed in
> other patches.
That's fine as long as we've replied to the patches and said why it is ok. LLM
is just a tool, at least for now and how it is used with Sashiko.
What is more important here is finding real hw to test it on. I'm hoping Frank
on Cc will move...
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource()
2026-07-28 22:40 ` Borislav Petkov
@ 2026-07-29 0:13 ` Rosen Penev
2026-07-30 18:44 ` Frank Li
1 sibling, 0 replies; 7+ messages in thread
From: Rosen Penev @ 2026-07-29 0:13 UTC (permalink / raw)
To: Borislav Petkov
Cc: Frank Li, linux-edac, Frank Li, Tony Luck, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt,
open list:EDAC-FSL_DDR, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
On Tue, Jul 28, 2026 at 3:41 PM Borislav Petkov <bp@alien8.de> wrote:
>
> On Tue, Jul 28, 2026 at 03:08:25PM -0700, Rosen Penev wrote:
> > The unfortunate part of that is sashiko does not understand v2 patches
> > and whatnot. Meaning it will always complain about things fixed in
> > other patches.
>
> That's fine as long as we've replied to the patches and said why it is ok. LLM
> is just a tool, at least for now and how it is used with Sashiko.
>
> What is more important here is finding real hw to test it on. I'm hoping Frank
> on Cc will move...
Based on some git log/grep, I don't see many devices that use this
driver unfortunately.
>
> --
> Regards/Gruss,
> Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource()
2026-07-28 22:40 ` Borislav Petkov
2026-07-29 0:13 ` Rosen Penev
@ 2026-07-30 18:44 ` Frank Li
1 sibling, 0 replies; 7+ messages in thread
From: Frank Li @ 2026-07-30 18:44 UTC (permalink / raw)
To: Borislav Petkov
Cc: Rosen Penev, linux-edac, Frank Li, Tony Luck, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt,
open list:EDAC-FSL_DDR, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
On Tue, Jul 28, 2026 at 03:40:59PM -0700, Borislav Petkov wrote:
> [You don't often get email from bp@alien8.de. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> On Tue, Jul 28, 2026 at 03:08:25PM -0700, Rosen Penev wrote:
> > The unfortunate part of that is sashiko does not understand v2 patches
> > and whatnot. Meaning it will always complain about things fixed in
> > other patches.
>
> That's fine as long as we've replied to the patches and said why it is ok. LLM
> is just a tool, at least for now and how it is used with Sashiko.
>
> What is more important here is finding real hw to test it on. I'm hoping Frank
> on Cc will move...
Tested-by: Frank Li <Frank.Li@nxp.com>
>
> --
> Regards/Gruss,
> Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-07-30 18:44 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-14 23:46 [PATCH] EDAC: fsl_ddr: use devm_platform_ioremap_resource() Rosen Penev
2026-07-16 4:00 ` Frank Li
2026-07-19 15:58 ` Borislav Petkov
2026-07-28 22:08 ` Rosen Penev
2026-07-28 22:40 ` Borislav Petkov
2026-07-29 0:13 ` Rosen Penev
2026-07-30 18:44 ` Frank Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox