Message ID | 1495191364-16015-1-git-send-email-arvind.yadav.cs@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On 2017년 05월 19일 19:56, Arvind Yadav wrote: > clk_prepare_enable() can fail here and we must check its return value. > > Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> > --- > drivers/devfreq/event/exynos-ppmu.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/devfreq/event/exynos-ppmu.c b/drivers/devfreq/event/exynos-ppmu.c > index 9b73509..8f6537a 100644 > --- a/drivers/devfreq/event/exynos-ppmu.c > +++ b/drivers/devfreq/event/exynos-ppmu.c > @@ -648,7 +648,11 @@ static int exynos_ppmu_probe(struct platform_device *pdev) > dev_name(&pdev->dev), desc[i].name); > } > > - clk_prepare_enable(info->ppmu.clk); > + ret = clk_prepare_enable(info->ppmu.clk); > + if (ret) { > + dev_err(&pdev->dev, "failed to prepare ppmu clock\n"); > + return ret; > + } You're right. But, actually, some ppmu device-tree node doesn't include the clock information because exynos clk driver don't support the clock for some ppmu devices. Until now, the clock of ppmu devices are default on state. Before applying this patch, exynos clock driver have to support the ppmu's clock and then add the clock information to the device tree of ppmu devices. > > return 0; > } >
> On 2017년 05월 19일 19:56, Arvind Yadav wrote: > > clk_prepare_enable() can fail here and we must check its return value. > > > > Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> > > --- > > drivers/devfreq/event/exynos-ppmu.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/devfreq/event/exynos-ppmu.c b/drivers/devfreq/event/exynos-ppmu.c > > index 9b73509..8f6537a 100644 > > --- a/drivers/devfreq/event/exynos-ppmu.c > > +++ b/drivers/devfreq/event/exynos-ppmu.c > > @@ -648,7 +648,11 @@ static int exynos_ppmu_probe(struct platform_device *pdev) > > dev_name(&pdev->dev), desc[i].name); > > } > > > > - clk_prepare_enable(info->ppmu.clk); > > + ret = clk_prepare_enable(info->ppmu.clk); > > + if (ret) { > > + dev_err(&pdev->dev, "failed to prepare ppmu clock\n"); > > + return ret; > > + } > > You're right. But, actually, some ppmu device-tree node doesn't include > the clock information because exynos clk driver don't support the > clock for some ppmu devices. Until now, the clock of ppmu devices > are default on state. If it does not include the clock information, info->ppmu.clk is NULL, which makes ret == NULL, so this should be ok. (Line 593 of this file does that.) Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com> (Applied to next-rc in devfreq tree) (same applies to exynos-nocp commit as well) Cheers, MyungJoo -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2017년 05월 24일 10:30, MyungJoo Ham wrote: >> On 2017년 05월 19일 19:56, Arvind Yadav wrote: >>> clk_prepare_enable() can fail here and we must check its return value. >>> >>> Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> >>> --- >>> drivers/devfreq/event/exynos-ppmu.c | 6 +++++- >>> 1 file changed, 5 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/devfreq/event/exynos-ppmu.c b/drivers/devfreq/event/exynos-ppmu.c >>> index 9b73509..8f6537a 100644 >>> --- a/drivers/devfreq/event/exynos-ppmu.c >>> +++ b/drivers/devfreq/event/exynos-ppmu.c >>> @@ -648,7 +648,11 @@ static int exynos_ppmu_probe(struct platform_device *pdev) >>> dev_name(&pdev->dev), desc[i].name); >>> } >>> >>> - clk_prepare_enable(info->ppmu.clk); >>> + ret = clk_prepare_enable(info->ppmu.clk); >>> + if (ret) { >>> + dev_err(&pdev->dev, "failed to prepare ppmu clock\n"); >>> + return ret; >>> + } >> >> You're right. But, actually, some ppmu device-tree node doesn't include >> the clock information because exynos clk driver don't support the >> clock for some ppmu devices. Until now, the clock of ppmu devices >> are default on state. > > If it does not include the clock information, info->ppmu.clk is NULL, > which makes ret == NULL, so this should be ok. > (Line 593 of this file does that.) Ah.. You're right. I'm missing this point. Looks good to me. Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
diff --git a/drivers/devfreq/event/exynos-ppmu.c b/drivers/devfreq/event/exynos-ppmu.c index 9b73509..8f6537a 100644 --- a/drivers/devfreq/event/exynos-ppmu.c +++ b/drivers/devfreq/event/exynos-ppmu.c @@ -648,7 +648,11 @@ static int exynos_ppmu_probe(struct platform_device *pdev) dev_name(&pdev->dev), desc[i].name); } - clk_prepare_enable(info->ppmu.clk); + ret = clk_prepare_enable(info->ppmu.clk); + if (ret) { + dev_err(&pdev->dev, "failed to prepare ppmu clock\n"); + return ret; + } return 0; }
clk_prepare_enable() can fail here and we must check its return value. Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> --- drivers/devfreq/event/exynos-ppmu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)