Merge tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 Aug 2012 03:44:03 +0000 (20:44 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 1 Aug 2012 03:44:03 +0000 (20:44 -0700)
Pull irqdomain changes from Grant Likely:
 "Round of refactoring and enhancements to irq_domain infrastructure.
  This series starts the process of simplifying irqdomain.  The ultimate
  goal is to merge LEGACY, LINEAR and TREE mappings into a single
  system, but had to back off from that after some last minute bugs.
  Instead it mainly reorganizes the code and ensures that the reverse
  map gets populated when the irq is mapped instead of the first time it
  is looked up.

  Merging of the irq_domain types is deferred to v3.7

  In other news, this series adds helpers for creating static mappings
  on a linear or tree mapping."

* tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux-2.6:
  irqdomain: Improve diagnostics when a domain mapping fails
  irqdomain: eliminate slow-path revmap lookups
  irqdomain: Fix irq_create_direct_mapping() to test irq_domain type.
  irqdomain: Eliminate dedicated radix lookup functions
  irqdomain: Support for static IRQ mapping and association.
  irqdomain: Always update revmap when setting up a virq
  irqdomain: Split disassociating code into separate function
  irq_domain: correct a minor wrong comment for linear revmap
  irq_domain: Standardise legacy/linear domain selection
  irqdomain: Make ops->map hook optional
  irqdomain: Remove unnecessary test for IRQ_DOMAIN_MAP_LEGACY
  irqdomain: Simple NUMA awareness.
  devicetree: add helper inline for retrieving a node's full name

1  2 
include/linux/of.h

diff --combined include/linux/of.h
@@@ -21,6 -21,7 +21,7 @@@
  #include <linux/kref.h>
  #include <linux/mod_devicetable.h>
  #include <linux/spinlock.h>
+ #include <linux/topology.h>
  
  #include <asm/byteorder.h>
  #include <asm/errno.h>
@@@ -158,11 -159,6 +159,6 @@@ static inline unsigned long of_read_ulo
  
  #define OF_BAD_ADDR   ((u64)-1)
  
- #ifndef of_node_to_nid
- static inline int of_node_to_nid(struct device_node *np) { return -1; }
- #define of_node_to_nid of_node_to_nid
- #endif
  static inline const char* of_node_full_name(struct device_node *np)
  {
        return np ? np->full_name : "<no-node>";
@@@ -386,13 -382,6 +382,13 @@@ static inline int of_property_read_u64(
        return -ENOSYS;
  }
  
 +static inline int of_property_match_string(struct device_node *np,
 +                                         const char *propname,
 +                                         const char *string)
 +{
 +      return -ENOSYS;
 +}
 +
  static inline struct device_node *of_parse_phandle(struct device_node *np,
                                                   const char *phandle_name,
                                                   int index)
        return NULL;
  }
  
 +static inline int of_parse_phandle_with_args(struct device_node *np,
 +                                           const char *list_name,
 +                                           const char *cells_name,
 +                                           int index,
 +                                           struct of_phandle_args *out_args)
 +{
 +      return -ENOSYS;
 +}
 +
  static inline int of_alias_get_id(struct device_node *np, const char *stem)
  {
        return -ENOSYS;
@@@ -427,6 -407,15 +423,15 @@@ static inline int of_machine_is_compati
        while (0)
  #endif /* CONFIG_OF */
  
+ #ifndef of_node_to_nid
+ static inline int of_node_to_nid(struct device_node *np)
+ {
+       return numa_node_id();
+ }
+ #define of_node_to_nid of_node_to_nid
+ #endif
  /**
   * of_property_read_bool - Findfrom a property
   * @np:               device node from which the property value is to be read.