Deleted Added
full compact
kern_conf.c (43301) kern_conf.c (44975)
1/*-
2 * Parts Copyright (c) 1995 Terrence R. Lambert
3 * Copyright (c) 1995 Julian R. Elischer
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 16 unchanged lines hidden (view full) ---

25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
1/*-
2 * Parts Copyright (c) 1995 Terrence R. Lambert
3 * Copyright (c) 1995 Julian R. Elischer
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 16 unchanged lines hidden (view full) ---

25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * $Id: kern_conf.c,v 1.29 1998/11/14 21:58:51 wollman Exp $
33 * $Id: kern_conf.c,v 1.30 1999/01/27 21:49:55 dillon Exp $
34 */
35
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/module.h>
39#include <sys/conf.h>
40#include <sys/vnode.h>
41

--- 126 unchanged lines hidden (view full) ---

168int
169cdevsw_module_handler(module_t mod, int what, void *arg)
170{
171 struct cdevsw_module_data* data = (struct cdevsw_module_data*) arg;
172 int error;
173
174 switch (what) {
175 case MOD_LOAD:
34 */
35
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/module.h>
39#include <sys/conf.h>
40#include <sys/vnode.h>
41

--- 126 unchanged lines hidden (view full) ---

168int
169cdevsw_module_handler(module_t mod, int what, void *arg)
170{
171 struct cdevsw_module_data* data = (struct cdevsw_module_data*) arg;
172 int error;
173
174 switch (what) {
175 case MOD_LOAD:
176 if ((error = cdevsw_add(&data->dev, data->cdevsw, NULL)) != 0)
177 return error;
178 break;
176 error = cdevsw_add(&data->dev, data->cdevsw, NULL);
177 if (!error && data->chainevh)
178 error = data->chainevh(mod, what, data->chainarg);
179 return error;
179
180 case MOD_UNLOAD:
180
181 case MOD_UNLOAD:
181 if ((error = cdevsw_add(&data->dev, NULL, NULL)) != 0)
182 return error;
183 break;
182 if (data->chainevh) {
183 error = data->chainevh(mod, what, data->chainarg);
184 if (error)
185 return error;
186 }
187 return cdevsw_add(&data->dev, NULL, NULL);
184 }
185
186 if (data->chainevh)
187 return data->chainevh(mod, what, data->chainarg);
188 else
189 return 0;
190}
191
192int
193bdevsw_module_handler(module_t mod, int what, void* arg)
194{
195 struct bdevsw_module_data* data = (struct bdevsw_module_data*) arg;
196 int error;
197
198 switch (what) {
199 case MOD_LOAD:
188 }
189
190 if (data->chainevh)
191 return data->chainevh(mod, what, data->chainarg);
192 else
193 return 0;
194}
195
196int
197bdevsw_module_handler(module_t mod, int what, void* arg)
198{
199 struct bdevsw_module_data* data = (struct bdevsw_module_data*) arg;
200 int error;
201
202 switch (what) {
203 case MOD_LOAD:
200 if ((error = cdevsw_add(&data->cdev, data->cdevsw, NULL)) != 0)
201 return error;
202 if ((error = bdevsw_add(&data->bdev, data->cdevsw, NULL)) != 0) {
203 cdevsw_add(&data->bdev, NULL, NULL);
204 return error;
205 }
206 break;
204 error = cdevsw_add(&data->cdev, data->cdevsw, NULL);
205 if (!error)
206 error = bdevsw_add(&data->bdev, data->cdevsw, NULL);
207 if (!error && data->chainevh)
208 error = data->chainevh(mod, what, data->chainarg);
209 return error;
207
208 case MOD_UNLOAD:
210
211 case MOD_UNLOAD:
209 if ((error = bdevsw_add(&data->bdev, NULL, NULL)) != 0)
210 return error;
211 if ((error = cdevsw_add(&data->cdev, NULL, NULL)) != 0)
212 return error;
213 break;
212 if (data->chainevh) {
213 error = data->chainevh(mod, what, data->chainarg);
214 if (error)
215 return error;
216 }
217 error = bdevsw_add(&data->bdev, NULL, NULL);
218 if (!error)
219 error = cdevsw_add(&data->cdev, NULL, NULL);
220 return error;
214 }
215
216 if (data->chainevh)
217 return data->chainevh(mod, what, data->chainarg);
218 else
219 return 0;
220}
221 }
222
223 if (data->chainevh)
224 return data->chainevh(mod, what, data->chainarg);
225 else
226 return 0;
227}