31 Oct, 2011

1 commit

  • of_irq_init will scan the devicetree for matching interrupt controller
    nodes. Then it calls an initialization function for each found controller
    in the proper order with parent nodes initialized before child nodes.

    Based on initial pseudo code from Grant Likely.

    Changes in v4:
    - Drop unnecessary empty list check
    - Be more verbose on errors
    - Simplify "if (!desc) WARN_ON(1)" to "if (WARN_ON(!desc))"

    Changes in v3:
    - add missing kfree's found by Jamie
    - Implement Grant's comments to simplify the init loop
    - fix function comments

    Changes in v2:
    - Complete re-write of list searching code from Grant Likely

    Signed-off-by: Rob Herring
    Reviewed-by: Jamie Iles
    Tested-by: Thomas Abraham
    Acked-by: Grant Likely

    Rob Herring
     

28 Jul, 2011

1 commit

  • This patch adds irq_domain infrastructure for translating from
    hardware irq numbers to linux irqs. This is particularly important
    for architectures adding device tree support because the current
    implementation (excluding PowerPC and SPARC) cannot handle
    translation for more than a single interrupt controller. irq_domain
    supports device tree translation for any number of interrupt
    controllers.

    This patch converts x86, Microblaze, ARM and MIPS to use irq_domain
    for device tree irq translation. x86 is untested beyond compiling it,
    irq_domain is enabled for MIPS and Microblaze, but the old behaviour is
    preserved until the core code is modified to actually register an
    irq_domain yet. On ARM it works and is required for much of the new
    ARM device tree board support.

    PowerPC has /not/ been converted to use this new infrastructure. It
    is still missing some features before it can replace the virq
    infrastructure already in powerpc (see documentation on
    irq_domain_map/unmap for details). Followup patches will add the
    missing pieces and migrate PowerPC to use irq_domain.

    SPARC has its own method of managing interrupts from the device tree
    and is unaffected by this change.

    Acked-by: Ralf Baechle
    Signed-off-by: Grant Likely

    Grant Likely
     

20 Apr, 2011

1 commit


22 Oct, 2010

1 commit


13 Oct, 2010

1 commit


06 Jul, 2010

1 commit

  • Merge common irq mapping code between PowerPC and Microblaze.

    This patch merges of_irq_find_parent(), of_irq_map_raw() and
    of_irq_map_one(). The functions are dependent on one another, so all
    three are merged in a single patch. Other than cosmetic difference
    (ie. DBG() vs. pr_debug()), the implementations are identical.

    of_irq_to_resource() is also merged, but in this case the
    implementations are different. This patch drops the microblaze version
    and uses the powerpc implementation unchanged. The microblaze version
    essentially open-coded irq_of_parse_and_map() which it does not need
    to do. Therefore the powerpc version is safe to adopt.

    Signed-off-by: Grant Likely
    CC: Michal Simek
    CC: Benjamin Herrenschmidt
    CC: Stephen Rothwell

    Grant Likely
     

29 Jun, 2010

1 commit

  • Merge common code between PowerPC and Microblaze. SPARC implements
    irq_of_parse_and_map(), but the implementation is different, so it
    does not use this code.

    Signed-off-by: Grant Likely
    Acked-by: Benjamin Herrenschmidt
    Cc: Michal Simek
    Cc: "David S. Miller"
    Cc: Stephen Rothwell
    Cc: Jeremy Kerr

    Grant Likely