Re: [PATCH] interconnect: Restore sync state by ignoring ipa-virt in provider count

From: Stephen Boyd
Date: Tue May 03 2022 - 15:07:15 EST


Quoting Nathan Chancellor (2022-05-02 08:18:24)
> Hi Stephen,
>
> On Tue, Apr 26, 2022 at 06:32:26PM -0700, Stephen Boyd wrote:
> > Ignore compatible strings for the IPA virt drivers that were removed in
> > commits 2fb251c26560 ("interconnect: qcom: sdx55: Drop IP0
> > interconnects") and 2f3724930eb4 ("interconnect: qcom: sc7180: Drop IP0
> > interconnects") so that the sync state logic can kick in again.
> > Otherwise all the interconnects in the system will stay pegged at max
> > speeds because 'providers_count' is always going to be one larger than
> > the number of drivers that will ever probe on sc7180 or sdx55. This
> > fixes suspend on sc7180 and sdx55 devices when you don't have a
> > devicetree patch to remove the ipa-virt compatible node.
> >
> > Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> > Cc: Doug Anderson <dianders@xxxxxxxxxxxx>
> > Cc: Alex Elder <elder@xxxxxxxxxx>
> > Cc: Taniya Das <quic_tdas@xxxxxxxxxxx>
> > Cc: Mike Tipton <quic_mdtipton@xxxxxxxxxxx>
> > Fixes: 2fb251c26560 ("interconnect: qcom: sdx55: Drop IP0 interconnects")
> > Fixes: 2f3724930eb4 ("interconnect: qcom: sc7180: Drop IP0 interconnects")
> > Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
>
> This patch as commit ad3cc2f05fda ("interconnect: Restore sync state by
> ignoring ipa-virt in provider count") in -next causes the following
> build warning when CONFIG_OF is disabled because of_match_node is just
> NULL:
>
> drivers/interconnect/core.c:1090:28: warning: unused variable 'ignore_list' [-Wunused-variable]
> const struct of_device_id ignore_list[] = {
> ^
> 1 warning generated.
>
> Should it just be marked as __maybe_unused or is there a different fix
> that would be more appropriate?

Yeah I think __maybe_unused would work. The other approach would be to
make of_match_node() a static inline that returns false with CONFIG_OF=n
but that's probably a super large change. I hope the compiler would be
able to optimize that whole thing away because the arguments are const
pointers but I don't know.