openfirm.c (273655) | openfirm.c (283477) |
---|---|
1/* $NetBSD: Locore.c,v 1.7 2000/08/20 07:04:59 tsubai Exp $ */ 2 3/*- 4 * Copyright (C) 1995, 1996 Wolfgang Solfrank. 5 * Copyright (C) 1995, 1996 TooLs GmbH. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 42 unchanged lines hidden (view full) --- 51 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 52 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 53 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 54 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 55 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 56 */ 57 58#include <sys/cdefs.h> | 1/* $NetBSD: Locore.c,v 1.7 2000/08/20 07:04:59 tsubai Exp $ */ 2 3/*- 4 * Copyright (C) 1995, 1996 Wolfgang Solfrank. 5 * Copyright (C) 1995, 1996 TooLs GmbH. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 42 unchanged lines hidden (view full) --- 51 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 52 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 53 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 54 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 55 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 56 */ 57 58#include <sys/cdefs.h> |
59__FBSDID("$FreeBSD: stable/10/sys/dev/ofw/openfirm.c 273655 2014-10-26 01:58:18Z ian $"); | 59__FBSDID("$FreeBSD: stable/10/sys/dev/ofw/openfirm.c 283477 2015-05-24 17:51:57Z ian $"); |
60 61#include "opt_platform.h" 62 63#include <sys/param.h> 64#include <sys/kernel.h> 65#include <sys/lock.h> 66#include <sys/malloc.h> 67#include <sys/mutex.h> --- 81 unchanged lines hidden (view full) --- 149 */ 150 mtx_init(&xreflist_lock, "OF xreflist lock", NULL, MTX_DEF); 151 xrefinfo_create(OF_peer(0)); 152 xref_init_done = true; 153} 154SYSINIT(xrefinfo, SI_SUB_KMEM, SI_ORDER_ANY, xrefinfo_init, NULL); 155 156static struct xrefinfo * | 60 61#include "opt_platform.h" 62 63#include <sys/param.h> 64#include <sys/kernel.h> 65#include <sys/lock.h> 66#include <sys/malloc.h> 67#include <sys/mutex.h> --- 81 unchanged lines hidden (view full) --- 149 */ 150 mtx_init(&xreflist_lock, "OF xreflist lock", NULL, MTX_DEF); 151 xrefinfo_create(OF_peer(0)); 152 xref_init_done = true; 153} 154SYSINIT(xrefinfo, SI_SUB_KMEM, SI_ORDER_ANY, xrefinfo_init, NULL); 155 156static struct xrefinfo * |
157xrefinfo_find(phandle_t phandle, int find_by) | 157xrefinfo_find(uintptr_t key, int find_by) |
158{ 159 struct xrefinfo *rv, *xi; 160 161 rv = NULL; 162 mtx_lock(&xreflist_lock); 163 SLIST_FOREACH(xi, &xreflist, next_entry) { | 158{ 159 struct xrefinfo *rv, *xi; 160 161 rv = NULL; 162 mtx_lock(&xreflist_lock); 163 SLIST_FOREACH(xi, &xreflist, next_entry) { |
164 if ((find_by == FIND_BY_XREF && phandle == xi->xref) || 165 (find_by == FIND_BY_NODE && phandle == xi->node) || 166 (find_by == FIND_BY_DEV && phandle == (uintptr_t)xi->dev)) { | 164 if ((find_by == FIND_BY_XREF && (phandle_t)key == xi->xref) || 165 (find_by == FIND_BY_NODE && (phandle_t)key == xi->node) || 166 (find_by == FIND_BY_DEV && key == (uintptr_t)xi->dev)) { |
167 rv = xi; 168 break; 169 } 170 } 171 mtx_unlock(&xreflist_lock); 172 return (rv); 173} 174 --- 617 unchanged lines hidden --- | 167 rv = xi; 168 break; 169 } 170 } 171 mtx_unlock(&xreflist_lock); 172 return (rv); 173} 174 --- 617 unchanged lines hidden --- |