Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
[linux-2.6] / arch / sparc / include / asm / of_device.h
1 #ifndef _ASM_SPARC_OF_DEVICE_H
2 #define _ASM_SPARC_OF_DEVICE_H
3 #ifdef __KERNEL__
4
5 #include <linux/device.h>
6 #include <linux/of.h>
7 #include <linux/mod_devicetable.h>
8 #include <asm/openprom.h>
9
10 /*
11  * The of_device is a kind of "base class" that is a superset of
12  * struct device for use by devices attached to an OF node and
13  * probed using OF properties.
14  */
15 struct of_device
16 {
17         struct device_node              *node;
18         struct device                   dev;
19         struct resource                 resource[PROMREG_MAX];
20         unsigned int                    irqs[PROMINTR_MAX];
21         int                             num_irqs;
22
23         void                            *sysdata;
24
25         int                             slot;
26         int                             portid;
27         int                             clock_freq;
28 };
29
30 extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name);
31 extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size);
32
33 extern void of_propagate_archdata(struct of_device *bus);
34
35 /* This is just here during the transition */
36 #include <linux/of_platform.h>
37
38 #endif /* __KERNEL__ */
39 #endif /* _ASM_SPARC_OF_DEVICE_H */