mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
clk-lpc18xx-ccu: kzalloc + kcalloc to kzalloc_flex
Simplifies allocation by using a flexible array member. Also allows using __counted_by for extra runtime analysis. Signed-off-by: Rosen Penev <rosenp@gmail.com> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
committed by
Stephen Boyd
parent
2ceaa8b93b
commit
9a51504d7c
@@ -27,8 +27,8 @@
|
||||
#define CCU_BRANCH_HAVE_DIV2 BIT(1)
|
||||
|
||||
struct lpc18xx_branch_clk_data {
|
||||
const char **name;
|
||||
int num;
|
||||
const char *name[] __counted_by(num);
|
||||
};
|
||||
|
||||
struct lpc18xx_clk_branch {
|
||||
@@ -266,6 +266,7 @@ static void __init lpc18xx_ccu_init(struct device_node *np)
|
||||
{
|
||||
struct lpc18xx_branch_clk_data *clk_data;
|
||||
void __iomem *reg_base;
|
||||
size_t size;
|
||||
int i, ret;
|
||||
|
||||
reg_base = of_iomap(np, 0);
|
||||
@@ -274,19 +275,14 @@ static void __init lpc18xx_ccu_init(struct device_node *np)
|
||||
return;
|
||||
}
|
||||
|
||||
clk_data = kzalloc_obj(*clk_data);
|
||||
size = of_property_count_strings(np, "clock-names");
|
||||
clk_data = kzalloc_flex(*clk_data, name, size);
|
||||
if (!clk_data) {
|
||||
iounmap(reg_base);
|
||||
return;
|
||||
}
|
||||
|
||||
clk_data->num = of_property_count_strings(np, "clock-names");
|
||||
clk_data->name = kcalloc(clk_data->num, sizeof(char *), GFP_KERNEL);
|
||||
if (!clk_data->name) {
|
||||
iounmap(reg_base);
|
||||
kfree(clk_data);
|
||||
return;
|
||||
}
|
||||
clk_data->num = size;
|
||||
|
||||
for (i = 0; i < clk_data->num; i++) {
|
||||
ret = of_property_read_string_index(np, "clock-names", i,
|
||||
|
||||
Reference in New Issue
Block a user