[PATCH 4/4] pwm: Don't initialize list head before calling list_add()

From: Uwe Kleine-König
Date: Tue Nov 15 2022 - 16:15:54 EST


list_add() just overwrites the members of the element to add (here:
chip->list) without any checks, even in the DEBUG_LIST case. So save the
effort to initialize the list.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx>
---
Hello,

this patch I'm not sure about. A quick grep shows there are (only?) 40
more code locations that call INIT_LIST_HEAD just before list_add().
In my understanding INIT_LIST_HEAD is only to initialize lists, but
chip->list is not a list, but the data needed to track chip as a list
member.

Best regards
Uwe

drivers/pwm/core.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index b43b24bd3c9f..61bacd8d9b44 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -299,7 +299,6 @@ int pwmchip_add(struct pwm_chip *chip)
radix_tree_insert(&pwm_tree, pwm->pwm, pwm);
}

- INIT_LIST_HEAD(&chip->list);
list_add(&chip->list, &pwm_chips);

mutex_unlock(&pwm_lock);
--
2.38.1