Hi Xiubo, On Tue, Jan 07, 2014 at 02:05:00PM +0800, Xiubo Li wrote: > Use devm_kzalloc instead of kzalloc to free automatically and make > the cleanup paths simpler and the code slightly shorter. > > Signed-off-by: Xiubo Li <li.xi...@freescale.com> > --- > drivers/pwm/core.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c > index 2ca9504..74c9f9a 100644 > --- a/drivers/pwm/core.c > +++ b/drivers/pwm/core.c > @@ -80,7 +80,6 @@ static void free_pwms(struct pwm_chip *chip) > > bitmap_clear(allocated_pwms, chip->base, chip->npwm); > > - kfree(chip->pwms); > chip->pwms = NULL; > } > > @@ -245,7 +244,9 @@ int pwmchip_add(struct pwm_chip *chip) > if (ret < 0) > goto out; > > - chip->pwms = kzalloc(chip->npwm * sizeof(*pwm), GFP_KERNEL); > + chip->pwms = devm_kzalloc(chip->dev, > + chip->npwm * sizeof(*pwm), > + GFP_KERNEL); > if (!chip->pwms) { > ret = -ENOMEM; > goto out;
Is it guaranteed that pwmchip_add()/free_pwms() will only be called in probe() and remove() paths? It is probably safe assumption, but maybe it should be mentioned in comments now that we definitely have this restricion. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/