Thread (28 messages) 28 messages, 5 authors, 2021-10-02

Re: [PATCH 2/3] irqchip: SigmaStar SSD20xD gpi

From: Marc Zyngier <maz@kernel.org>
Date: 2021-09-30 14:11:38
Also in: linux-arm-kernel

On Thu, 30 Sep 2021 14:59:24 +0100,
Daniel Palmer [off-list ref] wrote:
Hi Marc,

On Thu, 30 Sept 2021 at 22:53, Marc Zyngier [off-list ref] wrote:
quoted
Somehow, the handler for this interrupt is set to handle_bad_irq(),
which probably isn't what you want. You'll have to find out who sets
this (there is a comment about that in gpiolib.c, but I haven't had a
chance to find where this is coming from).

Do you happen to set it in your driver?
The gpio driver (gpio-msc313.c) sets it during probe:

gpioirqchip = &gpiochip->irq;
gpioirqchip->chip = &msc313_gpio_irqchip;
gpioirqchip->fwnode = of_node_to_fwnode(dev->of_node);
gpioirqchip->parent_domain = parent_domain;
gpioirqchip->child_to_parent_hwirq = match_data->child_to_parent_hwirq;
gpioirqchip->populate_parent_alloc_arg = match_data->populate_parent_fwspec;
gpioirqchip->handler = handle_bad_irq;
gpioirqchip->default_type = IRQ_TYPE_NONE;
Right. I have no idea why this is a requirement, and I would normally
set it to whatever is the normal flow handler on this HW, but this
looks like the GPIO subsystem has some expectations here.

I'll let Linus comment on it.

	M.

-- 
Without deviation from the norm, progress is not possible.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help