drivers/reset/sti/reset-syscfg.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
Simplify allocation.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/reset/sti/reset-syscfg.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/reset/sti/reset-syscfg.c b/drivers/reset/sti/reset-syscfg.c
index 2324060b747c..38f78d78fa4f 100644
--- a/drivers/reset/sti/reset-syscfg.c
+++ b/drivers/reset/sti/reset-syscfg.c
@@ -41,7 +41,7 @@ struct syscfg_reset_channel {
struct syscfg_reset_controller {
struct reset_controller_dev rst;
bool active_low;
- struct syscfg_reset_channel *channels;
+ struct syscfg_reset_channel channels[];
};
#define to_syscfg_reset_controller(_rst) \
@@ -135,15 +135,10 @@ static int syscfg_reset_controller_register(struct device *dev,
struct syscfg_reset_controller *rc;
int i, err;
- rc = devm_kzalloc(dev, sizeof(*rc), GFP_KERNEL);
+ rc = devm_kzalloc(dev, struct_size(rc, channels, data->nr_channels), GFP_KERNEL);
if (!rc)
return -ENOMEM;
- rc->channels = devm_kcalloc(dev, data->nr_channels,
- sizeof(*rc->channels), GFP_KERNEL);
- if (!rc->channels)
- return -ENOMEM;
-
rc->rst.ops = &syscfg_reset_ops;
rc->rst.of_node = dev->of_node;
rc->rst.nr_resets = data->nr_channels;
--
2.53.0
On Do, 2026-03-19 at 18:05 -0700, Rosen Penev wrote:
> Simplify allocation.
>
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
Applied to reset/next, thanks!
[1/1] reset: sti: kzalloc + kcalloc to kzalloc
https://git.pengutronix.de/cgit/pza/linux/commit/?id=223af4a569d1
regards
Philipp
On 3/20/26 02:05, Rosen Penev wrote:
> Simplify allocation.
>
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
> ---
> drivers/reset/sti/reset-syscfg.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/reset/sti/reset-syscfg.c b/drivers/reset/sti/reset-syscfg.c
> index 2324060b747c..38f78d78fa4f 100644
> --- a/drivers/reset/sti/reset-syscfg.c
> +++ b/drivers/reset/sti/reset-syscfg.c
> @@ -41,7 +41,7 @@ struct syscfg_reset_channel {
> struct syscfg_reset_controller {
> struct reset_controller_dev rst;
> bool active_low;
> - struct syscfg_reset_channel *channels;
> + struct syscfg_reset_channel channels[];
> };
>
> #define to_syscfg_reset_controller(_rst) \
> @@ -135,15 +135,10 @@ static int syscfg_reset_controller_register(struct device *dev,
> struct syscfg_reset_controller *rc;
> int i, err;
>
> - rc = devm_kzalloc(dev, sizeof(*rc), GFP_KERNEL);
> + rc = devm_kzalloc(dev, struct_size(rc, channels, data->nr_channels), GFP_KERNEL);
> if (!rc)
> return -ENOMEM;
>
> - rc->channels = devm_kcalloc(dev, data->nr_channels,
> - sizeof(*rc->channels), GFP_KERNEL);
> - if (!rc->channels)
> - return -ENOMEM;
> -
> rc->rst.ops = &syscfg_reset_ops;
> rc->rst.of_node = dev->of_node;
> rc->rst.nr_resets = data->nr_channels;
Hi Rosen
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Thanks
Patrice
© 2016 - 2026 Red Hat, Inc.