All of lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
@ 2023-11-15 16:59 Bartosz Golaszewski
  2023-11-15 16:59 ` [RESEND PATCH v2 1/4] bitmap: define a cleanup function for bitmaps Bartosz Golaszewski
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-11-15 16:59 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Here are a couple of updates to the interrupt simulator. Two are minor:
remove an unused field and reorder includes for readability. The third
one simplifies the error paths by using new cleanup macros. To that end
we also add a cleanup definition for dynamic bitmaps.

Resending rebased on top of v6.7-rc1 and with tags collected.

v1 -> v2:
- add a NULL-pointer check to the bitmap cleanup macro as advised by
  Peter Zijlstra
- initialize managed pointers when declaring them to create a clear pairing
  between the type and the cleanup action

Bartosz Golaszewski (4):
  bitmap: define a cleanup function for bitmaps
  genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
  genirq/irq_sim: order headers alphabetically
  genirq/irq_sim: shrink code by using cleanup helpers

 include/linux/bitmap.h |  3 +++
 kernel/irq/irq_sim.c   | 30 ++++++++++++------------------
 2 files changed, 15 insertions(+), 18 deletions(-)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [RESEND PATCH v2 1/4] bitmap: define a cleanup function for bitmaps
  2023-11-15 16:59 [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
@ 2023-11-15 16:59 ` Bartosz Golaszewski
  2023-11-15 16:59 ` [RESEND PATCH v2 2/4] genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx Bartosz Golaszewski
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-11-15 16:59 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Add support for autopointers for bitmaps allocated with bitmap_alloc()
et al.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Yury Norov <yury.norov@gmail.com>
---
 include/linux/bitmap.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h
index 99451431e4d6..df24c8fb1009 100644
--- a/include/linux/bitmap.h
+++ b/include/linux/bitmap.h
@@ -6,6 +6,7 @@
 
 #include <linux/align.h>
 #include <linux/bitops.h>
+#include <linux/cleanup.h>
 #include <linux/errno.h>
 #include <linux/find.h>
 #include <linux/limits.h>
@@ -127,6 +128,8 @@ unsigned long *bitmap_alloc_node(unsigned int nbits, gfp_t flags, int node);
 unsigned long *bitmap_zalloc_node(unsigned int nbits, gfp_t flags, int node);
 void bitmap_free(const unsigned long *bitmap);
 
+DEFINE_FREE(bitmap, unsigned long *, if (_T) bitmap_free(_T))
+
 /* Managed variants of the above. */
 unsigned long *devm_bitmap_alloc(struct device *dev,
 				 unsigned int nbits, gfp_t flags);
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [RESEND PATCH v2 2/4] genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
  2023-11-15 16:59 [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
  2023-11-15 16:59 ` [RESEND PATCH v2 1/4] bitmap: define a cleanup function for bitmaps Bartosz Golaszewski
@ 2023-11-15 16:59 ` Bartosz Golaszewski
  2023-11-15 16:59 ` [RESEND PATCH v2 3/4] genirq/irq_sim: order headers alphabetically Bartosz Golaszewski
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-11-15 16:59 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

