diff options
Diffstat (limited to 'include/asm-sparc')
| -rw-r--r-- | include/asm-sparc/of_device.h | 20 | ||||
| -rw-r--r-- | include/asm-sparc/prom.h | 12 |
2 files changed, 22 insertions, 10 deletions
diff --git a/include/asm-sparc/of_device.h b/include/asm-sparc/of_device.h index 4816d102f918..80ea31f6e17f 100644 --- a/include/asm-sparc/of_device.h +++ b/include/asm-sparc/of_device.h | |||
| @@ -4,10 +4,12 @@ | |||
| 4 | 4 | ||
| 5 | #include <linux/device.h> | 5 | #include <linux/device.h> |
| 6 | #include <linux/mod_devicetable.h> | 6 | #include <linux/mod_devicetable.h> |
| 7 | #include <asm/openprom.h> | ||
| 7 | #include <asm/prom.h> | 8 | #include <asm/prom.h> |
| 8 | 9 | ||
| 9 | extern struct bus_type ebus_bus_type; | 10 | extern struct bus_type ebus_bus_type; |
| 10 | extern struct bus_type sbus_bus_type; | 11 | extern struct bus_type sbus_bus_type; |
| 12 | extern struct bus_type of_bus_type; | ||
| 11 | 13 | ||
| 12 | /* | 14 | /* |
| 13 | * The of_device is a kind of "base class" that is a superset of | 15 | * The of_device is a kind of "base class" that is a superset of |
| @@ -16,11 +18,25 @@ extern struct bus_type sbus_bus_type; | |||
| 16 | */ | 18 | */ |
| 17 | struct of_device | 19 | struct of_device |
| 18 | { | 20 | { |
| 19 | struct device_node *node; /* OF device node */ | 21 | struct device_node *node; |
| 20 | struct device dev; /* Generic device interface */ | 22 | struct device dev; |
| 23 | struct resource resource[PROMREG_MAX]; | ||
| 24 | unsigned int irqs[PROMINTR_MAX]; | ||
| 25 | int num_irqs; | ||
| 26 | |||
| 27 | void *sysdata; | ||
| 28 | |||
| 29 | int slot; | ||
| 30 | int portid; | ||
| 31 | int clock_freq; | ||
| 21 | }; | 32 | }; |
| 22 | #define to_of_device(d) container_of(d, struct of_device, dev) | 33 | #define to_of_device(d) container_of(d, struct of_device, dev) |
| 23 | 34 | ||
| 35 | extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name); | ||
| 36 | extern void of_iounmap(void __iomem *base, unsigned long size); | ||
| 37 | |||
| 38 | extern struct of_device *of_find_device_by_node(struct device_node *); | ||
| 39 | |||
| 24 | extern const struct of_device_id *of_match_device( | 40 | extern const struct of_device_id *of_match_device( |
| 25 | const struct of_device_id *matches, const struct of_device *dev); | 41 | const struct of_device_id *matches, const struct of_device *dev); |
| 26 | 42 | ||
diff --git a/include/asm-sparc/prom.h b/include/asm-sparc/prom.h index f9cf44c07164..86c13dccea3d 100644 --- a/include/asm-sparc/prom.h +++ b/include/asm-sparc/prom.h | |||
| @@ -25,11 +25,6 @@ | |||
| 25 | typedef u32 phandle; | 25 | typedef u32 phandle; |
| 26 | typedef u32 ihandle; | 26 | typedef u32 ihandle; |
| 27 | 27 | ||
| 28 | struct interrupt_info { | ||
| 29 | int line; | ||
| 30 | int sense; /* +ve/-ve logic, edge or level, etc. */ | ||
| 31 | }; | ||
| 32 | |||
| 33 | struct property { | 28 | struct property { |
| 34 | char *name; | 29 | char *name; |
| 35 | int length; | 30 | int length; |
| @@ -43,9 +38,6 @@ struct device_node { | |||
| 43 | char *name; | 38 | char *name; |
| 44 | char *type; | 39 | char *type; |
| 45 | phandle node; | 40 | phandle node; |
| 46 | phandle linux_phandle; | ||
| 47 | int n_intrs; | ||
| 48 | struct interrupt_info *intrs; | ||
| 49 | char *path_component_name; | 41 | char *path_component_name; |
| 50 | char *full_name; | 42 | char *full_name; |
| 51 | 43 | ||
| @@ -69,6 +61,8 @@ struct device_node { | |||
| 69 | #define OF_IS_DYNAMIC(x) test_bit(OF_DYNAMIC, &x->_flags) | 61 | #define OF_IS_DYNAMIC(x) test_bit(OF_DYNAMIC, &x->_flags) |
| 70 | #define OF_MARK_DYNAMIC(x) set_bit(OF_DYNAMIC, &x->_flags) | 62 | #define OF_MARK_DYNAMIC(x) set_bit(OF_DYNAMIC, &x->_flags) |
| 71 | 63 | ||
| 64 | #define OF_BAD_ADDR ((u64)-1) | ||
| 65 | |||
| 72 | static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de) | 66 | static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de) |
| 73 | { | 67 | { |
| 74 | dn->pde = de; | 68 | dn->pde = de; |
| @@ -101,6 +95,8 @@ extern int of_set_property(struct device_node *node, const char *name, void *val | |||
| 101 | extern int of_getintprop_default(struct device_node *np, | 95 | extern int of_getintprop_default(struct device_node *np, |
| 102 | const char *name, | 96 | const char *name, |
| 103 | int def); | 97 | int def); |
| 98 | extern int of_n_addr_cells(struct device_node *np); | ||
| 99 | extern int of_n_size_cells(struct device_node *np); | ||
| 104 | 100 | ||
| 105 | extern void prom_build_devicetree(void); | 101 | extern void prom_build_devicetree(void); |
| 106 | 102 | ||
