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.