On Thu 30 Jan 05:27 PST 2020, Amit Kucheria wrote: > We don't currently call put_device in case of successfully initialising > the device. > > Allow control to fall through so we can use same code for success and > error paths to put_device. > > As a part of this fixup, change devm_ioremap_resource to act on the same > device pointer as that used to allocate regmap memory. That ensures that > we are free to release op->dev after examining its resources. > Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxx> > --- > drivers/thermal/qcom/tsens-common.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/thermal/qcom/tsens-common.c b/drivers/thermal/qcom/tsens-common.c > index 1cbc5a6e5b4f..013750fff8b2 100644 > --- a/drivers/thermal/qcom/tsens-common.c > +++ b/drivers/thermal/qcom/tsens-common.c > @@ -602,7 +602,7 @@ int __init init_common(struct tsens_priv *priv) > /* DT with separate SROT and TM address space */ > priv->tm_offset = 0; > res = platform_get_resource(op, IORESOURCE_MEM, 1); > - srot_base = devm_ioremap_resource(&op->dev, res); > + srot_base = devm_ioremap_resource(dev, res); > if (IS_ERR(srot_base)) { > ret = PTR_ERR(srot_base); > goto err_put_device; > @@ -620,7 +620,7 @@ int __init init_common(struct tsens_priv *priv) > } > > res = platform_get_resource(op, IORESOURCE_MEM, 0); > - tm_base = devm_ioremap_resource(&op->dev, res); > + tm_base = devm_ioremap_resource(dev, res); > if (IS_ERR(tm_base)) { > ret = PTR_ERR(tm_base); > goto err_put_device; > @@ -687,8 +687,6 @@ int __init init_common(struct tsens_priv *priv) > tsens_enable_irq(priv); > tsens_debug_init(op); > > - return 0; > - > err_put_device: > put_device(&op->dev); > return ret; > -- > 2.20.1 >