diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/of_pdt.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/linux/of_pdt.h b/include/linux/of_pdt.h index c0a8774e45d0..303c5ffae9b4 100644 --- a/include/linux/of_pdt.h +++ b/include/linux/of_pdt.h | |||
@@ -13,10 +13,28 @@ | |||
13 | #ifndef _LINUX_OF_PDT_H | 13 | #ifndef _LINUX_OF_PDT_H |
14 | #define _LINUX_OF_PDT_H | 14 | #define _LINUX_OF_PDT_H |
15 | 15 | ||
16 | /* overridable operations for calling into the PROM */ | ||
17 | struct of_pdt_ops { | ||
18 | /* | ||
19 | * buf should be 32 bytes; return 0 on success. | ||
20 | * If prev is NULL, the first property will be returned. | ||
21 | */ | ||
22 | int (*nextprop)(phandle node, char *prev, char *buf); | ||
23 | |||
24 | /* for both functions, return proplen on success; -1 on error */ | ||
25 | int (*getproplen)(phandle node, const char *prop); | ||
26 | int (*getproperty)(phandle node, const char *prop, char *buf, | ||
27 | int bufsize); | ||
28 | |||
29 | /* phandles are 0 if no child or sibling exists */ | ||
30 | phandle (*getchild)(phandle parent); | ||
31 | phandle (*getsibling)(phandle node); | ||
32 | }; | ||
33 | |||
16 | extern void *prom_early_alloc(unsigned long size); | 34 | extern void *prom_early_alloc(unsigned long size); |
17 | 35 | ||
18 | /* for building the device tree */ | 36 | /* for building the device tree */ |
19 | extern void of_pdt_build_devicetree(phandle root_node); | 37 | extern void of_pdt_build_devicetree(phandle root_node, struct of_pdt_ops *ops); |
20 | 38 | ||
21 | extern void (*prom_build_more)(struct device_node *dp, | 39 | extern void (*prom_build_more)(struct device_node *dp, |
22 | struct device_node ***nextp); | 40 | struct device_node ***nextp); |