From: Michael Ellerman <mpe@ellerman.id.au> Date: 2019-05-02 14:19:48
The mpc85xx EDAC code can be configured as a module but then fails to
build because it uses two unexported symbols:
ERROR: ".pci_find_hose_for_OF_device" [drivers/edac/mpc85xx_edac_mod.ko] undefined!
ERROR: ".early_find_capability" [drivers/edac/mpc85xx_edac_mod.ko] undefined!
We don't want to export those symbols just for this driver, so make
the driver only configurable as a built-in.
This seems to have been broken since at least commit c92132f59806
("edac/85xx: Add PCIe error interrupt edac support") (Nov 2013).
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
drivers/edac/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2019-05-09 14:52:11
Borislav Petkov [off-list ref] writes:
On Mon, May 06, 2019 at 08:50:45AM +0200, Johannes Thumshirn wrote:
quoted
Acked-by: Johannes Thumshirn <jth@kernel.org>
Queued, thanks.
Thanks. It would be nice if you could send it as a fix for 5.2, it's the
last thing blocking one of my allmodconfig builds. But if you don't
think it qualifies as a fix that's fine too, it can wait.
cheers
On Fri, May 10, 2019 at 12:52:05AM +1000, Michael Ellerman wrote:
Thanks. It would be nice if you could send it as a fix for 5.2, it's the
last thing blocking one of my allmodconfig builds. But if you don't
think it qualifies as a fix that's fine too, it can wait.
Sure, no problem. Will do a pull request later.
Thx.
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
On Thu, May 09, 2019 at 04:55:34PM +0200, Borislav Petkov wrote:
On Fri, May 10, 2019 at 12:52:05AM +1000, Michael Ellerman wrote:
quoted
Thanks. It would be nice if you could send it as a fix for 5.2, it's the
last thing blocking one of my allmodconfig builds. But if you don't
think it qualifies as a fix that's fine too, it can wait.
Sure, no problem. Will do a pull request later.
Hmm, so looking at this more, I was able to produce this config with my
ancient cross-compiler:
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_MPC85XX=y
Now, mpc85xx_edac is built-in and edac_core.ko is a module
(CONFIG_EDAC=m) and that should not work - i.e., builtin code calling
module functions. But my cross-compiler is happily building this without
complaint. Or maybe I'm missing something.
In any case, I *think* the proper fix should be to do:
config EDAC_MPC85XX
bool "Freescale MPC83xx / MPC85xx"
depends on FSL_SOC && EDAC=y
so that you can't even produce the above invalid .config snippet.
Hmmm?
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2019-05-10 10:50:57
Borislav Petkov [off-list ref] writes:
On Thu, May 09, 2019 at 04:55:34PM +0200, Borislav Petkov wrote:
quoted
On Fri, May 10, 2019 at 12:52:05AM +1000, Michael Ellerman wrote:
quoted
Thanks. It would be nice if you could send it as a fix for 5.2, it's the
last thing blocking one of my allmodconfig builds. But if you don't
think it qualifies as a fix that's fine too, it can wait.
Sure, no problem. Will do a pull request later.
Hmm, so looking at this more, I was able to produce this config with my
ancient cross-compiler:
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_MPC85XX=y
Oh yeah good point.
Now, mpc85xx_edac is built-in and edac_core.ko is a module
(CONFIG_EDAC=m) and that should not work - i.e., builtin code calling
module functions. But my cross-compiler is happily building this without
complaint. Or maybe I'm missing something.
That's weird.
In any case, I *think* the proper fix should be to do:
config EDAC_MPC85XX
bool "Freescale MPC83xx / MPC85xx"
depends on FSL_SOC && EDAC=y
so that you can't even produce the above invalid .config snippet.
Hmmm?
Yeah that looks better to me. I didn't think about the case where EDAC
core is modular.
Do you want me to send a new patch?
cheers