The irqnum field is unused. Remove it.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 kernel/irq/irq_sim.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/kernel/irq/irq_sim.c b/kernel/irq/irq_sim.c
index dd76323ea3fd..f5ebb3ba6f9a 100644
--- a/kernel/irq/irq_sim.c
+++ b/kernel/irq/irq_sim.c
@@ -19,7 +19,6 @@ struct irq_sim_work_ctx {
 };
 
 struct irq_sim_irq_ctx {
-	int			irqnum;
 	bool			enabled;
 	struct irq_sim_work_ctx	*work_ctx;
 };
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [RESEND PATCH v2 3/4] genirq/irq_sim: order headers alphabetically
  2023-11-15 16:59 [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
  2023-11-15 16:59 ` [RESEND PATCH v2 1/4] bitmap: define a cleanup function for bitmaps Bartosz Golaszewski
  2023-11-15 16:59 ` [RESEND PATCH v2 2/4] genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx Bartosz Golaszewski
@ 2023-11-15 16:59 ` Bartosz Golaszewski
  2023-11-15 16:59 ` [RESEND PATCH v2 4/4] genirq/irq_sim: shrink code by using cleanup helpers Bartosz Golaszewski
  2023-11-29  9:18 ` [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
  4 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-11-15 16:59 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

For better readability and maintenance keep headers in alphabetical
order.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 kernel/irq/irq_sim.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/irq/irq_sim.c b/kernel/irq/irq_sim.c
index f5ebb3ba6f9a..b0d50b48dbd1 100644
--- a/kernel/irq/irq_sim.c
+++ b/kernel/irq/irq_sim.c
@@ -4,10 +4,10 @@
  * Copyright (C) 2020 Bartosz Golaszewski <bgolaszewski@baylibre.com>
  */
 
+#include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/irq_sim.h>
 #include <linux/irq_work.h>
-#include <linux/interrupt.h>
 #include <linux/slab.h>
 
 struct irq_sim_work_ctx {
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [RESEND PATCH v2 4/4] genirq/irq_sim: shrink code by using cleanup helpers
  2023-11-15 16:59 [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
                   ` (2 preceding siblings ...)
  2023-11-15 16:59 ` [RESEND PATCH v2 3/4] genirq/irq_sim: order headers alphabetically Bartosz Golaszewski
@ 2023-11-15 16:59 ` Bartosz Golaszewski
  2023-11-29  9:18 ` [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
  4 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-11-15 16:59 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Use the new __free helper from linux/cleanup.h to remove all gotos and
simplify the error paths.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 kernel/irq/irq_sim.c | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/kernel/irq/irq_sim.c b/kernel/irq/irq_sim.c
index b0d50b48dbd1..82b7b5051249 100644
--- a/kernel/irq/irq_sim.c
+++ b/kernel/irq/irq_sim.c
@@ -4,6 +4,7 @@
  * Copyright (C) 2020 Bartosz Golaszewski <bgolaszewski@baylibre.com>
  */
 
+#include <linux/cleanup.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/irq_sim.h>
@@ -163,33 +164,27 @@ static const struct irq_domain_ops irq_sim_domain_ops = {
 struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode,
 					 unsigned int num_irqs)
 {
-	struct irq_sim_work_ctx *work_ctx;
-
-	work_ctx = kmalloc(sizeof(*work_ctx), GFP_KERNEL);
+	struct irq_sim_work_ctx *work_ctx __free(kfree) =
+				kmalloc(sizeof(*work_ctx), GFP_KERNEL);
 	if (!work_ctx)
-		goto err_out;
+		return ERR_PTR(-ENOMEM);
 
-	work_ctx->pending = bitmap_zalloc(num_irqs, GFP_KERNEL);
-	if (!work_ctx->pending)
-		goto err_free_work_ctx;
+	unsigned long *pending __free(bitmap) = bitmap_zalloc(num_irqs,
+							      GFP_KERNEL);
+	if (!pending)
+		return ERR_PTR(-ENOMEM);
 
 	work_ctx->domain = irq_domain_create_linear(fwnode, num_irqs,
 						    &irq_sim_domain_ops,
 						    work_ctx);
 	if (!work_ctx->domain)
-		goto err_free_bitmap;
+		return ERR_PTR(-ENOMEM);
 
 	work_ctx->irq_count = num_irqs;
 	work_ctx->work = IRQ_WORK_INIT_HARD(irq_sim_handle_irq);
+	work_ctx->pending = no_free_ptr(pending);
 
-	return work_ctx->domain;
-
-err_free_bitmap:
-	bitmap_free(work_ctx->pending);
-err_free_work_ctx:
-	kfree(work_ctx);
-err_out:
-	return ERR_PTR(-ENOMEM);
+	return no_free_ptr(work_ctx)->domain;
 }
 EXPORT_SYMBOL_GPL(irq_domain_create_sim);
 
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
  2023-11-15 16:59 [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
                   ` (3 preceding siblings ...)
  2023-11-15 16:59 ` [RESEND PATCH v2 4/4] genirq/irq_sim: shrink code by using cleanup helpers Bartosz Golaszewski
@ 2023-11-29  9:18 ` Bartosz Golaszewski
  2023-11-29 19:57   ` Yury Norov
  2023-12-04  8:47   ` Bartosz Golaszewski
  4 siblings, 2 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-11-29  9:18 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

On Wed, Nov 15, 2023 at 5:59 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> Here are a couple of updates to the interrupt simulator. Two are minor:
> remove an unused field and reorder includes for readability. The third
> one simplifies the error paths by using new cleanup macros. To that end
> we also add a cleanup definition for dynamic bitmaps.
>
> Resending rebased on top of v6.7-rc1 and with tags collected.
>
> v1 -> v2:
> - add a NULL-pointer check to the bitmap cleanup macro as advised by
>   Peter Zijlstra
> - initialize managed pointers when declaring them to create a clear pairing
>   between the type and the cleanup action
>
> Bartosz Golaszewski (4):
>   bitmap: define a cleanup function for bitmaps
>   genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
>   genirq/irq_sim: order headers alphabetically
>   genirq/irq_sim: shrink code by using cleanup helpers
>
>  include/linux/bitmap.h |  3 +++
>  kernel/irq/irq_sim.c   | 30 ++++++++++++------------------
>  2 files changed, 15 insertions(+), 18 deletions(-)
>
> --
> 2.40.1
>

It's been two weeks since this submission and ~2.5 months since the
first one so I guess, a gentle ping is in order. This is not a very
controversial series - can this be applied?

Bart

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
  2023-11-29  9:18 ` [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
@ 2023-11-29 19:57   ` Yury Norov
  2023-11-29 20:50     ` Bartosz Golaszewski
  2023-12-04  8:47   ` Bartosz Golaszewski
  1 sibling, 1 reply; 13+ messages in thread
From: Yury Norov @ 2023-11-29 19:57 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner, Marc Zyngier,
	Peter Zijlstra, linux-kernel, Bartosz Golaszewski

On Wed, Nov 29, 2023 at 10:18:15AM +0100, Bartosz Golaszewski wrote:
> On Wed, Nov 15, 2023 at 5:59 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> >
> > Here are a couple of updates to the interrupt simulator. Two are minor:
> > remove an unused field and reorder includes for readability. The third
> > one simplifies the error paths by using new cleanup macros. To that end
> > we also add a cleanup definition for dynamic bitmaps.
> >
> > Resending rebased on top of v6.7-rc1 and with tags collected.
> >
> > v1 -> v2:
> > - add a NULL-pointer check to the bitmap cleanup macro as advised by
> >   Peter Zijlstra
> > - initialize managed pointers when declaring them to create a clear pairing
> >   between the type and the cleanup action
> >
> > Bartosz Golaszewski (4):
> >   bitmap: define a cleanup function for bitmaps
> >   genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
> >   genirq/irq_sim: order headers alphabetically
> >   genirq/irq_sim: shrink code by using cleanup helpers
> >
> >  include/linux/bitmap.h |  3 +++
> >  kernel/irq/irq_sim.c   | 30 ++++++++++++------------------
> >  2 files changed, 15 insertions(+), 18 deletions(-)
> >
> > --
> > 2.40.1
> >
> 
> It's been two weeks since this submission and ~2.5 months since the
> first one so I guess, a gentle ping is in order. This is not a very
> controversial series - can this be applied?

Hi Bartosz,

I'm the first in the list for this series, but really only 1st patch
is related to bitmaps, and I already acked it. If you prefer that, I
can pull it in the bitmap tree.

Thanks,
Yury

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
  2023-11-29 19:57   ` Yury Norov
@ 2023-11-29 20:50     ` Bartosz Golaszewski
  0 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-11-29 20:50 UTC (permalink / raw)
  To: Yury Norov
  Cc: Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner, Marc Zyngier,
	Peter Zijlstra, linux-kernel, Bartosz Golaszewski

On Wed, Nov 29, 2023 at 8:59 PM Yury Norov <yury.norov@gmail.com> wrote:
>
> On Wed, Nov 29, 2023 at 10:18:15AM +0100, Bartosz Golaszewski wrote:
> > On Wed, Nov 15, 2023 at 5:59 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > >
> > > Here are a couple of updates to the interrupt simulator. Two are minor:
> > > remove an unused field and reorder includes for readability. The third
> > > one simplifies the error paths by using new cleanup macros. To that end
> > > we also add a cleanup definition for dynamic bitmaps.
> > >
> > > Resending rebased on top of v6.7-rc1 and with tags collected.
> > >
> > > v1 -> v2:
> > > - add a NULL-pointer check to the bitmap cleanup macro as advised by
> > >   Peter Zijlstra
> > > - initialize managed pointers when declaring them to create a clear pairing
> > >   between the type and the cleanup action
> > >
> > > Bartosz Golaszewski (4):
> > >   bitmap: define a cleanup function for bitmaps
> > >   genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
> > >   genirq/irq_sim: order headers alphabetically
> > >   genirq/irq_sim: shrink code by using cleanup helpers
> > >
> > >  include/linux/bitmap.h |  3 +++
> > >  kernel/irq/irq_sim.c   | 30 ++++++++++++------------------
> > >  2 files changed, 15 insertions(+), 18 deletions(-)
> > >
> > > --
> > > 2.40.1
> > >
> >
> > It's been two weeks since this submission and ~2.5 months since the
> > first one so I guess, a gentle ping is in order. This is not a very
> > controversial series - can this be applied?
>
> Hi Bartosz,
>
> I'm the first in the list for this series, but really only 1st patch
> is related to bitmaps, and I already acked it. If you prefer that, I
> can pull it in the bitmap tree.
>
> Thanks,
> Yury

If there's a risk it will conflict then you can apply it and provide
Thomas with an immutable branch against the irq tree, otherwise I
think Thomas can pick up all the patches.

Bartosz

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
  2023-11-29  9:18 ` [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
  2023-11-29 19:57   ` Yury Norov
@ 2023-12-04  8:47   ` Bartosz Golaszewski
  2023-12-11  9:14     ` Bartosz Golaszewski
  1 sibling, 1 reply; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-12-04  8:47 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

On Wed, Nov 29, 2023 at 10:18 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> On Wed, Nov 15, 2023 at 5:59 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> >
> > Here are a couple of updates to the interrupt simulator. Two are minor:
> > remove an unused field and reorder includes for readability. The third
> > one simplifies the error paths by using new cleanup macros. To that end
> > we also add a cleanup definition for dynamic bitmaps.
> >
> > Resending rebased on top of v6.7-rc1 and with tags collected.
> >
> > v1 -> v2:
> > - add a NULL-pointer check to the bitmap cleanup macro as advised by
> >   Peter Zijlstra
> > - initialize managed pointers when declaring them to create a clear pairing
> >   between the type and the cleanup action
> >
> > Bartosz Golaszewski (4):
> >   bitmap: define a cleanup function for bitmaps
> >   genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
> >   genirq/irq_sim: order headers alphabetically
> >   genirq/irq_sim: shrink code by using cleanup helpers
> >
> >  include/linux/bitmap.h |  3 +++
> >  kernel/irq/irq_sim.c   | 30 ++++++++++++------------------
> >  2 files changed, 15 insertions(+), 18 deletions(-)
> >
> > --
> > 2.40.1
> >
>
> It's been two weeks since this submission and ~2.5 months since the
> first one so I guess, a gentle ping is in order. This is not a very
> controversial series - can this be applied?
>
> Bart

Another ping...

Bartosz

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
  2023-12-04  8:47   ` Bartosz Golaszewski
@ 2023-12-11  9:14     ` Bartosz Golaszewski
  2023-12-19 20:17       ` Bartosz Golaszewski
  0 siblings, 1 reply; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-12-11  9:14 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: linux-kernel, Bartosz Golaszewski, Yury Norov, Andy Shevchenko,
	Marc Zyngier, Peter Zijlstra, Rasmus Villemoes

On Mon, Dec 4, 2023 at 9:47 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> On Wed, Nov 29, 2023 at 10:18 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > On Wed, Nov 15, 2023 at 5:59 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > >
> > > Here are a couple of updates to the interrupt simulator. Two are minor:
> > > remove an unused field and reorder includes for readability. The third
> > > one simplifies the error paths by using new cleanup macros. To that end
> > > we also add a cleanup definition for dynamic bitmaps.
> > >
> > > Resending rebased on top of v6.7-rc1 and with tags collected.
> > >
> > > v1 -> v2:
> > > - add a NULL-pointer check to the bitmap cleanup macro as advised by
> > >   Peter Zijlstra
> > > - initialize managed pointers when declaring them to create a clear pairing
> > >   between the type and the cleanup action
> > >
> > > Bartosz Golaszewski (4):
> > >   bitmap: define a cleanup function for bitmaps
> > >   genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
> > >   genirq/irq_sim: order headers alphabetically
> > >   genirq/irq_sim: shrink code by using cleanup helpers
> > >
> > >  include/linux/bitmap.h |  3 +++
> > >  kernel/irq/irq_sim.c   | 30 ++++++++++++------------------
> > >  2 files changed, 15 insertions(+), 18 deletions(-)
> > >
> > > --
> > > 2.40.1
> > >
> >
> > It's been two weeks since this submission and ~2.5 months since the
> > first one so I guess, a gentle ping is in order. This is not a very
> > controversial series - can this be applied?
> >
> > Bart
>
> Another ping...
>
> Bartosz

Thomas,

Is there any formal reason why this cannot be processed?

Bartosz

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
  2023-12-11  9:14     ` Bartosz Golaszewski
@ 2023-12-19 20:17       ` Bartosz Golaszewski
  2023-12-20 14:06         ` Andy Shevchenko
  0 siblings, 1 reply; 13+ messages in thread
From: Bartosz Golaszewski @ 2023-12-19 20:17 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: linux-kernel, Bartosz Golaszewski, Yury Norov, Andy Shevchenko,
	Marc Zyngier, Peter Zijlstra, Rasmus Villemoes

On Mon, Dec 11, 2023 at 10:14 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> On Mon, Dec 4, 2023 at 9:47 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > On Wed, Nov 29, 2023 at 10:18 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > >
> > > On Wed, Nov 15, 2023 at 5:59 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > >
> > > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > > >
> > > > Here are a couple of updates to the interrupt simulator. Two are minor:
> > > > remove an unused field and reorder includes for readability. The third
> > > > one simplifies the error paths by using new cleanup macros. To that end
> > > > we also add a cleanup definition for dynamic bitmaps.
> > > >
> > > > Resending rebased on top of v6.7-rc1 and with tags collected.
> > > >
> > > > v1 -> v2:
> > > > - add a NULL-pointer check to the bitmap cleanup macro as advised by
> > > >   Peter Zijlstra
> > > > - initialize managed pointers when declaring them to create a clear pairing
> > > >   between the type and the cleanup action
> > > >
> > > > Bartosz Golaszewski (4):
> > > >   bitmap: define a cleanup function for bitmaps
> > > >   genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx
> > > >   genirq/irq_sim: order headers alphabetically
> > > >   genirq/irq_sim: shrink code by using cleanup helpers
> > > >
> > > >  include/linux/bitmap.h |  3 +++
> > > >  kernel/irq/irq_sim.c   | 30 ++++++++++++------------------
> > > >  2 files changed, 15 insertions(+), 18 deletions(-)
> > > >
> > > > --
> > > > 2.40.1
> > > >
> > >
> > > It's been two weeks since this submission and ~2.5 months since the
> > > first one so I guess, a gentle ping is in order. This is not a very
> > > controversial series - can this be applied?
> > >
> > > Bart
> >
> > Another ping...
> >
> > Bartosz
>
> Thomas,
>
> Is there any formal reason why this cannot be processed?
>
> Bartosz

Ping.

Bartosz

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates
  2023-12-19 20:17       ` Bartosz Golaszewski
@ 2023-12-20 14:06         ` Andy Shevchenko
  0 siblings, 0 replies; 13+ messages in thread
From: Andy Shevchenko @ 2023-12-20 14:06 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: Thomas Gleixner, linux-kernel, Bartosz Golaszewski, Yury Norov,
	Marc Zyngier, Peter Zijlstra, Rasmus Villemoes

On Tue, Dec 19, 2023 at 09:17:38PM +0100, Bartosz Golaszewski wrote:
> On Mon, Dec 11, 2023 at 10:14 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > On Mon, Dec 4, 2023 at 9:47 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > On Wed, Nov 29, 2023 at 10:18 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> > > > On Wed, Nov 15, 2023 at 5:59 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:

...

> > > > It's been two weeks since this submission and ~2.5 months since the
> > > > first one so I guess, a gentle ping is in order. This is not a very
> > > > controversial series - can this be applied?
> > >
> > > Another ping...
> >
> > Is there any formal reason why this cannot be processed?
>
> Ping.

Instead you can now just say that you are going to apply this via your tree,
if there won't be objections, e.g., within a week (or two as it's a holiday
season).

