diff mbox series

pwm: Remove unused radix tree

Message ID 20230413122947.428134-1-thierry.reding@gmail.com
State Accepted
Headers show
Series pwm: Remove unused radix tree | expand

Commit Message

Thierry Reding April 13, 2023, 12:29 p.m. UTC
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(-)

Comments

Uwe Kleine-König April 13, 2023, 8:55 p.m. UTC | #1
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
Thierry Reding April 14, 2023, 10:17 a.m. UTC | #2
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 mbox series

Patch

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);