• Tomi Valkeinen's avatar
    drm/tidss: IRQ code cleanup · d4652187
    Tomi Valkeinen authored
    The IRQ setup code is overly complex. All we really need to do is
    initialize the related fields in struct tidss_device, and request the
    IRQ.
    
    We can drop all the HW accesses, as they are pointless: the driver will
    set the IRQs correctly when it needs any of the IRQs, and at probe time
    we have done a reset, so we know that all the IRQs are masked by default
    in the hardware.
    
    Thus we can combine the tidss_irq_preinstall() and
    tidss_irq_postinstall() into the tidss_irq_install() function, drop the
    HW accesses, and drop the use of spinlock, as this is done at init time
    and there can be no races.
    
    We can also drop the HW access from the tidss_irq_uninstall(), as the
    driver will anyway disable and suspend the hardware at remove time.
    Reviewed-by: default avatarAradhya Bhatia <a-bhatia1@ti.com>
    Link: https://lore.kernel.org/r/20231109-tidss-probe-v2-9-ac91b5ea35c0@ideasonboard.comSigned-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
    d4652187
tidss_irq.c 3.26 KB