Re: [PATCH 0/5] gpiolib: Handle immutable irq_chip structures
From: Marc Zyngier
Date: Fri Mar 04 2022 - 12:19:29 EST
On Thu, 24 Feb 2022 17:42:02 +0000,
Marc Zyngier <maz@xxxxxxxxxx> wrote:
>
> On 2022-02-24 16:40, Thierry Reding wrote:
> > On Wed, Feb 23, 2022 at 03:44:00PM +0000, Marc Zyngier wrote:
> >> I recently realised that the gpiolib play ugly tricks on the
> >> unsuspecting irq_chip structures by patching the callbacks.
> >>
> >> Not only this breaks when an irq_chip structure is made const (which
> >> really should be the default case), but it also forces this structure
> >> to be copied at nauseam for each instance of the GPIO block, which is
> >> a waste of memory.
> >>
> >> My current approach is to add a new irq_chip flag (IRQCHIP_IMMUTABLE)
> >> which does what it says on the tin: don't you dare writing there.
> >> Gpiolib is further updated not to install its own callbacks, and it
> >> becomes the responsibility of the driver to call into the gpiolib when
> >> required. This is similar to what we do for other subsystems such as
> >> PCI-MSI.
> >>
> >> 3 drivers are updated to this new model: M1, QC and Tegra, as I
> >> actively use them (though Tegra is hosed at the moment), keeping a
> >
> > Hosed in what way? Anything I can help with?
>
> Tegra186 doesn't boot as host1x is been broken since -rc1.
>
> I have been carrying this[1] patch which has been in -next for
> some time, but still not merged AFAICS.
Looks like it finally made it -rc6.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.