31 Jul, 2013

1 commit


20 May, 2012

3 commits

  • As with the existing emulation this should not be used in production
    systems but is useful for test purposes.

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

    Mark Brown
     
  • The modern idiom is to use irq_domain to allocate interrupts. This is
    useful partly to allow further infrastructure to be based on the domains
    and partly because it makes it much easier to allocate virtual interrupts
    to devices as we don't need to allocate a contiguous range of interrupt
    numbers.

    Convert the wm831x driver over to this infrastructure, using a legacy
    IRQ mapping if an irq_base is specified in platform data and otherwise
    using a linear mapping, always registering the interrupts even if they
    won't ever be used. Only boards which need to use the GPIOs as
    interrupts should need to use an irq_base.

    This means that we can't use the MFD irq_base management since the
    unless we're using an explicit irq_base from platform data we can't rely
    on a linear mapping of interrupts. Instead we need to map things via
    the irq_domain - provide a conveniencem function wm831x_irq() to save a
    small amount of typing when doing so. Looking at this I couldn't clearly
    see anything the MFD core could do to make this nicer.

    Since we're not supporting device tree yet there's no meaningful
    advantage if we don't do this conversion in one, the fact that the
    interrupt resources are used for repeated IP blocks makes accessor
    functions for the irq_domain more trouble to do than they're worth.

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

    Mark Brown
     
  • If we've not got a primary IRQ we shouldn't be trying to flag IRQ 0 as a
    wake source.

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

    Mark Brown
     

09 Jan, 2012

2 commits


24 Oct, 2011

2 commits


01 Aug, 2011

4 commits


27 May, 2011

1 commit

  • The fact that we can't actually raise any interrupts doesn't stop us
    setting up the IRQs we're exporting. While this isn't actually going
    to do anything it allows us to proceed further through device setup
    during board bringup and avoids issues with the MFD core not letting
    us suppress the configuration of IRQ resources.

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

    Mark Brown
     

27 Mar, 2011

1 commit


23 Mar, 2011

5 commits


14 Jan, 2011

3 commits


29 Sep, 2010

1 commit


28 May, 2010

2 commits


10 May, 2010

1 commit


14 Dec, 2009

1 commit

  • Replace the wm831x-local IRQ infrastructure with genirq, allowing access
    to the diagnostic infrastructure of genirq and allowing us to implement
    interrupt support for the GPIOs. The switchover is done within the
    wm831x specific IRQ API, further patches will convert the individual
    drivers to use genirq directly.

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

    Mark Brown
     

27 Oct, 2009

1 commit


17 Sep, 2009

1 commit

  • The WM831x includes an interrupt controller managing interrupts for
    the various functions on the chip. This patch adds support for the
    core interrupt block on the device.

    Ideally this would be supported by genirq, particularly for the
    GPIOs, but currently genirq is unable to cope with controllers on
    interrupt driven buses so we cut'n'paste the generic interface.
    Once genirq is able to cope chips like this it should be a case
    of filing the prefixes off the code and redoing wm831x-irq.c to
    move over.

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

    Mark Brown