ASoC: rsnd: setup clock-out only when all conditions are right

Current adg.c doesn't assume that requested clock out divide condition
doesn't match. In such case, it will indicate strange message, and will
register NULL clock, etc. It is just a DT setting miss, but is
confusable. This patch check all conditions for it.

Reported-by: Vincenzo De Michele <vincenzo.michele@davinci.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87lee2zlf7.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Kuninori Morimoto 2023-08-22 23:50:36 +00:00 committed by Mark Brown
parent bd4cee2fdf
commit d059cd40ae
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0

View file

@ -607,6 +607,10 @@ static int rsnd_adg_get_clkout(struct rsnd_priv *priv)
} }
} }
if (!(adg->brg_rate[ADG_HZ_48] && req_Hz[ADG_HZ_48]) &&
!(adg->brg_rate[ADG_HZ_441] && req_Hz[ADG_HZ_441]))
goto rsnd_adg_get_clkout_end;
if (approximate) if (approximate)
dev_info(dev, "It uses CLK_I as approximate rate"); dev_info(dev, "It uses CLK_I as approximate rate");