1/*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 1997,1998,2003 Doug Rabson
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 *
28 * $FreeBSD$
29 */
30#ifndef _FBSD_SYS__BUS_MACROS_H
31#define _FBSD_SYS__BUS_MACROS_H
32
33#define bus_barrier(r, o, l, f) \
34	bus_space_barrier((r)->r_bustag, (r)->r_bushandle, (o), (l), (f))
35#define bus_poke_1(r, o, v) \
36	bus_space_poke_1((r)->r_bustag, (r)->r_bushandle, (o), (v))
37#define bus_peek_1(r, o, vp) \
38	bus_space_peek_1((r)->r_bustag, (r)->r_bushandle, (o), (vp))
39#define bus_read_1(r, o) \
40	bus_space_read_1((r)->r_bustag, (r)->r_bushandle, (o))
41#define bus_read_multi_1(r, o, d, c) \
42	bus_space_read_multi_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
43#define bus_read_region_1(r, o, d, c) \
44	bus_space_read_region_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
45#define bus_set_multi_1(r, o, v, c) \
46	bus_space_set_multi_1((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
47#define bus_set_region_1(r, o, v, c) \
48	bus_space_set_region_1((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
49#define bus_write_1(r, o, v) \
50	bus_space_write_1((r)->r_bustag, (r)->r_bushandle, (o), (v))
51#define bus_write_multi_1(r, o, d, c) \
52	bus_space_write_multi_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
53#define bus_write_region_1(r, o, d, c) \
54	bus_space_write_region_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
55#define bus_read_stream_1(r, o) \
56	bus_space_read_stream_1((r)->r_bustag, (r)->r_bushandle, (o))
57#define bus_read_multi_stream_1(r, o, d, c) \
58	bus_space_read_multi_stream_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
59#define bus_read_region_stream_1(r, o, d, c) \
60	bus_space_read_region_stream_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
61#define bus_set_multi_stream_1(r, o, v, c) \
62	bus_space_set_multi_stream_1((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
63#define bus_set_region_stream_1(r, o, v, c) \
64	bus_space_set_region_stream_1((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
65#define bus_write_stream_1(r, o, v) \
66	bus_space_write_stream_1((r)->r_bustag, (r)->r_bushandle, (o), (v))
67#define bus_write_multi_stream_1(r, o, d, c) \
68	bus_space_write_multi_stream_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
69#define bus_write_region_stream_1(r, o, d, c) \
70	bus_space_write_region_stream_1((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
71#define bus_poke_2(r, o, v) \
72	bus_space_poke_2((r)->r_bustag, (r)->r_bushandle, (o), (v))
73#define bus_peek_2(r, o, vp) \
74	bus_space_peek_2((r)->r_bustag, (r)->r_bushandle, (o), (vp))
75#define bus_read_2(r, o) \
76	bus_space_read_2((r)->r_bustag, (r)->r_bushandle, (o))
77#define bus_read_multi_2(r, o, d, c) \
78	bus_space_read_multi_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
79#define bus_read_region_2(r, o, d, c) \
80	bus_space_read_region_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
81#define bus_set_multi_2(r, o, v, c) \
82	bus_space_set_multi_2((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
83#define bus_set_region_2(r, o, v, c) \
84	bus_space_set_region_2((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
85#define bus_write_2(r, o, v) \
86	bus_space_write_2((r)->r_bustag, (r)->r_bushandle, (o), (v))
87#define bus_write_multi_2(r, o, d, c) \
88	bus_space_write_multi_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
89#define bus_write_region_2(r, o, d, c) \
90	bus_space_write_region_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
91#define bus_read_stream_2(r, o) \
92	bus_space_read_stream_2((r)->r_bustag, (r)->r_bushandle, (o))
93#define bus_read_multi_stream_2(r, o, d, c) \
94	bus_space_read_multi_stream_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
95#define bus_read_region_stream_2(r, o, d, c) \
96	bus_space_read_region_stream_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
97#define bus_set_multi_stream_2(r, o, v, c) \
98	bus_space_set_multi_stream_2((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
99#define bus_set_region_stream_2(r, o, v, c) \
100	bus_space_set_region_stream_2((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
101#define bus_write_stream_2(r, o, v) \
102	bus_space_write_stream_2((r)->r_bustag, (r)->r_bushandle, (o), (v))
103#define bus_write_multi_stream_2(r, o, d, c) \
104	bus_space_write_multi_stream_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
105#define bus_write_region_stream_2(r, o, d, c) \
106	bus_space_write_region_stream_2((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
107#define bus_poke_4(r, o, v) \
108	bus_space_poke_4((r)->r_bustag, (r)->r_bushandle, (o), (v))
109#define bus_peek_4(r, o, vp) \
110	bus_space_peek_4((r)->r_bustag, (r)->r_bushandle, (o), (vp))
111#define bus_read_4(r, o) \
112	bus_space_read_4((r)->r_bustag, (r)->r_bushandle, (o))
113#define bus_read_multi_4(r, o, d, c) \
114	bus_space_read_multi_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
115#define bus_read_region_4(r, o, d, c) \
116	bus_space_read_region_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
117#define bus_set_multi_4(r, o, v, c) \
118	bus_space_set_multi_4((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
119#define bus_set_region_4(r, o, v, c) \
120	bus_space_set_region_4((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
121#define bus_write_4(r, o, v) \
122	bus_space_write_4((r)->r_bustag, (r)->r_bushandle, (o), (v))
123#define bus_write_multi_4(r, o, d, c) \
124	bus_space_write_multi_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
125#define bus_write_region_4(r, o, d, c) \
126	bus_space_write_region_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
127#define bus_read_stream_4(r, o) \
128	bus_space_read_stream_4((r)->r_bustag, (r)->r_bushandle, (o))
129#define bus_read_multi_stream_4(r, o, d, c) \
130	bus_space_read_multi_stream_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
131#define bus_read_region_stream_4(r, o, d, c) \
132	bus_space_read_region_stream_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
133#define bus_set_multi_stream_4(r, o, v, c) \
134	bus_space_set_multi_stream_4((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
135#define bus_set_region_stream_4(r, o, v, c) \
136	bus_space_set_region_stream_4((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
137#define bus_write_stream_4(r, o, v) \
138	bus_space_write_stream_4((r)->r_bustag, (r)->r_bushandle, (o), (v))
139#define bus_write_multi_stream_4(r, o, d, c) \
140	bus_space_write_multi_stream_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
141#define bus_write_region_stream_4(r, o, d, c) \
142	bus_space_write_region_stream_4((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
143#define bus_poke_8(r, o, v) \
144	bus_space_poke_8((r)->r_bustag, (r)->r_bushandle, (o), (v))
145#define bus_peek_8(r, o, vp) \
146	bus_space_peek_8((r)->r_bustag, (r)->r_bushandle, (o), (vp))
147#define bus_read_8(r, o) \
148	bus_space_read_8((r)->r_bustag, (r)->r_bushandle, (o))
149#define bus_read_multi_8(r, o, d, c) \
150	bus_space_read_multi_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
151#define bus_read_region_8(r, o, d, c) \
152	bus_space_read_region_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
153#define bus_set_multi_8(r, o, v, c) \
154	bus_space_set_multi_8((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
155#define bus_set_region_8(r, o, v, c) \
156	bus_space_set_region_8((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
157#define bus_write_8(r, o, v) \
158	bus_space_write_8((r)->r_bustag, (r)->r_bushandle, (o), (v))
159#define bus_write_multi_8(r, o, d, c) \
160	bus_space_write_multi_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
161#define bus_write_region_8(r, o, d, c) \
162	bus_space_write_region_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
163#define bus_read_stream_8(r, o) \
164	bus_space_read_stream_8((r)->r_bustag, (r)->r_bushandle, (o))
165#define bus_read_multi_stream_8(r, o, d, c) \
166	bus_space_read_multi_stream_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
167#define bus_read_region_stream_8(r, o, d, c) \
168	bus_space_read_region_stream_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
169#define bus_set_multi_stream_8(r, o, v, c) \
170	bus_space_set_multi_stream_8((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
171#define bus_set_region_stream_8(r, o, v, c) \
172	bus_space_set_region_stream_8((r)->r_bustag, (r)->r_bushandle, (o), (v), (c))
173#define bus_write_stream_8(r, o, v) \
174	bus_space_write_stream_8((r)->r_bustag, (r)->r_bushandle, (o), (v))
175#define bus_write_multi_stream_8(r, o, d, c) \
176	bus_space_write_multi_stream_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
177#define bus_write_region_stream_8(r, o, d, c) \
178	bus_space_write_region_stream_8((r)->r_bustag, (r)->r_bushandle, (o), (d), (c))
179
180#endif /* _FBSD_SYS__BUS_MACROS_H */
181