Blame view

include/linux/of_pdt.h 1.43 KB
3cfc535c5   Andres Salomon   of/promtree: make...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  /*
   * Definitions for building a device tree by calling into the
   * Open Firmware PROM.
   *
   * Copyright (C) 2010  Andres Salomon <dilinger@queued.net>
   *
   * This program is free software; you can redistribute it and/or
   * modify it under the terms of the GNU General Public License
   * as published by the Free Software Foundation; either version
   * 2 of the License, or (at your option) any later version.
   */
  
  #ifndef _LINUX_OF_PDT_H
  #define _LINUX_OF_PDT_H
f90c34bd6   Andres Salomon   of/promtree: no l...
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  /* overridable operations for calling into the PROM */
  struct of_pdt_ops {
  	/*
  	 * buf should be 32 bytes; return 0 on success.
  	 * If prev is NULL, the first property will be returned.
  	 */
  	int (*nextprop)(phandle node, char *prev, char *buf);
  
  	/* for both functions, return proplen on success; -1 on error */
  	int (*getproplen)(phandle node, const char *prop);
  	int (*getproperty)(phandle node, const char *prop, char *buf,
  			int bufsize);
  
  	/* phandles are 0 if no child or sibling exists */
  	phandle (*getchild)(phandle parent);
  	phandle (*getsibling)(phandle node);
e2f2a93b6   Andres Salomon   of/promtree: add ...
31
32
33
  
  	/* return 0 on success; fill in 'len' with number of bytes in path */
  	int (*pkg2path)(phandle node, char *buf, const int buflen, int *len);
f90c34bd6   Andres Salomon   of/promtree: no l...
34
  };
3cfc535c5   Andres Salomon   of/promtree: make...
35
36
37
  extern void *prom_early_alloc(unsigned long size);
  
  /* for building the device tree */
f90c34bd6   Andres Salomon   of/promtree: no l...
38
  extern void of_pdt_build_devicetree(phandle root_node, struct of_pdt_ops *ops);
3cfc535c5   Andres Salomon   of/promtree: make...
39

ed4185029   Andres Salomon   of/promtree: add ...
40
  extern void (*of_pdt_build_more)(struct device_node *dp,
3cfc535c5   Andres Salomon   of/promtree: make...
41
42
43
  		struct device_node ***nextp);
  
  #endif /* _LINUX_OF_PDT_H */