The irq_domain::dev is used for power management purposes related to the
irq domain. But for irqsteer, the runtime PM has been forbid in order to
workaround other issues. So there is no need to set data->domain->dev.
With this change, the devices which leverage the irqsteer irqchip will
not run into the following call trace when setting up irq handler.

BUG: sleeping function called from invalid context at 
/kernel/locking/spinlock_rt.c:48
in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 1, name: swapper/0
preempt_count: 1, expected: 0
RCU nest depth: 0, expected: 0
CPU: 4 PID: 1 Comm: swapper/0 Not tainted 6.6.32-rt31-yocto-preempt-rt #1
Hardware name: Freescale i.MX8QM MEK (DT)
Call trace:
 dump_backtrace+0x98/0xf8
 show_stack+0x20/0x38
 dump_stack_lvl+0x48/0x60
 dump_stack+0x18/0x28
 __might_resched+0x120/0x188
 rt_spin_lock+0x38/0xc8
 __pm_runtime_resume+0x50/0xc0
 irq_chip_pm_get+0x34/0xb0
 __irq_do_set_handler+0x180/0x260
 irq_set_chained_handler_and_data+0x68/0xb8
 dpu_probe+0x680/0x1d08
 platform_probe+0x70/0xd8
 really_probe+0x150/0x2c0
 __driver_probe_device+0x80/0x140
 driver_probe_device+0xdc/0x178
 __driver_attach+0x98/0x1b8
 bus_for_each_dev+0x84/0xf0
 driver_attach+0x2c/0x40
 bus_add_driver+0xf0/0x208
 driver_register+0x64/0x138
 __platform_driver_register+0x30/0x48
 dpu_driver_init+0x24/0x38
 do_one_initcall+0x74/0x2a8
 kernel_init_freeable+0x1ec/0x3d8
 kernel_init+0x30/0x1f8
 ret_from_fork+0x10/0x20
dpu-core 56180000.dpu: driver probed

Signed-off-by: Xulin Sun <xulin....@windriver.com>
---
 drivers/irqchip/irq-imx-irqsteer.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/irqchip/irq-imx-irqsteer.c 
b/drivers/irqchip/irq-imx-irqsteer.c
index 311342ae894b..1cf2539f6e4b 100644
--- a/drivers/irqchip/irq-imx-irqsteer.c
+++ b/drivers/irqchip/irq-imx-irqsteer.c
@@ -251,7 +251,6 @@ static int imx_irqsteer_probe(struct platform_device *pdev)
                ret = -ENOMEM;
                goto out;
        }
-       irq_domain_set_pm_device(data->domain, &pdev->dev);
 
        if (!data->irq_count || data->irq_count > CHAN_MAX_OUTPUT_INT) {
                ret = -EINVAL;
-- 
2.44.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#14116): 
https://lists.yoctoproject.org/g/linux-yocto/message/14116
Mute This Topic: https://lists.yoctoproject.org/mt/107048175/21656
Group Owner: linux-yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to