Deleted Added
full compact
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 ---