On Thu, 12 May 2022 18:35:55 +0100, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: > > On Thu, May 12, 2022 at 08:08:28PM +0300, Andy Shevchenko wrote: > > On Tue, Apr 19, 2022 at 03:18:36PM +0100, Marc Zyngier wrote: > > > This is a followup from [2]. > > > > > > 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. > > > > Is this brings us to the issue with IRQ chip name? > > > > The use case in my mind is the following: > > 1) we have two or more GPIO chips that supports IRQ; > > 2) the user registers two IRQs of the same (by number) pin on different chips; > > 3) cat /proc/interrupt will show 'my_gpio_chip XX', where XX is the number. > > > > So, do I understand correct current state of affairs? > > > > If so, we have to fix this to have any kind of ID added to the chip name that > > we can map /proc/interrupts output correctly. > > Hmm... Some drivers are using static names, some -- dynamically > prepared (one way or another). Either way I think the ID is good to > have if we still miss it. No, this is a terrible idea. /proc/interrupts gives you a hint of which driver/subsystem deals with the interrupt. This isn't a source of topological information. /sys/kernel/debug/irq has all the information you can dream of, and much more. Just make use of it. M. -- Without deviation from the norm, progress is not possible.