From b05232d624425f8584b511f0e102c3b963b00323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Mon, 25 Mar 2019 10:49:34 +0100 Subject: [PATCH] pwm: samsung: Don't uses devm_*() functions in ->request() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A call to ->request() is always paired by a call to ->free() before a given device is disposed. So the simplification that usually is possible when using devm_*() functions cannot be used here. So use plain kzalloc() and kfree() for improved runtime behaviour and reduced memory footprint. Signed-off-by: Uwe Kleine-König [thierry.reding@gmail.com: fix build failure] Signed-off-by: Thierry Reding --- drivers/pwm/pwm-samsung.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pwm/pwm-samsung.c b/drivers/pwm/pwm-samsung.c index 3762432dd6a7..6674e1e80175 100644 --- a/drivers/pwm/pwm-samsung.c +++ b/drivers/pwm/pwm-samsung.c @@ -226,7 +226,7 @@ static int pwm_samsung_request(struct pwm_chip *chip, struct pwm_device *pwm) return -EINVAL; } - our_chan = devm_kzalloc(chip->dev, sizeof(*our_chan), GFP_KERNEL); + our_chan = kzalloc(sizeof(*our_chan), GFP_KERNEL); if (!our_chan) return -ENOMEM; @@ -237,7 +237,7 @@ static int pwm_samsung_request(struct pwm_chip *chip, struct pwm_device *pwm) static void pwm_samsung_free(struct pwm_chip *chip, struct pwm_device *pwm) { - devm_kfree(chip->dev, pwm_get_chip_data(pwm)); + kfree(pwm_get_chip_data(pwm)); } static int pwm_samsung_enable(struct pwm_chip *chip, struct pwm_device *pwm)