• D
    genirq: generic chip: Add irq_gc_mask_disable_and_ack_set() · 20608924
    Doug Berger 提交于
    The irq_gc_mask_disable_reg_and_ack() function name implies that it
    provides the combined functions of irq_gc_mask_disable_reg() and
    irq_gc_ack().  However, the implementation does not actually do
    that since it writes the mask instead of the disable register. It
    also does not maintain the mask cache which makes it inappropriate
    to use with other masking functions.
    
    In addition, commit 659fb32d ("genirq: replace irq_gc_ack() with
    {set,clr}_bit variants (fwd)") effectively renamed irq_gc_ack() to
    irq_gc_ack_set_bit() so this function probably should have also been
    renamed at that time.
    
    The generic chip code currently provides three functions for use
    with the irq_mask member of the irq_chip structure and two functions
    for use with the irq_ack member of the irq_chip structure. These
    functions could be combined into six functions for use with the
    irq_mask_ack member of the irq_chip structure.  However, since only
    one of the combinations is currently used, only the function
    irq_gc_mask_disable_and_ack_set() is added by this commit.
    
    The '_reg' and '_bit' portions of the base function name were left
    out of the new combined function name in an attempt to keep the
    function name length manageable with the 80 character source code
    line length while still allowing the distinct aspects of each
    combination to be captured by the name.
    
    If other combinations are desired in the future please add them to
    the irq generic chip library at that time.
    Signed-off-by: NDoug Berger <opendmb@gmail.com>
    Signed-off-by: NMarc Zyngier <marc.zyngier@arm.com>
    20608924
irq.h 36.0 KB