[PATCH] core: devres: don't use devres code when CONFIG_DEVRES is not defined

Put guards around the devres code so that it isn't compiled during the SPL.
Signed-off-by: Angus Ainslie angus@akkea.ca --- drivers/core/devres.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/core/devres.c b/drivers/core/devres.c index 313ddc7089..92a237c64c 100644 --- a/drivers/core/devres.c +++ b/drivers/core/devres.c @@ -91,6 +91,7 @@ void *_devres_alloc(dr_release_t release, size_t size, gfp_t gfp) return dr->data; }
+#if CONFIG_DEVRES void devres_free(void *res) { if (res) { @@ -257,7 +258,7 @@ void devres_get_stats(const struct udevice *dev, struct devres_stats *stats) } }
-#endif +#endif /* CONFIG_DEBUG_DEVRES */
/* * Managed kmalloc/kfree @@ -292,3 +293,4 @@ void devm_kfree(struct udevice *dev, void *p) rc = devres_destroy(dev, devm_kmalloc_release, devm_kmalloc_match, p); assert_noisy(!rc); } +#endif /* CONFIG_DEVRES */

On Wed, 2 Feb 2022 at 16:16, Angus Ainslie angus@akkea.ca wrote:
Put guards around the devres code so that it isn't compiled during the SPL.
Signed-off-by: Angus Ainslie angus@akkea.ca
drivers/core/devres.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
I think the correct fix here is to change the Makefile rule for this file to use
CONFIG_$(SPL_)DEVRES
instead of
CONFIG_DEVRES
Can you try it?
Regards, Simon [..]

Hi Simon,
On 2022-02-19 14:12, Simon Glass wrote:
On Wed, 2 Feb 2022 at 16:16, Angus Ainslie angus@akkea.ca wrote:
Put guards around the devres code so that it isn't compiled during the SPL.
Signed-off-by: Angus Ainslie angus@akkea.ca
drivers/core/devres.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
I think the correct fix here is to change the Makefile rule for this file to use
CONFIG_$(SPL_)DEVRES
instead of
CONFIG_DEVRES
Can you try it?
I think it will work that way and I did think about doing the patch that way. My concern was that it might break some boards because they are expecting DEVRES in the SPL.
I can rework the patch that way but not sure how I'd test which boards needed the CONFIG_SPL_DEVRES defined.
Thanks Angus
Regards, Simon [..]

Hi Angus,
On Mon, 21 Feb 2022 at 05:50, Angus Ainslie angus@akkea.ca wrote:
Hi Simon,
On 2022-02-19 14:12, Simon Glass wrote:
On Wed, 2 Feb 2022 at 16:16, Angus Ainslie angus@akkea.ca wrote:
Put guards around the devres code so that it isn't compiled during the SPL.
Signed-off-by: Angus Ainslie angus@akkea.ca
drivers/core/devres.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
I think the correct fix here is to change the Makefile rule for this file to use
CONFIG_$(SPL_)DEVRES
instead of
CONFIG_DEVRES
Can you try it?
I think it will work that way and I did think about doing the patch that way. My concern was that it might break some boards because they are expecting DEVRES in the SPL.
I can rework the patch that way but not sure how I'd test which boards needed the CONFIG_SPL_DEVRES defined.
I very much doubt any are, but the maintainers can test them as needed. After all, freeing memory is not normally supported in SPL, except with full malloc().
Regards, Simon
participants (2)
-
Angus Ainslie
-
Simon Glass