mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
crypto: sun4i-ss - simplify optional reset handling
As of commit bb475230b8
("reset: make optional functions really
optional"), the reset framework API calls use NULL pointers to describe
optional, non-present reset controls.
This allows to unconditionally return errors from
devm_reset_control_get_optional_exclusive.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
committed by
Herbert Xu
parent
e5f9f41d5e
commit
aa31e559f7
@@ -288,8 +288,7 @@ static int sun4i_ss_pm_suspend(struct device *dev)
|
|||||||
{
|
{
|
||||||
struct sun4i_ss_ctx *ss = dev_get_drvdata(dev);
|
struct sun4i_ss_ctx *ss = dev_get_drvdata(dev);
|
||||||
|
|
||||||
if (ss->reset)
|
reset_control_assert(ss->reset);
|
||||||
reset_control_assert(ss->reset);
|
|
||||||
|
|
||||||
clk_disable_unprepare(ss->ssclk);
|
clk_disable_unprepare(ss->ssclk);
|
||||||
clk_disable_unprepare(ss->busclk);
|
clk_disable_unprepare(ss->busclk);
|
||||||
@@ -314,12 +313,10 @@ static int sun4i_ss_pm_resume(struct device *dev)
|
|||||||
goto err_enable;
|
goto err_enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ss->reset) {
|
err = reset_control_deassert(ss->reset);
|
||||||
err = reset_control_deassert(ss->reset);
|
if (err) {
|
||||||
if (err) {
|
dev_err(ss->dev, "Cannot deassert reset control\n");
|
||||||
dev_err(ss->dev, "Cannot deassert reset control\n");
|
goto err_enable;
|
||||||
goto err_enable;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
@@ -401,12 +398,10 @@ static int sun4i_ss_probe(struct platform_device *pdev)
|
|||||||
dev_dbg(&pdev->dev, "clock ahb_ss acquired\n");
|
dev_dbg(&pdev->dev, "clock ahb_ss acquired\n");
|
||||||
|
|
||||||
ss->reset = devm_reset_control_get_optional(&pdev->dev, "ahb");
|
ss->reset = devm_reset_control_get_optional(&pdev->dev, "ahb");
|
||||||
if (IS_ERR(ss->reset)) {
|
if (IS_ERR(ss->reset))
|
||||||
if (PTR_ERR(ss->reset) == -EPROBE_DEFER)
|
return PTR_ERR(ss->reset);
|
||||||
return PTR_ERR(ss->reset);
|
if (!ss->reset)
|
||||||
dev_info(&pdev->dev, "no reset control found\n");
|
dev_info(&pdev->dev, "no reset control found\n");
|
||||||
ss->reset = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check that clock have the correct rates given in the datasheet
|
* Check that clock have the correct rates given in the datasheet
|
||||||
|
Reference in New Issue
Block a user