As of commit bb475230b8e5 ("reset: make optional functions really optional"), the reset framework API calls use NULL pointers to describe optional, non-present reset controls.
This allows to return errors from devm_reset_control_get_optional and to call reset_control_deassert unconditionally.
Signed-off-by: Philipp Zabel p.zabel@pengutronix.de Acked-by: Mark Brown broonie@kernel.org Acked-by: Chen-Yu Tsai wens@csie.org --- sound/soc/sunxi/sun4i-spdif.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/sunxi/sun4i-spdif.c b/sound/soc/sunxi/sun4i-spdif.c index eaefd07a5ed08..cdf8a6d86010c 100644 --- a/sound/soc/sunxi/sun4i-spdif.c +++ b/sound/soc/sunxi/sun4i-spdif.c @@ -521,13 +521,12 @@ static int sun4i_spdif_probe(struct platform_device *pdev)
if (quirks->has_reset) { host->rst = devm_reset_control_get_optional(&pdev->dev, NULL); - if (IS_ERR(host->rst) && PTR_ERR(host->rst) == -EPROBE_DEFER) { - ret = -EPROBE_DEFER; + if (IS_ERR(host->rst)) { + ret = PTR_ERR(host->rst); dev_err(&pdev->dev, "Failed to get reset: %d\n", ret); return ret; } - if (!IS_ERR(host->rst)) - reset_control_deassert(host->rst); + reset_control_deassert(host->rst); }
ret = devm_snd_soc_register_component(&pdev->dev,