Re: [PATCH v1] driver core: Demote "Fixed dependency cycle(s)" message to debug level
From: Saravana Kannan
Date: Sun Nov 08 2026 - 21:45:17 EST
On Sun, Nov 8, 2026 at 6:08 PM Songwei.Chai
<songwei.chai@xxxxxxxxxxxxxxxx> wrote:
>
>
> On 11/6/2026 4:50 PM, Johan Hovold wrote:
> > [ +CC: Saravana ]
> >
> > On Fri, Nov 06, 2026 at 04:40:34PM +0800, Songwei Chai wrote:
> >> fw_devlink detects and relaxes dependency cycles automatically, so this
> >> is not an error condition requiring user action. On complex DT
> >> topologies (e.g. CoreSight), this message can fire for many node
> >> pairs and adds noise to the boot log, even though it's primarily
> >> useful for debugging. Switch pr_info() to pr_debug() so it stays
> >> available via dynamic debug when actually needed, without cluttering
> >> default boot logs.
> >>
> >> For example, on sm8750 this produces 125 such lines in the boot log in
> >> total, 80 of which are CoreSight-related, e.g.:
> >>
> >> [ 0.057190] /soc@0/funnel@10041000: Fixed dependency cycle(s) with /soc@0/stm@10002000
> >> [ 0.057211] /soc@0/stm@10002000: Fixed dependency cycle(s) with /soc@0/funnel@10041000
> >> [ 0.057229] /soc@0/funnel@10041000: Fixed dependency cycle(s) with /soc@0/tpda@10004000
> >> [ 0.057249] /soc@0/tpda@10004000: Fixed dependency cycle(s) with /soc@0/funnel@10041000
> >> [ 0.057254] /soc@0/tpdm@1000f000: Fixed dependency cycle(s) with /soc@0/tpda@10004000
> >> [ 0.057260] /soc@0/tpda@10004000: Fixed dependency cycle(s) with /soc@0/tpdm@1000f000
> > I reported this elsewhere a while back:
> >
> > https://lore.kernel.org/all/Z6t45aOGDkotqM4Z@xxxxxxxxxxxxxxxxxxxx/
> >
> > Are you sure it's not the coresight bindings that should be fixed?
>
> No, Johan, I don't think this is a Coresight bindings issue.
>
> This is the mechanical result of the standard bidirectional graph
> binding + fw_devlink's direction-agnostic phandle scan — it will appear
> on any SoC/CoreSight topology using the standard binding, and there's no
> alternative binding syntax that avoids it.
You can add the post-init-providers property so Linux/OSes can know
which dependency is not a probe time or initialization time
dependency.
A lot of cycles can be broken by adding just a few of these. It'll
make sure the coresight stuff gets probed in the right order, and more
importantly also does suspend/resume, etc in the right order too.
-Saravana