dm: devres: Convert to use logging
authorSimon Glass <sjg@chromium.org>
Mon, 30 Dec 2019 04:19:24 +0000 (21:19 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 7 Jan 2020 23:02:38 +0000 (16:02 -0700)
At present when CONFIG_DEBUG_DEVRES is enabled, U-Boot prints log messages
to the console with every devres allocation/free event. This causes most
tests to fail since the console output is not as expected.

In particular this prevents us from adding a device to sandbox which uses
devres in its bind method.

Move devres over to use U-Boot's logging feature instead, and add a new
category for devres.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/core/devres.c
include/log.h

index a3f915dd730a0376e5ec27da5b8a7cc161329f7d..9c04499c6d5b0bd6c0042d69a47b6c2d6e1bba7a 100644 (file)
@@ -7,6 +7,8 @@
  * Copyright (c) 2006  Tejun Heo <teheo@suse.de>
  */
 
+#define LOG_CATEGORY LOGC_DEVRES
+
 #include <common.h>
 #include <linux/compat.h>
 #include <linux/kernel.h>
@@ -46,8 +48,8 @@ static void set_node_dbginfo(struct devres *dr, const char *name, size_t size)
 static void devres_log(struct udevice *dev, struct devres *dr,
                       const char *op)
 {
-       printf("%s: DEVRES %3s %p %s (%lu bytes)\n",
-              dev->name, op, dr, dr->name, (unsigned long)dr->size);
+       log_debug("%s: DEVRES %3s %p %s (%lu bytes)\n", dev->name, op, dr,
+                 dr->name, (unsigned long)dr->size);
 }
 #else /* CONFIG_DEBUG_DEVRES */
 #define set_node_dbginfo(dr, n, s)     do {} while (0)
index c6f2f023b1fafbfa818f4eeb81e5d205b043e05b..64b787d0ba26e1be15995fc26a2b110bbcdc1473 100644 (file)
@@ -49,6 +49,7 @@ enum log_category_t {
        LOGC_ALLOC,     /* Memory allocation */
        LOGC_SANDBOX,   /* Related to the sandbox board */
        LOGC_BLOBLIST,  /* Bloblist */
+       LOGC_DEVRES,    /* Device resources (devres_... functions) */
 
        LOGC_COUNT,     /* Number of log categories */
        LOGC_END,       /* Sentinel value for a list of log categories */