aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man9/bus_release_resource.9
blob: 926b81c48ea3224a36c5471bd5a7c88ef5a2b5f3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
.\" -*- nroff -*-
.\"
.\" Copyright (c) 2000 Alexander Langer
.\"
.\" All rights reserved.
.\"
.\" This program is free software.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" %FreeBSD: src/share/man/man9/bus_release_resource.9,v 1.2.2.5 2001/12/17 11:30:18 ru Exp %
.\"
.\" $FreeBSD$
.Dd May 18, 2000
.Dt BUS_RELEASE_RESOURCE 9
.Os
.Sh 名称
.Nm bus_release_resource
.Nd バス上の資源の開放
.Sh 書式
.In sys/param.h
.In sys/bus.h
.Pp
.In machine/bus.h
.In sys/rman.h
.In machine/resource.h
.Fd #include <machine/resource.h>
.Ft int
.Fn bus_release_resource "device_t dev" "int type" "int rid" "struct resource *r"
.Sh 解説
.Xr bus_alloc_resource 9
によって割り当てられた資源を開放します。
その資源は開放時に使用中であってはなりません。
すなわち、適切な関数 (IRQ のための
.Xr bus_teardown_intr 9
など) を事前に呼び出してください。
.Bl -item
.It
.Fa dev
は、資源を所有しているデバイスです。
.It
.Fa type
は、開放される資源の型です。
以前に割り当てた時と同一の型でなければなりません。
有効な型については
.Xr bus_alloc_resource 9
を参照してください。
.It
.Fa rid
は、資源の資源識別子です。
.Fa rid
は
.Xr bus_alloc_resource 9
によって返された識別子と同一でなければなりません。
.It
.Fa r
は
.Va struct resource
構造体へのポインタで、すなわち
.Xr bus_alloc_resource 9
によって返された資源そのものです。
.El
.Sh 戻り値
デバイス
.Fa dev
が親を持たない場合には
.Er EINVAL
が返され、そうでない場合には
.Dv 0
が返されます。
資源を開放できない場合には、カーネルはパニックするでしょう。
.Sh 使用例
.Bd -literal
	/* IRQ の不活性化 */
	bus_teardown_intr(dev, foosoftc->irqres, foosoftc->irqid);

	/* IRQ 資源の開放 */
	bus_release_resource(dev, SYS_RES_IRQ, foosoftc->irqid,
		foosoftc->irqres);

	/* 入出力ポートの資源の開放 */
	bus_release_resource(dev, SYS_RES_IOPORT, foosoftc->portid,
		foosoftc->portres);
.Ed
.Sh 関連項目
.Xr bus_alloc_resource 9 ,
.Xr device 9 ,
.Xr driver 9
.Sh 作者
このマニュアルページは
.An Alexander Langer Aq alex@big.endian.de
が書きました。