Hello Quentin, Am Tue, Oct 15, 2024 at 04:32:14PM +0200 schrieb Quentin Schulz: > From: Quentin Schulz <quentin.sch...@cherry.de> > > People complained that enabling (SPL_)DM_WARN was now totally unusable > due to the amount of messages printed on the console. > > Let's downgrade the log level of some messages that are clearly not on > the error path. > > Note that there's one pr_debug in there, because it is followed by > pr_cont so it made sense to reuse the same family of functions. > > Reported-by: Alexander Dahl <a...@thorsis.com> > Fixes: 6afdb1585112 ("dm: core: migrate debug() messages to use dm_warn") > Signed-off-by: Quentin Schulz <quentin.sch...@cherry.de> > --- > Note that I am not entirely sure about the "not found" and "not large > enough" changes there. > > Another note, %#x isn't handled by tinyprintf so it just prints "x" > instead of the value. > > Finally, I don't know how one can enable LOG_DEBUG level without > enabling DEBUG which enables assert() so I just tested that by removing > the #define DEBUG in include/log.h :) > --- > drivers/core/of_access.c | 36 ++++++++++++------------- > drivers/core/of_addr.c | 26 +++++++++--------- > drivers/core/of_extra.c | 6 ++--- > drivers/core/ofnode.c | 68 > ++++++++++++++++++++++++------------------------ > 4 files changed, 68 insertions(+), 68 deletions(-) > > diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c > index > d05be273e7bbb68c3ad82ef4c1c036ae7f68ae61..77acd76626257b6da95a27d107052ff8800c2b67 > 100644 > --- a/drivers/core/of_access.c > +++ b/drivers/core/of_access.c > @@ -490,17 +490,17 @@ int of_read_u8(const struct device_node *np, const char > *propname, u8 *outp) > { > const u8 *val; > > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname);
Printing __func__ when using log_* functions, is redundant, isn't it? You can enabling printing the function name through the logging framework, right? > if (!np) > return -EINVAL; > val = of_find_property_value_of_size(np, propname, sizeof(*outp)); > if (IS_ERR(val)) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return PTR_ERR(val); What about using log_msg_ret() instead in these cases? Greets Alex > } > > *outp = *val; > - dm_warn("%#x (%d)\n", *outp, *outp); > + log_debug("%#x (%d)\n", *outp, *outp); > > return 0; > } > @@ -509,17 +509,17 @@ int of_read_u16(const struct device_node *np, const > char *propname, u16 *outp) > { > const __be16 *val; > > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > if (!np) > return -EINVAL; > val = of_find_property_value_of_size(np, propname, sizeof(*outp)); > if (IS_ERR(val)) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return PTR_ERR(val); > } > > *outp = be16_to_cpup(val); > - dm_warn("%#x (%d)\n", *outp, *outp); > + log_debug("%#x (%d)\n", *outp, *outp); > > return 0; > } > @@ -534,14 +534,14 @@ int of_read_u32_array(const struct device_node *np, > const char *propname, > { > const __be32 *val; > > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > val = of_find_property_value_of_size(np, propname, > sz * sizeof(*out_values)); > > if (IS_ERR(val)) > return PTR_ERR(val); > > - dm_warn("size %zd\n", sz); > + log_debug("size %zd\n", sz); > while (sz--) > *out_values++ = be32_to_cpup(val++); > > @@ -553,19 +553,19 @@ int of_read_u32_index(const struct device_node *np, > const char *propname, > { > const __be32 *val; > > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > if (!np) > return -EINVAL; > > val = of_find_property_value_of_size(np, propname, > sizeof(*outp) * (index + 1)); > if (IS_ERR(val)) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return PTR_ERR(val); > } > > *outp = be32_to_cpup(val + index); > - dm_warn("%#x (%d)\n", *outp, *outp); > + log_debug("%#x (%d)\n", *outp, *outp); > > return 0; > } > @@ -575,20 +575,20 @@ int of_read_u64_index(const struct device_node *np, > const char *propname, > { > const __be64 *val; > > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > if (!np) > return -EINVAL; > > val = of_find_property_value_of_size(np, propname, > sizeof(*outp) * (index + 1)); > if (IS_ERR(val)) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return PTR_ERR(val); > } > > *outp = be64_to_cpup(val + index); > - dm_warn("%#llx (%lld)\n", (unsigned long long)*outp, > - (unsigned long long)*outp); > + log_debug("%#llx (%lld)\n", (unsigned long long)*outp, > + (unsigned long long)*outp); > > return 0; > } > @@ -621,7 +621,7 @@ int of_property_match_string(const struct device_node > *np, const char *propname, > l = strnlen(p, end - p) + 1; > if (p + l > end) > return -EILSEQ; > - dm_warn("comparing %s with %s\n", string, p); > + log_debug("comparing %s with %s\n", string, p); > if (strcmp(string, p) == 0) > return i; /* Found it; return index */ > } > @@ -826,8 +826,8 @@ static void of_alias_add(struct alias_prop *ap, struct > device_node *np, > strncpy(ap->stem, stem, stem_len); > ap->stem[stem_len] = 0; > list_add_tail(&ap->link, &aliases_lookup); > - dm_warn("adding DT alias:%s: stem=%s id=%i node=%s\n", > - ap->alias, ap->stem, ap->id, of_node_full_name(np)); > + log_debug("adding DT alias:%s: stem=%s id=%i node=%s\n", > + ap->alias, ap->stem, ap->id, of_node_full_name(np)); > } > > int of_alias_scan(void) > diff --git a/drivers/core/of_addr.c b/drivers/core/of_addr.c > index > 6c7b4c97d6778e632e6c318ca094bd94cc6248d4..250dd175b55c053fb80c7fa34ccaa66f3a4a8a1f > 100644 > --- a/drivers/core/of_addr.c > +++ b/drivers/core/of_addr.c > @@ -27,7 +27,7 @@ static struct of_bus *of_match_bus(struct device_node *np); > #ifdef DEBUG > static void of_dump_addr(const char *s, const __be32 *addr, int na) > { > - dm_warn("%s", s); > + pr_debug("%s", s); > while (na--) > pr_cont(" %08x", be32_to_cpu(*(addr++))); > pr_cont("\n"); > @@ -66,9 +66,9 @@ static u64 of_bus_default_map(__be32 *addr, const __be32 > *range, > s = of_read_number(range + na + pna, ns); > da = of_read_number(addr, na); > > - dm_warn("default map, cp=%llx, s=%llx, da=%llx\n", > - (unsigned long long)cp, (unsigned long long)s, > - (unsigned long long)da); > + log_debug("default map, cp=%llx, s=%llx, da=%llx\n", > + (unsigned long long)cp, (unsigned long long)s, > + (unsigned long long)da); > > if (da < cp || da >= (cp + s)) > return OF_BAD_ADDR; > @@ -200,11 +200,11 @@ static int of_translate_one(const struct device_node > *parent, > if (ranges == NULL || rlen == 0) { > offset = of_read_number(addr, na); > memset(addr, 0, pna * 4); > - dm_warn("empty ranges; 1:1 translation\n"); > + log_debug("empty ranges; 1:1 translation\n"); > goto finish; > } > > - dm_warn("walking ranges...\n"); > + log_debug("walking ranges...\n"); > > /* Now walk through the ranges */ > rlen /= 4; > @@ -222,7 +222,7 @@ static int of_translate_one(const struct device_node > *parent, > > finish: > of_dump_addr("parent translation for:", addr, pna); > - dm_warn("with offset: %llx\n", (unsigned long long)offset); > + log_debug("with offset: %llx\n", (unsigned long long)offset); > > /* Translate it into parent bus space */ > return pbus->translate(addr, offset, pna); > @@ -247,7 +247,7 @@ static u64 __of_translate_address(const struct > device_node *dev, > int na, ns, pna, pns; > u64 result = OF_BAD_ADDR; > > - dm_warn("** translation for device %s **\n", of_node_full_name(dev)); > + log_debug("** translation for device %s **\n", of_node_full_name(dev)); > > /* Increase refcount at current level */ > (void)of_node_get(dev); > @@ -266,8 +266,8 @@ static u64 __of_translate_address(const struct > device_node *dev, > } > memcpy(addr, in_addr, na * 4); > > - dm_warn("bus is %s (na=%d, ns=%d) on %s\n", bus->name, na, ns, > - of_node_full_name(parent)); > + log_debug("bus is %s (na=%d, ns=%d) on %s\n", bus->name, na, ns, > + of_node_full_name(parent)); > of_dump_addr("translating address:", addr, na); > > /* Translate */ > @@ -279,7 +279,7 @@ static u64 __of_translate_address(const struct > device_node *dev, > > /* If root, we have finished */ > if (parent == NULL) { > - dm_warn("reached root node\n"); > + log_debug("reached root node\n"); > result = of_read_number(addr, na); > break; > } > @@ -293,8 +293,8 @@ static u64 __of_translate_address(const struct > device_node *dev, > break; > } > > - dm_warn("parent bus is %s (na=%d, ns=%d) on %s\n", pbus->name, > - pna, pns, of_node_full_name(parent)); > + log_debug("parent bus is %s (na=%d, ns=%d) on %s\n", pbus->name, > + pna, pns, of_node_full_name(parent)); > > /* Apply bus translation */ > if (of_translate_one(dev, bus, pbus, addr, na, ns, pna, rprop)) > diff --git a/drivers/core/of_extra.c b/drivers/core/of_extra.c > index > bfc1e3441b1d63e3ef72352863842c9e49647db5..f49187dfc1ec2491b525be35d8deac0bd70a6c4e > 100644 > --- a/drivers/core/of_extra.c > +++ b/drivers/core/of_extra.c > @@ -58,7 +58,7 @@ int ofnode_decode_region(ofnode node, const char > *prop_name, fdt_addr_t *basep, > const fdt_addr_t *cell; > int len; > > - dm_warn("%s: %s: %s\n", __func__, ofnode_get_name(node), prop_name); > + log_debug("%s: %s: %s\n", __func__, ofnode_get_name(node), prop_name); > cell = ofnode_get_property(node, prop_name, &len); > if (!cell || (len < sizeof(fdt_addr_t) * 2)) { > dm_warn("cell=%p, len=%d\n", cell, len); > @@ -67,8 +67,8 @@ int ofnode_decode_region(ofnode node, const char > *prop_name, fdt_addr_t *basep, > > *basep = fdt_addr_to_cpu(*cell); > *sizep = fdt_size_to_cpu(cell[1]); > - dm_warn("%s: base=%08lx, size=%lx\n", __func__, (ulong)*basep, > - (ulong)*sizep); > + log_debug("%s: base=%08lx, size=%lx\n", __func__, (ulong)*basep, > + (ulong)*sizep); > > return 0; > } > diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c > index > 48ae8ce830ec5a37675900e4f537e087fcac37b7..950895e72a9949fff44222fd039a82a9351de714 > 100644 > --- a/drivers/core/ofnode.c > +++ b/drivers/core/ofnode.c > @@ -315,7 +315,7 @@ int ofnode_read_u8(ofnode node, const char *propname, u8 > *outp) > int len; > > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > if (ofnode_is_np(node)) > return of_read_u8(ofnode_to_np(node), propname, outp); > @@ -323,11 +323,11 @@ int ofnode_read_u8(ofnode node, const char *propname, > u8 *outp) > cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, > &len); > if (!cell || len < sizeof(*cell)) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return -EINVAL; > } > *outp = *cell; > - dm_warn("%#x (%u)\n", *outp, *outp); > + log_debug("%#x (%u)\n", *outp, *outp); > > return 0; > } > @@ -346,7 +346,7 @@ int ofnode_read_u16(ofnode node, const char *propname, > u16 *outp) > int len; > > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > if (ofnode_is_np(node)) > return of_read_u16(ofnode_to_np(node), propname, outp); > @@ -354,11 +354,11 @@ int ofnode_read_u16(ofnode node, const char *propname, > u16 *outp) > cell = fdt_getprop(gd->fdt_blob, ofnode_to_offset(node), propname, > &len); > if (!cell || len < sizeof(*cell)) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return -EINVAL; > } > *outp = be16_to_cpup(cell); > - dm_warn("%#x (%u)\n", *outp, *outp); > + log_debug("%#x (%u)\n", *outp, *outp); > > return 0; > } > @@ -391,7 +391,7 @@ int ofnode_read_u32_index(ofnode node, const char > *propname, int index, > int len; > > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > if (ofnode_is_np(node)) > return of_read_u32_index(ofnode_to_np(node), propname, index, > @@ -400,17 +400,17 @@ int ofnode_read_u32_index(ofnode node, const char > *propname, int index, > cell = fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), > propname, &len); > if (!cell) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return -EINVAL; > } > > if (len < (sizeof(int) * (index + 1))) { > - dm_warn("(not large enough)\n"); > + log_debug("(not large enough)\n"); > return -EOVERFLOW; > } > > *outp = fdt32_to_cpu(cell[index]); > - dm_warn("%#x (%u)\n", *outp, *outp); > + log_debug("%#x (%u)\n", *outp, *outp); > > return 0; > } > @@ -430,17 +430,17 @@ int ofnode_read_u64_index(ofnode node, const char > *propname, int index, > cell = fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), > propname, &len); > if (!cell) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return -EINVAL; > } > > if (len < (sizeof(u64) * (index + 1))) { > - dm_warn("(not large enough)\n"); > + log_debug("(not large enough)\n"); > return -EOVERFLOW; > } > > *outp = fdt64_to_cpu(cell[index]); > - dm_warn("%#llx (%llu)\n", *outp, *outp); > + log_debug("%#llx (%llu)\n", *outp, *outp); > > return 0; > } > @@ -468,7 +468,7 @@ int ofnode_read_u64(ofnode node, const char *propname, > u64 *outp) > int len; > > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > if (ofnode_is_np(node)) > return of_read_u64(ofnode_to_np(node), propname, outp); > @@ -476,12 +476,12 @@ int ofnode_read_u64(ofnode node, const char *propname, > u64 *outp) > cell = fdt_getprop(ofnode_to_fdt(node), ofnode_to_offset(node), > propname, &len); > if (!cell || len < sizeof(*cell)) { > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return -EINVAL; > } > *outp = fdt64_to_cpu(cell[0]); > - dm_warn("%#llx (%llu)\n", (unsigned long long)*outp, > - (unsigned long long)*outp); > + log_debug("%#llx (%llu)\n", (unsigned long long)*outp, > + (unsigned long long)*outp); > > return 0; > } > @@ -499,11 +499,11 @@ bool ofnode_read_bool(ofnode node, const char *propname) > bool prop; > > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > prop = ofnode_has_property(node, propname); > > - dm_warn("%s\n", prop ? "true" : "false"); > + log_debug("%s\n", prop ? "true" : "false"); > > return prop ? true : false; > } > @@ -514,7 +514,7 @@ const void *ofnode_read_prop(ofnode node, const char > *propname, int *sizep) > int len; > > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > if (ofnode_is_np(node)) { > struct property *prop = of_find_property( > @@ -529,7 +529,7 @@ const void *ofnode_read_prop(ofnode node, const char > *propname, int *sizep) > propname, &len); > } > if (!val) { > - dm_warn("<not found>\n"); > + log_debug("<not found>\n"); > if (sizep) > *sizep = -FDT_ERR_NOTFOUND; > return NULL; > @@ -553,7 +553,7 @@ const char *ofnode_read_string(ofnode node, const char > *propname) > dm_warn("<invalid>\n"); > return NULL; > } > - dm_warn("%s\n", str); > + log_debug("%s\n", str); > > return str; > } > @@ -573,7 +573,7 @@ ofnode ofnode_find_subnode(ofnode node, const char > *subnode_name) > ofnode subnode; > > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, subnode_name); > + log_debug("%s: %s: ", __func__, subnode_name); > > if (ofnode_is_np(node)) { > struct device_node *np = ofnode_to_np(node); > @@ -588,8 +588,8 @@ ofnode ofnode_find_subnode(ofnode node, const char > *subnode_name) > ofnode_to_offset(node), subnode_name); > subnode = noffset_to_ofnode(node, ooffset); > } > - dm_warn("%s\n", ofnode_valid(subnode) ? > - ofnode_get_name(subnode) : "<none>"); > + log_debug("%s\n", ofnode_valid(subnode) ? > + ofnode_get_name(subnode) : "<none>"); > > return subnode; > } > @@ -598,7 +598,7 @@ int ofnode_read_u32_array(ofnode node, const char > *propname, > u32 *out_values, size_t sz) > { > assert(ofnode_valid(node)); > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > if (ofnode_is_np(node)) { > return of_read_u32_array(ofnode_to_np(node), propname, > @@ -1032,7 +1032,7 @@ ofnode ofnode_get_aliases_node(const char *name) > if (!prop) > return ofnode_null(); > > - dm_warn("%s: node_path: %s\n", __func__, prop); > + log_debug("%s: node_path: %s\n", __func__, prop); > > return ofnode_path(prop); > } > @@ -1301,7 +1301,7 @@ int ofnode_read_pci_addr(ofnode node, enum > fdt_pci_space type, > int len; > int ret = -ENOENT; > > - dm_warn("%s: %s: ", __func__, propname); > + log_debug("%s: %s: ", __func__, propname); > > /* > * If we follow the pci bus bindings strictly, we should check > @@ -1318,10 +1318,10 @@ int ofnode_read_pci_addr(ofnode node, enum > fdt_pci_space type, > int i; > > for (i = 0; i < num; i++) { > - dm_warn("pci address #%d: %08lx %08lx %08lx\n", i, > - (ulong)fdt32_to_cpu(cell[0]), > - (ulong)fdt32_to_cpu(cell[1]), > - (ulong)fdt32_to_cpu(cell[2])); > + log_debug("pci address #%d: %08lx %08lx %08lx\n", i, > + (ulong)fdt32_to_cpu(cell[0]), > + (ulong)fdt32_to_cpu(cell[1]), > + (ulong)fdt32_to_cpu(cell[2])); > if ((fdt32_to_cpu(*cell) & type) == type) { > const unaligned_fdt64_t *ptr; > > @@ -1348,7 +1348,7 @@ int ofnode_read_pci_addr(ofnode node, enum > fdt_pci_space type, > ret = -EINVAL; > > fail: > - dm_warn("(not found)\n"); > + log_debug("(not found)\n"); > return ret; > } > > @@ -1632,7 +1632,7 @@ int ofnode_write_string(ofnode node, const char > *propname, const char *value) > { > assert(ofnode_valid(node)); > > - dm_warn("%s: %s = %s", __func__, propname, value); > + log_debug("%s: %s = %s", __func__, propname, value); > > return ofnode_write_prop(node, propname, value, strlen(value) + 1, > false); > > --- > base-commit: d2061828a4c1b60b44cd2307b6a782ac2efbffbe > change-id: 20241015-dm-debug-less-verbose-29d4aba76f5b > > Best regards, > -- > Quentin Schulz <quentin.sch...@cherry.de> >