of: merge struct device_node
authorGrant Likely <grant.likely@secretlab.ca>
Thu, 15 Oct 2009 16:57:49 +0000 (10:57 -0600)
committerGrant Likely <grant.likely@secretlab.ca>
Thu, 15 Oct 2009 16:57:49 +0000 (10:57 -0600)
Merge of common code duplicated between Sparc, PowerPC and Microblaze

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Michal Simek <monstr@monstr.eu>
Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Acked-by: Stephen Rothwell <sfr@canb.auug.org.au>
arch/microblaze/include/asm/prom.h
arch/powerpc/include/asm/prom.h
arch/sparc/include/asm/prom.h
include/linux/of.h

index 11cb484..64e8b3a 100644 (file)
@@ -73,26 +73,6 @@ struct boot_param_header {
        u32     dt_struct_size; /* size of the DT structure block */
 };
 
-struct device_node {
-       const char *name;
-       const char *type;
-       phandle node;
-       phandle linux_phandle;
-       char    *full_name;
-
-       struct  property *properties;
-       struct  property *deadprops; /* removed properties */
-       struct  device_node *parent;
-       struct  device_node *child;
-       struct  device_node *sibling;
-       struct  device_node *next; /* next device of same type */
-       struct  device_node *allnext; /* next in list of all nodes */
-       struct  proc_dir_entry *pde; /* this node's proc directory */
-       struct  kref kref;
-       unsigned long _flags;
-       void    *data;
-};
-
 extern struct device_node *of_chosen;
 
 static inline int of_node_check_flag(struct device_node *n, unsigned long flag)
index c236326..c918db5 100644 (file)
@@ -71,26 +71,6 @@ struct boot_param_header
        u32     dt_struct_size;         /* size of the DT structure block */
 };
 
-struct device_node {
-       const char *name;
-       const char *type;
-       phandle node;
-       phandle linux_phandle;
-       char    *full_name;
-
-       struct  property *properties;
-       struct  property *deadprops; /* removed properties */
-       struct  device_node *parent;
-       struct  device_node *child;
-       struct  device_node *sibling;
-       struct  device_node *next;      /* next device of same type */
-       struct  device_node *allnext;   /* next in list of all nodes */
-       struct  proc_dir_entry *pde;    /* this node's proc directory */
-       struct  kref kref;
-       unsigned long _flags;
-       void    *data;
-};
-
 extern struct device_node *of_chosen;
 
 static inline int of_node_check_flag(struct device_node *n, unsigned long flag)
index b34f988..e5f4a1d 100644 (file)
 #define of_prop_cmp(s1, s2)            strcasecmp((s1), (s2))
 #define of_node_cmp(s1, s2)            strcmp((s1), (s2))
 
-struct of_irq_controller;
-struct device_node {
-       const char      *name;
-       const char      *type;
-       phandle node;
-       char    *path_component_name;
-       char    *full_name;
-
-       struct  property *properties;
-       struct  property *deadprops; /* removed properties */
-       struct  device_node *parent;
-       struct  device_node *child;
-       struct  device_node *sibling;
-       struct  device_node *next;      /* next device of same type */
-       struct  device_node *allnext;   /* next in list of all nodes */
-       struct  proc_dir_entry *pde;    /* this node's proc directory */
-       struct  kref kref;
-       unsigned long _flags;
-       void    *data;
-       unsigned int unique_id;
-
-       struct of_irq_controller *irq_trans;
-};
-
 struct of_irq_controller {
        unsigned int    (*irq_build)(struct device_node *, unsigned int, void *);
        void            *data;
index 4668b29..65a158d 100644 (file)
@@ -17,6 +17,7 @@
  */
 #include <linux/types.h>
 #include <linux/bitops.h>
+#include <linux/kref.h>
 #include <linux/mod_devicetable.h>
 
 typedef u32 phandle;
@@ -31,6 +32,37 @@ struct property {
        unsigned int unique_id;
 };
 
+#if defined(CONFIG_SPARC)
+struct of_irq_controller;
+#endif
+
+struct device_node {
+       const char *name;
+       const char *type;
+       phandle node;
+#if !defined(CONFIG_SPARC)
+       phandle linux_phandle;
+#endif
+       char    *full_name;
+
+       struct  property *properties;
+       struct  property *deadprops;    /* removed properties */
+       struct  device_node *parent;
+       struct  device_node *child;
+       struct  device_node *sibling;
+       struct  device_node *next;      /* next device of same type */
+       struct  device_node *allnext;   /* next in list of all nodes */
+       struct  proc_dir_entry *pde;    /* this node's proc directory */
+       struct  kref kref;
+       unsigned long _flags;
+       void    *data;
+#if defined(CONFIG_SPARC)
+       char    *path_component_name;
+       unsigned int unique_id;
+       struct of_irq_controller *irq_trans;
+#endif
+};
+
 #include <asm/prom.h>
 
 /* flag descriptions */