kern_conf.c (41153) | kern_conf.c (43301) |
---|---|
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.28 1998/10/25 17:44:50 phk Exp $ | 33 * $Id: kern_conf.c,v 1.29 1998/11/14 21:58:51 wollman 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 --- 12 unchanged lines hidden (view full) --- 54 * 55 * A minimal stub routine can always return NODEV. 56 */ 57dev_t 58chrtoblk(dev_t dev) 59{ 60 struct cdevsw *cd; 61 | 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 --- 12 unchanged lines hidden (view full) --- 54 * 55 * A minimal stub routine can always return NODEV. 56 */ 57dev_t 58chrtoblk(dev_t dev) 59{ 60 struct cdevsw *cd; 61 |
62 if(cd = cdevsw[major(dev)]) { | 62 if((cd = cdevsw[major(dev)]) != NULL) { |
63 if (cd->d_bmaj != -1) 64 return(makedev(cd->d_bmaj,minor(dev))); 65 } 66 return(NODEV); 67} 68 69/* 70 * (re)place an entry in the bdevsw or cdevsw table --- 97 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: | 63 if (cd->d_bmaj != -1) 64 return(makedev(cd->d_bmaj,minor(dev))); 65 } 66 return(NODEV); 67} 68 69/* 70 * (re)place an entry in the bdevsw or cdevsw table --- 97 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)) | 176 if ((error = cdevsw_add(&data->dev, data->cdevsw, NULL)) != 0) |
177 return error; 178 break; 179 180 case MOD_UNLOAD: | 177 return error; 178 break; 179 180 case MOD_UNLOAD: |
181 if (error = cdevsw_add(&data->dev, NULL, NULL)) | 181 if ((error = cdevsw_add(&data->dev, NULL, NULL)) != 0) |
182 return error; 183 break; 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: | 182 return error; 183 break; 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: |
200 if (error = cdevsw_add(&data->cdev, data->cdevsw, NULL)) | 200 if ((error = cdevsw_add(&data->cdev, data->cdevsw, NULL)) != 0) |
201 return error; | 201 return error; |
202 if (error = bdevsw_add(&data->bdev, data->cdevsw, NULL)) { | 202 if ((error = bdevsw_add(&data->bdev, data->cdevsw, NULL)) != 0) { |
203 cdevsw_add(&data->bdev, NULL, NULL); 204 return error; 205 } 206 break; 207 208 case MOD_UNLOAD: | 203 cdevsw_add(&data->bdev, NULL, NULL); 204 return error; 205 } 206 break; 207 208 case MOD_UNLOAD: |
209 if (error = bdevsw_add(&data->bdev, NULL, NULL)) | 209 if ((error = bdevsw_add(&data->bdev, NULL, NULL)) != 0) |
210 return error; | 210 return error; |
211 if (error = cdevsw_add(&data->cdev, NULL, NULL)) | 211 if ((error = cdevsw_add(&data->cdev, NULL, NULL)) != 0) |
212 return error; 213 break; 214 } 215 216 if (data->chainevh) 217 return data->chainevh(mod, what, data->chainarg); 218 else 219 return 0; 220} | 212 return error; 213 break; 214 } 215 216 if (data->chainevh) 217 return data->chainevh(mod, what, data->chainarg); 218 else 219 return 0; 220} |