1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #include <sys/promif.h> 28 #include <sys/promimpl.h> 29 #include <sys/prom_emul.h> 30 #include <sys/kmem.h> 31 32 /* 33 * Routines for walking the PROMs devinfo tree 34 * The prom tree is for /dev/openprom compatibility only, 35 * so we fail all calls except those needed by /dev/openprom 36 */ 37 38 /* 39 * Return the root nodeid. 40 * Calling prom_nextnode(0) returns the root nodeid. 41 */ 42 pnode_t 43 prom_rootnode(void) 44 { 45 static pnode_t rootnode; 46 47 return (rootnode ? rootnode : (rootnode = prom_nextnode(OBP_NONODE))); 48 } 49 50 pnode_t 51 prom_nextnode(pnode_t nodeid) 52 { 53 return (promif_nextnode(nodeid)); 54 } 55 56 pnode_t 57 prom_childnode(pnode_t nodeid) 58 { 59 60 return (promif_childnode(nodeid)); 61 } 62 63 /* 64 * disallow searching 65 */ 66 /*ARGSUSED*/ 67 pnode_t 68 prom_findnode_byname(pnode_t n, char *name) 69 { 70 return (OBP_NONODE); 71 } 72 73 pnode_t 74 prom_chosennode(void) 75 { 76 return (OBP_NONODE); 77 } 78 79 pnode_t 80 prom_optionsnode(void) 81 { 82 return (OBP_NONODE); 83 } 84 85 /*ARGSUSED*/ 86 pnode_t 87 prom_finddevice(char *path) 88 { 89 return (OBP_BADNODE); 90 } 91 92 pnode_t 93 prom_alias_node(void) 94 { 95 return (OBP_BADNODE); 96 } 97 98 /*ARGSUSED*/ 99 void 100 prom_pathname(char *buf) 101 { 102 /* nothing, just to get consconfig_dacf to compile */ 103 } 104