Skip to content

Commit b4ef837

Browse files
John Madieubroonie
authored andcommitted
ASoC: rsnd: ssiu: Add shared SSI reset controller support
The RZ/G3E SoC exposes a single shared "ssi-all" reset that gates all SSI/SSIU modules. Acquire it at SSIU probe and pass it through rsnd_mod_init() so it is wired into the rsnd_mod->rstc plumbing. devm_reset_control_get_optional_shared() returns NULL when no reset is described in DT, leaving existing R-Car generations unaffected. Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://patch.msgid.link/20260525110230.4014435-10-john.madieu.xa@bp.renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 1cd10da commit b4ef837

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

sound/soc/renesas/rcar/ssiu.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,7 @@ int rsnd_ssiu_probe(struct rsnd_priv *priv)
510510
{
511511
struct device *dev = rsnd_priv_to_dev(priv);
512512
struct device_node *node __free(device_node) = rsnd_ssiu_of_node(priv);
513+
struct reset_control *rstc;
513514
struct rsnd_ssiu *ssiu;
514515
struct rsnd_mod_ops *ops;
515516
const int *list = NULL;
@@ -564,6 +565,12 @@ int rsnd_ssiu_probe(struct rsnd_priv *priv)
564565
}
565566
}
566567

568+
/* Acquire shared reset once for all SSIU modules */
569+
rstc = devm_reset_control_get_optional_shared(dev, "ssi-all");
570+
if (IS_ERR(rstc))
571+
return dev_err_probe(dev, PTR_ERR(rstc),
572+
"failed to get ssi-all reset\n");
573+
567574
for_each_rsnd_ssiu(ssiu, priv, i) {
568575
int ret;
569576

@@ -586,7 +593,7 @@ int rsnd_ssiu_probe(struct rsnd_priv *priv)
586593
}
587594

588595
ret = rsnd_mod_init(priv, rsnd_mod_get(ssiu),
589-
ops, NULL, NULL, RSND_MOD_SSIU, i);
596+
ops, NULL, rstc, RSND_MOD_SSIU, i);
590597
if (ret)
591598
return ret;
592599
}

0 commit comments

Comments
 (0)