On 26/10/2025 07:40, Damien Zammit wrote:
Hi Mike,
Actually,
On 10/26/25 4:05 PM, Damien Zammit wrote:
I am thinking we don't need to change the irqhelp interface.
is there any reason the current ddekit irq mechanism really needs to be
changed? I don't think ddekit would do anything with the IRQ number
early until the handler is registered, where the acpi server is called
and the recorded value for the irq is ignored unless acpi lookup fails.
The interrupt handler is registered in libddekit/interrupt.c. The call
to irqhelp_install_interrupt_handler() explicitly uses the irq number
known to the driver and specifies -1 for each of the PCI parameters. To
perform the translation by the ACPI server it is necessary to pass -1
for the irq number and supply the PCI parameters and these are not
readily available to the code at that point. Even if it were possible to
find those parameters I don't think it would change the size of the code
change required compared to doing the translation in ddekit_pci_irq_enable.
It would indeed be quite simple to call the acpi_server directly rather
than using libirqhelp. My thinking was that that library was intended to
abstract all IRQ behaviour (and implementation details) in one place
that would avoid callers needing to know how the IRQ was derived. I've
no strong opinion either way, really.
All the best,
Mike.