Message ID | 20230413122947.428134-1-thierry.reding@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | pwm: Remove unused radix tree | expand |
On Thu, Apr 13, 2023 at 02:29:47PM +0200, Thierry Reding wrote: > The radix tree's only use was to map PWM channels to the global number > space. With that number space gone, the radix tree is now unused, so it > can simply be removed. > > Signed-off-by: Thierry Reding <thierry.reding@gmail.com> Assuming you put that on top of my patch removing pwm_request() and pwm_free() (+ the fixes you mentioned in reply to it): Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Best regards Uwe
On Thu, Apr 13, 2023 at 10:55:41PM +0200, Uwe Kleine-König wrote: > On Thu, Apr 13, 2023 at 02:29:47PM +0200, Thierry Reding wrote: > > The radix tree's only use was to map PWM channels to the global number > > space. With that number space gone, the radix tree is now unused, so it > > can simply be removed. > > > > Signed-off-by: Thierry Reding <thierry.reding@gmail.com> > > Assuming you put that on top of my patch removing pwm_request() and > pwm_free() (+ the fixes you mentioned in reply to it): > > Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Yeah, that's exactly what I did. Thanks for the quick review. I've applied this now. Thierry
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c index 9ce85c6157e4..3dacceaef4a9 100644 --- a/drivers/pwm/core.c +++ b/drivers/pwm/core.c @@ -28,12 +28,11 @@ static DEFINE_MUTEX(pwm_lookup_lock); static LIST_HEAD(pwm_lookup_list); -/* protects access to pwm_chips, allocated_pwms, and pwm_tree */ +/* protects access to pwm_chips and allocated_pwms */ static DEFINE_MUTEX(pwm_lock); static LIST_HEAD(pwm_chips); static DECLARE_BITMAP(allocated_pwms, MAX_PWMS); -static RADIX_TREE(pwm_tree, GFP_KERNEL); /* Called with pwm_lock held */ static int alloc_pwms(unsigned int count) @@ -54,14 +53,6 @@ static int alloc_pwms(unsigned int count) /* Called with pwm_lock held */ static void free_pwms(struct pwm_chip *chip) { - unsigned int i; - - for (i = 0; i < chip->npwm; i++) { - struct pwm_device *pwm = &chip->pwms[i]; - - radix_tree_delete(&pwm_tree, pwm->pwm); - } - bitmap_clear(allocated_pwms, chip->base, chip->npwm); kfree(chip->pwms); @@ -302,8 +293,6 @@ int pwmchip_add(struct pwm_chip *chip) pwm->chip = chip; pwm->pwm = chip->base + i; pwm->hwpwm = i; - - radix_tree_insert(&pwm_tree, pwm->pwm, pwm); } list_add(&chip->list, &pwm_chips);
The radix tree's only use was to map PWM channels to the global number space. With that number space gone, the radix tree is now unused, so it can simply be removed. Signed-off-by: Thierry Reding <thierry.reding@gmail.com> --- drivers/pwm/core.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-)