Lines Matching defs:mdp
48 static md_node_t *link_device_node(mmd_t *mdp,
50 static int create_children(mmd_t *mdp,
52 static int create_peers(mmd_t *mdp,
54 static int device_tree_to_md(mmd_t *mdp, md_node_t *top);
148 mmd_t *mdp, md_node_t *np, di_node_t di, char *name, char *alt_name)
165 rv = md_add_data_property(mdp,
179 mmd_t *mdp, md_node_t *np, di_node_t di, char *name, char *alt_name)
198 rv = md_add_value_property(mdp, np, name, *pp_data);
204 link_device_node(mmd_t *mdp,
209 np = md_link_new_node(mdp, "iodevice", node, "fwd", "back");
214 if (md_add_string_property(mdp, np, "dev_path", path) != 0)
218 if (add_prom_string_prop(ph, mdp, np, di, "device_type", NULL) != 0)
221 if (add_prom_string_prop(ph, mdp, np, di, "compatible", NULL) != 0)
225 mdp, np, di, "device-id", "real-device-id") != 0)
229 mdp, np, di, "vendor-id", "real-vendor-id") != 0)
233 mdp, np, di, "class-code", "real-class-code") != 0)
239 md_free_node(mdp, np);
244 create_children(mmd_t *mdp,
257 md_node = link_device_node(mdp, ph, di_parent, md_parent, path);
266 md_child = link_device_node(mdp,
274 rv = create_peers(mdp, ph, md_node, di_child);
285 create_peers(mmd_t *mdp, di_prom_handle_t ph, md_node_t *node, di_node_t dev)
291 rv = create_children(mdp, ph, node, di_peer);
300 device_tree_to_md(mmd_t *mdp, md_node_t *top)
324 rv = create_children(mdp, ph, top, node);
339 mmd_t *mdp;
344 mdp = md_new_md();
345 if (mdp == NULL) {
348 rootp = md_new_node(mdp, "root");
350 md_destroy(mdp);
354 if (device_tree_to_md(mdp, rootp) != 0) {
355 md_destroy(mdp);
358 md_size = (int)md_gen_bin(mdp, &md_bufp);
361 md_destroy(mdp);
367 md_destroy(mdp);