diff mbox series

[1/2] genirq: allow irq_set_chip_handler_name_locked() to take a const irq_chip

Message ID 20220706151553.1580790-1-michael@walle.cc
State New
Headers show
Series [1/2] genirq: allow irq_set_chip_handler_name_locked() to take a const irq_chip | expand

Commit Message

Michael Walle July 6, 2022, 3:15 p.m. UTC
Similar to commit 393e1280f765 ("genirq: Allow irq_chip registration
functions to take a const irq_chip"), allow the
irq_set_chip_handler_name_locked() function to take a const irq_chip
argument.

Signed-off-by: Michael Walle <michael@walle.cc>
---
Given this is the correct approach, can this go through the pinctrl tree?
Of not, do we need an immutable tag?

 include/linux/irqdesc.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Marc Zyngier July 11, 2022, 9:11 a.m. UTC | #1
On Wed, 06 Jul 2022 16:15:52 +0100,
Michael Walle <michael@walle.cc> wrote:
> 
> Similar to commit 393e1280f765 ("genirq: Allow irq_chip registration
> functions to take a const irq_chip"), allow the
> irq_set_chip_handler_name_locked() function to take a const irq_chip
> argument.
> 
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
> Given this is the correct approach, can this go through the pinctrl tree?
> Of not, do we need an immutable tag?

I'd prefer this sort of change went into the IRQ tree, as it
potentially has a wide ranging effect, and that the rest of these
changes went via the IRQ tree too. It makes it easy to take the branch
down if something goes wrong.

Given that I already do carry a bunch of GPIO related patches, I'm
happy to add that to the mix if Linus ack the second patch.

The change itself looks good to me.

Thanks,

	M.
Linus Walleij July 11, 2022, 12:14 p.m. UTC | #2
On Mon, Jul 11, 2022 at 11:11 AM Marc Zyngier <maz@kernel.org> wrote:
> On Wed, 06 Jul 2022 16:15:52 +0100,
> Michael Walle <michael@walle.cc> wrote:
> >
> > Similar to commit 393e1280f765 ("genirq: Allow irq_chip registration
> > functions to take a const irq_chip"), allow the
> > irq_set_chip_handler_name_locked() function to take a const irq_chip
> > argument.
> >
> > Signed-off-by: Michael Walle <michael@walle.cc>
> > ---
> > Given this is the correct approach, can this go through the pinctrl tree?
> > Of not, do we need an immutable tag?
>
> I'd prefer this sort of change went into the IRQ tree, as it
> potentially has a wide ranging effect, and that the rest of these
> changes went via the IRQ tree too. It makes it easy to take the branch
> down if something goes wrong.
>
> Given that I already do carry a bunch of GPIO related patches, I'm
> happy to add that to the mix if Linus ack the second patch.

I ACKed it! Go ahead.

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
index a77584593f7d..1cd4e36890fb 100644
--- a/include/linux/irqdesc.h
+++ b/include/linux/irqdesc.h
@@ -209,14 +209,15 @@  static inline void irq_set_handler_locked(struct irq_data *data,
  * Must be called with irq_desc locked and valid parameters.
  */
 static inline void
-irq_set_chip_handler_name_locked(struct irq_data *data, struct irq_chip *chip,
+irq_set_chip_handler_name_locked(struct irq_data *data,
+				 const struct irq_chip *chip,
 				 irq_flow_handler_t handler, const char *name)
 {
 	struct irq_desc *desc = irq_data_to_desc(data);
 
 	desc->handle_irq = handler;
 	desc->name = name;
-	data->chip = chip;
+	data->chip = (struct irq_chip *)chip;
 }
 
 bool irq_check_status_bit(unsigned int irq, unsigned int bitmask);