In the PR to Linus you can explain why it's taken like this.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [RESEND PATCH v2 4/4] genirq/irq_sim: shrink code by using cleanup helpers
  2024-01-22 12:42 Bartosz Golaszewski
@ 2024-01-22 12:42 ` Bartosz Golaszewski
  0 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2024-01-22 12:42 UTC (permalink / raw)
  To: Yury Norov, Andy Shevchenko, Rasmus Villemoes, Thomas Gleixner,
	Marc Zyngier, Peter Zijlstra
  Cc: linux-kernel, Bartosz Golaszewski

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

Use the new __free helper from linux/cleanup.h to remove all gotos and
simplify the error paths.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
 kernel/irq/irq_sim.c | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/kernel/irq/irq_sim.c b/kernel/irq/irq_sim.c
index b0d50b48dbd1..82b7b5051249 100644
--- a/kernel/irq/irq_sim.c
+++ b/kernel/irq/irq_sim.c
@@ -4,6 +4,7 @@
  * Copyright (C) 2020 Bartosz Golaszewski <bgolaszewski@baylibre.com>
  */
 
+#include <linux/cleanup.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/irq_sim.h>
@@ -163,33 +164,27 @@ static const struct irq_domain_ops irq_sim_domain_ops = {
 struct irq_domain *irq_domain_create_sim(struct fwnode_handle *fwnode,
 					 unsigned int num_irqs)
 {
-	struct irq_sim_work_ctx *work_ctx;
-
-	work_ctx = kmalloc(sizeof(*work_ctx), GFP_KERNEL);
+	struct irq_sim_work_ctx *work_ctx __free(kfree) =
+				kmalloc(sizeof(*work_ctx), GFP_KERNEL);
 	if (!work_ctx)
-		goto err_out;
+		return ERR_PTR(-ENOMEM);
 
-	work_ctx->pending = bitmap_zalloc(num_irqs, GFP_KERNEL);
-	if (!work_ctx->pending)
-		goto err_free_work_ctx;
+	unsigned long *pending __free(bitmap) = bitmap_zalloc(num_irqs,
+							      GFP_KERNEL);
+	if (!pending)
+		return ERR_PTR(-ENOMEM);
 
 	work_ctx->domain = irq_domain_create_linear(fwnode, num_irqs,
 						    &irq_sim_domain_ops,
 						    work_ctx);
 	if (!work_ctx->domain)
-		goto err_free_bitmap;
+		return ERR_PTR(-ENOMEM);
 
 	work_ctx->irq_count = num_irqs;
 	work_ctx->work = IRQ_WORK_INIT_HARD(irq_sim_handle_irq);
+	work_ctx->pending = no_free_ptr(pending);
 
-	return work_ctx->domain;
-
-err_free_bitmap:
-	bitmap_free(work_ctx->pending);
-err_free_work_ctx:
-	kfree(work_ctx);
-err_out:
-	return ERR_PTR(-ENOMEM);
+	return no_free_ptr(work_ctx)->domain;
 }
 EXPORT_SYMBOL_GPL(irq_domain_create_sim);
 
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-01-22 12:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-15 16:59 [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
2023-11-15 16:59 ` [RESEND PATCH v2 1/4] bitmap: define a cleanup function for bitmaps Bartosz Golaszewski
2023-11-15 16:59 ` [RESEND PATCH v2 2/4] genirq/irq_sim: remove unused field from struct irq_sim_irq_ctx Bartosz Golaszewski
2023-11-15 16:59 ` [RESEND PATCH v2 3/4] genirq/irq_sim: order headers alphabetically Bartosz Golaszewski
2023-11-15 16:59 ` [RESEND PATCH v2 4/4] genirq/irq_sim: shrink code by using cleanup helpers Bartosz Golaszewski
2023-11-29  9:18 ` [RESEND PATCH v2 0/4] genirq/irq_sim: misc updates Bartosz Golaszewski
2023-11-29 19:57   ` Yury Norov
2023-11-29 20:50     ` Bartosz Golaszewski
2023-12-04  8:47   ` Bartosz Golaszewski
2023-12-11  9:14     ` Bartosz Golaszewski
2023-12-19 20:17       ` Bartosz Golaszewski
2023-12-20 14:06         ` Andy Shevchenko
2024-01-22 12:42 Bartosz Golaszewski
2024-01-22 12:42 ` [RESEND PATCH v2 4/4] genirq/irq_sim: shrink code by using cleanup helpers Bartosz Golaszewski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.