• Matti Vaittinen's avatar
    irqdomain: Allow giving name suffix for domain · 1e7c0529
    Matti Vaittinen authored
    
    
    Devices can provide multiple interrupt lines. One reason for this is that
    a device has multiple subfunctions, each providing its own interrupt line.
    Another reason is that a device can be designed to be used (also) on a
    system where some of the interrupts can be routed to another processor.
    
    A line often further acts as a demultiplex for specific interrupts
    and has it's respective set of interrupt (status, mask, ack, ...)
    registers.
    
    Regmap supports the handling of these registers and demultiplexing
    interrupts, but the interrupt domain code ends up assigning the same name
    for the per interrupt line domains. This causes a naming collision in the
    debugFS code and leads to confusion, as /proc/interrupts shows two separate
    interrupts with the same domain name and hardware interrupt number.
    
    Instead of adding a workaround in regmap or driver code, allow giving a
    name suffix for the domain name when the domain is created.
    
    Add a name_suffix field in the irq_domain_info structure and make
    irq_domain_instantiate() use this suffix if it is given when a domain is
    created.
    
    [ tglx: Adopt it to the cleanup patch and fixup the invalid NULL return ]
    Signed-off-by: default avatarMatti Vaittinen <mazziesaccount@gmail.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/all/871q2yvk5x.ffs@tglx
    1e7c0529
irqdomain.c 58.2 KB