Commit ec6b0bd5 authored by Philipp Zabel's avatar Philipp Zabel Committed by Mauro Carvalho Chehab

[media] st_rc: simplify optional reset handling

As of commit bb475230 ("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 reset_control_get_optional and to call
reset_control_(de)assert unconditionally.
Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Acked-by: default avatarPatrice Chotard <patrice.chotard@st.com>
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 03eb2a55
...@@ -165,8 +165,7 @@ static void st_rc_hardware_init(struct st_rc_device *dev) ...@@ -165,8 +165,7 @@ static void st_rc_hardware_init(struct st_rc_device *dev)
unsigned int rx_sampling_freq_div; unsigned int rx_sampling_freq_div;
/* Enable the IP */ /* Enable the IP */
if (dev->rstc) reset_control_deassert(dev->rstc);
reset_control_deassert(dev->rstc);
clk_prepare_enable(dev->sys_clock); clk_prepare_enable(dev->sys_clock);
baseclock = clk_get_rate(dev->sys_clock); baseclock = clk_get_rate(dev->sys_clock);
...@@ -281,10 +280,11 @@ static int st_rc_probe(struct platform_device *pdev) ...@@ -281,10 +280,11 @@ static int st_rc_probe(struct platform_device *pdev)
else else
rc_dev->rx_base = rc_dev->base; rc_dev->rx_base = rc_dev->base;
rc_dev->rstc = reset_control_get_optional(dev, NULL); rc_dev->rstc = reset_control_get_optional(dev, NULL);
if (IS_ERR(rc_dev->rstc)) if (IS_ERR(rc_dev->rstc)) {
rc_dev->rstc = NULL; ret = PTR_ERR(rc_dev->rstc);
goto err;
}
rc_dev->dev = dev; rc_dev->dev = dev;
platform_set_drvdata(pdev, rc_dev); platform_set_drvdata(pdev, rc_dev);
...@@ -352,8 +352,7 @@ static int st_rc_suspend(struct device *dev) ...@@ -352,8 +352,7 @@ static int st_rc_suspend(struct device *dev)
writel(0x00, rc_dev->rx_base + IRB_RX_EN); writel(0x00, rc_dev->rx_base + IRB_RX_EN);
writel(0x00, rc_dev->rx_base + IRB_RX_INT_EN); writel(0x00, rc_dev->rx_base + IRB_RX_INT_EN);
clk_disable_unprepare(rc_dev->sys_clock); clk_disable_unprepare(rc_dev->sys_clock);
if (rc_dev->rstc) reset_control_assert(rc_dev->rstc);
reset_control_assert(rc_dev->rstc);
} }
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment