11 Aug, 2015

1 commit

  • set_irq_flags is ARM specific with custom flags which have genirq
    equivalents. Convert drivers to use the genirq interfaces directly, so we
    can kill off set_irq_flags. The translation of flags is as follows:

    IRQF_VALID -> !IRQ_NOREQUEST
    IRQF_PROBE -> !IRQ_NOPROBE
    IRQF_NOAUTOEN -> IRQ_NOAUTOEN

    For IRQs managed by an irqdomain, the irqdomain core code handles clearing
    and setting IRQ_NOREQUEST already, so there is no need to do this in
    .map() functions and we can simply remove the set_irq_flags calls. Some
    users also modify IRQ_NOPROBE and this has been maintained although it
    is not clear that is really needed. There appears to be a great deal of
    blind copy and paste of this code.

    Signed-off-by: Rob Herring
    Acked-by: Linus Walleij
    Signed-off-by: Lee Jones

    Rob Herring
     

22 Jul, 2014

1 commit


19 Mar, 2014

1 commit


09 Jul, 2012

1 commit


20 Feb, 2012

1 commit


01 Aug, 2011

1 commit

  • This allows boards to leave the irq_base field unitialized and
    prevents them having to reserve irqs in the platform.
    pdata can be optional for irq support now. Without pdata the
    driver allocates some free irq range. With pdata and irq_base > 0
    the driver allocates exactly the specified irq.
    Without pdata the irq defaults to IRQF_TRIGGER_LOW.

    Signed-off-by: Sascha Hauer
    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Sascha Hauer
     

27 Mar, 2011

1 commit


14 Jan, 2011

2 commits


08 Mar, 2010

2 commits


18 Jan, 2010

1 commit


14 Dec, 2009

4 commits

  • Bring the WM8350 IRQ API more in line with the generic IRQ API by
    masking and unmasking interrupts as they are requested and freed.
    This is mostly just a case of deleting the mask and unmask calls
    from the individual drivers.

    The RTC driver is changed to mask the periodic IRQ after requesting
    it rather than only unmasking the alarm IRQ. If the periodic IRQ
    fires in the period where it is reqested then there will be a
    spurious notification but there should be no serious consequences
    from this.

    The CODEC drive is changed to explicitly disable headphone jack
    detection prior to requesting the IRQs. This will avoid the IRQ
    firing with no jack set up.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • This is done as simple code transformation, the semantics of the
    IRQ API provided by the core are are still very different to those
    of genirq (mainly with regard to masking).

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Rather than open coding individual IRQs in each function which
    manipulates them store data for IRQs in a table which is then
    referenced in the users.

    This is a substantial code shrink and should be a performance win in
    cases where only a single IRQ goes off at once since instead of
    reading four of the second level IRQ registers for each interrupt
    we read only the sub-registers which have had an interrupt flagged.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • In preparation for refactoring - it's over 700 lines of well-isolated
    code and having it in a file by itself makes things more managable.

    While we're at it make sure that we clean up the IRQ if we fail after
    acquiring it on init.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown