Hi Andy, On 1/30/20 9:34 AM, Andy Shevchenko wrote: > On Tue, Jan 28, 2020 at 1:14 AM Suman Anna <s-anna@xxxxxx> wrote: >> >> The DT node full name is currently being used in regmap_config >> which in turn is used to create the regmap debugfs directories. >> This name however is not guaranteed to be unique and the regmap >> debugfs registration can fail in the cases where the syscon nodes >> have the same unit-address but are present in different DT node >> hierarchies. Replace this logic using the syscon reg resource >> address instead (inspired from logic used while creating platform >> devices) to ensure a unique name is given for each syscon. > >> - syscon_config.name = of_node_full_name(np); >> + syscon_config.name = kasprintf(GFP_KERNEL, "%pOFn@%llx", np, >> + (u64)res.start); > > Explicit castings in printf() usually tell us that something is not okay. Yes, I agree in general. > Yes, for resource_size_t we have %pa. And that was the first thing I tried when doing v2, before moving away from it. This is not for a console printf statement, but is rather for the regmap debugfs name. Using a %pa adds the 0x and leading zeros in the debugfs name, when compared to the name before this patch. The typecast retains the current format, and replaces the unit-address without the leading 0s either. Introducing a local-variable to avoid the typecast is overkill. > > On top of that, I would rather see %pfwn to avoid modification for > other fwnode types. Did you mean %pfwP? That can probably be handled when syscon code is updated to use fwnode API. regards Suman