* [PATCH 0/2] Return immediately if sprd_clk_regmap_init() fails @ 2019-05-21 6:09 Chunyan Zhang 2019-05-21 6:09 ` [PATCH 1/2] clk: sprd: Switch from of_iomap() to devm_ioremap_resource() Chunyan Zhang 2019-05-21 6:09 ` [PATCH 2/2] clk: sprd: Add check for return value of sprd_clk_regmap_init() Chunyan Zhang 0 siblings, 2 replies; 6+ messages in thread From: Chunyan Zhang @ 2019-05-21 6:09 UTC (permalink / raw) To: Stephen Boyd Cc: linux-clk, linux-kernel, Orson Zhai, Chunyan Zhang, Baolin Wang The function sprd_clk_regmap_init() doesn't always return success, drivers should return immediately when it fails ranther than continue the clock initialization. The patch 2/2 in this set switchs to use devm_ioremap_resources() instead of of_iomap(), that will make caller programs more simple. Chunyan Zhang (2): clk: sprd: Switch from of_iomap() to devm_ioremap_resource() clk: sprd: Add check for return value of sprd_clk_regmap_init() drivers/clk/sprd/common.c | 9 +++++++-- drivers/clk/sprd/sc9860-clk.c | 4 +++- 2 files changed, 10 insertions(+), 3 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/2] clk: sprd: Switch from of_iomap() to devm_ioremap_resource() 2019-05-21 6:09 [PATCH 0/2] Return immediately if sprd_clk_regmap_init() fails Chunyan Zhang @ 2019-05-21 6:09 ` Chunyan Zhang 2019-05-21 6:38 ` Baolin Wang 2019-05-21 6:09 ` [PATCH 2/2] clk: sprd: Add check for return value of sprd_clk_regmap_init() Chunyan Zhang 1 sibling, 1 reply; 6+ messages in thread From: Chunyan Zhang @ 2019-05-21 6:09 UTC (permalink / raw) To: Stephen Boyd Cc: linux-clk, linux-kernel, Orson Zhai, Chunyan Zhang, Baolin Wang devm_ioremap_resources() automatically requests resources and devm_ wrappers do better error handling and unmapping of the I/O region when needed, that would make drivers more clean and simple. Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org> --- drivers/clk/sprd/common.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/clk/sprd/common.c b/drivers/clk/sprd/common.c index e038b0447206..a5bdca1de5d0 100644 --- a/drivers/clk/sprd/common.c +++ b/drivers/clk/sprd/common.c @@ -42,6 +42,7 @@ int sprd_clk_regmap_init(struct platform_device *pdev, void __iomem *base; struct device_node *node = pdev->dev.of_node; struct regmap *regmap; + struct resource *res; if (of_find_property(node, "sprd,syscon", NULL)) { regmap = syscon_regmap_lookup_by_phandle(node, "sprd,syscon"); @@ -50,10 +51,14 @@ int sprd_clk_regmap_init(struct platform_device *pdev, return PTR_ERR(regmap); } } else { - base = of_iomap(node, 0); + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + base = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(base)) + return PTR_ERR(base); + regmap = devm_regmap_init_mmio(&pdev->dev, base, &sprdclk_regmap_config); - if (IS_ERR_OR_NULL(regmap)) { + if (IS_ERR(regmap)) { pr_err("failed to init regmap\n"); return PTR_ERR(regmap); } -- 2.17.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] clk: sprd: Switch from of_iomap() to devm_ioremap_resource() 2019-05-21 6:09 ` [PATCH 1/2] clk: sprd: Switch from of_iomap() to devm_ioremap_resource() Chunyan Zhang @ 2019-05-21 6:38 ` Baolin Wang 2019-05-21 18:57 ` Stephen Boyd 0 siblings, 1 reply; 6+ messages in thread From: Baolin Wang @ 2019-05-21 6:38 UTC (permalink / raw) To: Chunyan Zhang; +Cc: Stephen Boyd, linux-clk, LKML, Orson Zhai, Chunyan Zhang Hi Chunyan, On Tue, 21 May 2019 at 14:15, Chunyan Zhang <zhang.chunyan@linaro.org> wrote: > > devm_ioremap_resources() automatically requests resources and devm_ wrappers > do better error handling and unmapping of the I/O region when needed, > that would make drivers more clean and simple. > > Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org> > --- > drivers/clk/sprd/common.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/clk/sprd/common.c b/drivers/clk/sprd/common.c > index e038b0447206..a5bdca1de5d0 100644 > --- a/drivers/clk/sprd/common.c > +++ b/drivers/clk/sprd/common.c > @@ -42,6 +42,7 @@ int sprd_clk_regmap_init(struct platform_device *pdev, > void __iomem *base; > struct device_node *node = pdev->dev.of_node; > struct regmap *regmap; > + struct resource *res; > > if (of_find_property(node, "sprd,syscon", NULL)) { > regmap = syscon_regmap_lookup_by_phandle(node, "sprd,syscon"); > @@ -50,10 +51,14 @@ int sprd_clk_regmap_init(struct platform_device *pdev, > return PTR_ERR(regmap); > } > } else { > - base = of_iomap(node, 0); > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + base = devm_ioremap_resource(&pdev->dev, res); > + if (IS_ERR(base)) > + return PTR_ERR(base); > + > regmap = devm_regmap_init_mmio(&pdev->dev, base, > &sprdclk_regmap_config); > - if (IS_ERR_OR_NULL(regmap)) { > + if (IS_ERR(regmap)) { You did not mention this fix in your commit message, and it's better to move into one separate patch. > pr_err("failed to init regmap\n"); > return PTR_ERR(regmap); > } > -- > 2.17.1 > -- Baolin Wang Best Regards ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] clk: sprd: Switch from of_iomap() to devm_ioremap_resource() 2019-05-21 6:38 ` Baolin Wang @ 2019-05-21 18:57 ` Stephen Boyd 0 siblings, 0 replies; 6+ messages in thread From: Stephen Boyd @ 2019-05-21 18:57 UTC (permalink / raw) To: Baolin Wang, Chunyan Zhang; +Cc: linux-clk, LKML, Orson Zhai, Chunyan Zhang Quoting Baolin Wang (2019-05-20 23:38:03) > On Tue, 21 May 2019 at 14:15, Chunyan Zhang <zhang.chunyan@linaro.org> wrote: > > &sprdclk_regmap_config); > > - if (IS_ERR_OR_NULL(regmap)) { > > + if (IS_ERR(regmap)) { > > You did not mention this fix in your commit message, and it's better > to move into one separate patch. > Please resend with it split out. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] clk: sprd: Add check for return value of sprd_clk_regmap_init() 2019-05-21 6:09 [PATCH 0/2] Return immediately if sprd_clk_regmap_init() fails Chunyan Zhang 2019-05-21 6:09 ` [PATCH 1/2] clk: sprd: Switch from of_iomap() to devm_ioremap_resource() Chunyan Zhang @ 2019-05-21 6:09 ` Chunyan Zhang 2019-05-21 6:38 ` Baolin Wang 1 sibling, 1 reply; 6+ messages in thread From: Chunyan Zhang @ 2019-05-21 6:09 UTC (permalink / raw) To: Stephen Boyd Cc: linux-clk, linux-kernel, Orson Zhai, Chunyan Zhang, Baolin Wang sprd_clk_regmap_init() doesn't always return success, adding check for its return value should make the code more strong. Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org> --- drivers/clk/sprd/sc9860-clk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/clk/sprd/sc9860-clk.c b/drivers/clk/sprd/sc9860-clk.c index 9980ab55271b..1ed45b4f2fe8 100644 --- a/drivers/clk/sprd/sc9860-clk.c +++ b/drivers/clk/sprd/sc9860-clk.c @@ -2031,7 +2031,9 @@ static int sc9860_clk_probe(struct platform_device *pdev) } desc = match->data; - sprd_clk_regmap_init(pdev, desc); + ret = sprd_clk_regmap_init(pdev, desc); + if (ret) + return ret; return sprd_clk_probe(&pdev->dev, desc->hw_clks); } -- 2.17.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] clk: sprd: Add check for return value of sprd_clk_regmap_init() 2019-05-21 6:09 ` [PATCH 2/2] clk: sprd: Add check for return value of sprd_clk_regmap_init() Chunyan Zhang @ 2019-05-21 6:38 ` Baolin Wang 0 siblings, 0 replies; 6+ messages in thread From: Baolin Wang @ 2019-05-21 6:38 UTC (permalink / raw) To: Chunyan Zhang; +Cc: Stephen Boyd, linux-clk, LKML, Orson Zhai, Chunyan Zhang On Tue, 21 May 2019 at 14:15, Chunyan Zhang <zhang.chunyan@linaro.org> wrote: > > sprd_clk_regmap_init() doesn't always return success, adding check > for its return value should make the code more strong. > > Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org> Reviewed-by: Baolin Wang <baolin.wang@linaro.org> > --- > drivers/clk/sprd/sc9860-clk.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/clk/sprd/sc9860-clk.c b/drivers/clk/sprd/sc9860-clk.c > index 9980ab55271b..1ed45b4f2fe8 100644 > --- a/drivers/clk/sprd/sc9860-clk.c > +++ b/drivers/clk/sprd/sc9860-clk.c > @@ -2031,7 +2031,9 @@ static int sc9860_clk_probe(struct platform_device *pdev) > } > > desc = match->data; > - sprd_clk_regmap_init(pdev, desc); > + ret = sprd_clk_regmap_init(pdev, desc); > + if (ret) > + return ret; > > return sprd_clk_probe(&pdev->dev, desc->hw_clks); > } > -- > 2.17.1 > -- Baolin Wang Best Regards ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-05-21 18:57 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-05-21 6:09 [PATCH 0/2] Return immediately if sprd_clk_regmap_init() fails Chunyan Zhang 2019-05-21 6:09 ` [PATCH 1/2] clk: sprd: Switch from of_iomap() to devm_ioremap_resource() Chunyan Zhang 2019-05-21 6:38 ` Baolin Wang 2019-05-21 18:57 ` Stephen Boyd 2019-05-21 6:09 ` [PATCH 2/2] clk: sprd: Add check for return value of sprd_clk_regmap_init() Chunyan Zhang 2019-05-21 6:38 ` Baolin Wang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).