I have two audio drivers using a shared irq. If possible, I would like to change one of the drivers to use a different irq number. I have tried to trace the function calls back through the kernel source but tend to get lost in the many layers structures.
I am looking at the 4.19.130 Linux Kernel.
see sound/soc/intel/skylake/skl.c
see sound/soc/intel/skylake/skl-sst-dsp.c
Can someone give me some tips on how to best track back through the code to locate where this IRQ value is set?
I am looking at the 4.19.130 Linux Kernel.
see sound/soc/intel/skylake/skl.c
C:
static int skl_acquire_irq(struct hdac_bus *bus, int do_disconnect)
{
struct skl *skl = bus_to_skl(bus);
int ret;
ret = request_threaded_irq(skl->pci->irq, skl_interrupt,
skl_threaded_handler,
IRQF_SHARED,
KBUILD_MODNAME, bus);
C:
int skl_dsp_acquire_irq(struct sst_dsp *sst)
{
struct sst_dsp_device *sst_dev = sst->sst_dev;
int ret;
/* Register the ISR */
ret = request_threaded_irq(sst->irq, sst->ops->irq_handler,
sst_dev->thread, IRQF_SHARED, "AudioDSP", sst);
Last edited: