File: of_externals.h

package info (click to toggle)
oflib 0git20070620-8
  • links: PTS
  • area: main
  • in suites: buster
  • size: 144 kB
  • sloc: ansic: 751; makefile: 46
file content (47 lines) | stat: -rw-r--r-- 1,818 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/***************************************************************************
 *   (C) Copyright 2006, 2007 Alastair Poole.  <alastairpoole@gmail.com>   * 
 *                                                                         *
 *   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 __OF_DEVICE_BY__
#define __OF_DEVICE_BY__

#define OF_SEARCH_NAME 0x01
#define OF_SEARCH_TYPE 0x02
#define OF_SEARCH_PHDL 0x03

struct device_node *_n_array[256];
int _n_idx;
int _n_sem;

struct device_node *_t_array[256];
int _t_idx;
int _t_sem;

struct device_node *_p_array[2];
int _p_sem;
int _p_idx;

void of_init(void);
void of_init_root(char *path);

struct device_node *of_find_node_by_type(const char *device_type, int type);
struct device_node *of_find_node_by_name(const char *name, int type);
struct device_node *of_find_node_by_path(const char *path);
struct device_node *of_find_node_by_phandle(uint32_t phandle);
struct device_node *of_get_parent(struct device_node *node);

void *of_find_property(struct device_node *node, const char *name, int *plen);
int of_test_property(struct device_node *node, const char *name);
int of_property_to_uint32(uint32_t *val, void *prop, uint32_t len);
int of_property_to_n_uint32(uint32_t *val, void *prop, uint32_t len, int n);
int of_property_to_n_uint64(uint64_t *val, void *prop, uint32_t len, int n);

struct device_node *of_find_type_devices(const char *device_type);
void of_find_type_devices_free(struct device_node *root);

#endif