[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87lf93oqgx.wl-maz@kernel.org>
Date: Tue, 27 Apr 2021 13:35:10 +0100
From: Marc Zyngier <maz@...nel.org>
To: Anirudha Sarangi <anirudha.sarangi@...inx.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Michal Simek <michal.simek@...inx.com>,
Valentin Schneider <valentin.schneider@....com>,
Douglas Anderson <dianders@...omium.org>,
Hans de Goede <hdegoede@...hat.com>,
Maulik Shah <mkshah@...eaurora.org>,
Zhen Lei <thunder.leizhen@...wei.com>,
<linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
<devicetree@...r.kernel.org>, <git@...inx.com>
Subject: Re: [PATCH 2/3] irqchip: Add support to remove irqchip driver modules.
On Tue, 27 Apr 2021 12:31:35 +0100,
Anirudha Sarangi <anirudha.sarangi@...inx.com> wrote:
>
> The existing irqchip implementation does not fully support use cases
> where an irqchip driver has to be used as a module. In particular there
> is no support to remove an irqchip driver module.
> The use cases where an irqchip driver has to be loaded and then removed
> as a module are really relevant in fpga world. A user can decide to
> have a irqchip as part of a removable partial fpga region. In such cases
> not only the corresponding irqchip driver has to be loaded as a module,
> but must also be removed when the removable partial region is removed.
>
> The existing implementation updates the existing framework to achieve
> the above said goal.
>
> Signed-off-by: Anirudha Sarangi <anirudha.sarangi@...inx.com>
There is absolutely no way we can entertain the removal of an
interrupt controller based on *this*.
What happen to the irqdesc structures? What happen when a client
driver decides to do a disable_irq(), or any other interaction with
the interrupt controller that now has dangling pointers everywhere (if
your third patch is supposed to be an example of how to use this
functionality)?
So no, you can't do that until you figure out all the dependencies
that need to be accounted for to safely remove an interrupt
controller.
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists