Message ID | 1406843002-15652-1-git-send-email-hsnaves@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Humberto, On 31.07.2014 23:43, Humberto Silva Naves wrote: > Instead of invoking panic, the samsung_clk_init returns a NULL > pointer to indicate that an error has occurred. All the drivers > using this function were changed appropriately (in this case > just the clk-exynos5410). > > This patch was suggested by Tomasz Figa in > http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg34982.html There is a Suggested-by tag that can be added before your sign-off. Similarly there are few other useful tags which are good to know. > > Signed-off-by: Humberto Silva Naves <hsnaves@gmail.com> > --- > drivers/clk/samsung/clk-exynos5410.c | 2 ++ > drivers/clk/samsung/clk.c | 8 +++++--- > 2 files changed, 7 insertions(+), 3 deletions(-) > In general the patch looks good, thanks for you work. Will wait some time to let people review it and then apply. As a side note, it is always good to say why the patch is good in commit message, so that maintainers know that author knows what he does, they indeed want this patch and people that would stumble upon this patch in future could know the rationale behind this change. This patch is pretty trivial, though, so I'll let it go this time. Best regards, Tomasz -- 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
diff --git a/drivers/clk/samsung/clk-exynos5410.c b/drivers/clk/samsung/clk-exynos5410.c index 231475b..19657b4 100644 --- a/drivers/clk/samsung/clk-exynos5410.c +++ b/drivers/clk/samsung/clk-exynos5410.c @@ -193,6 +193,8 @@ static void __init exynos5410_clk_init(struct device_node *np) panic("%s: failed to map registers\n", __func__); ctx = samsung_clk_init(np, reg_base, CLK_NR_CLKS); + if (!ctx) + panic("%s: unable to allocate context.\n", __func__); samsung_clk_register_pll(ctx, exynos5410_plls, ARRAY_SIZE(exynos5410_plls), reg_base); diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c index deab84d..0cf0ec6 100644 --- a/drivers/clk/samsung/clk.c +++ b/drivers/clk/samsung/clk.c @@ -57,11 +57,13 @@ struct samsung_clk_provider *__init samsung_clk_init(struct device_node *np, ctx = kzalloc(sizeof(struct samsung_clk_provider), GFP_KERNEL); if (!ctx) - panic("could not allocate clock provider context.\n"); + return NULL; clk_table = kcalloc(nr_clks, sizeof(struct clk *), GFP_KERNEL); - if (!clk_table) - panic("could not allocate clock lookup table\n"); + if (!clk_table) { + kfree(ctx); + return NULL; + } for (i = 0; i < nr_clks; ++i) clk_table[i] = ERR_PTR(-ENOENT);
Instead of invoking panic, the samsung_clk_init returns a NULL pointer to indicate that an error has occurred. All the drivers using this function were changed appropriately (in this case just the clk-exynos5410). This patch was suggested by Tomasz Figa in http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg34982.html Signed-off-by: Humberto Silva Naves <hsnaves@gmail.com> --- drivers/clk/samsung/clk-exynos5410.c | 2 ++ drivers/clk/samsung/clk.c | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-)