1*d8d81063Sfei feng - Sun Microsystems - Beijing China /* 2*d8d81063Sfei feng - Sun Microsystems - Beijing China * CDDL HEADER START 3*d8d81063Sfei feng - Sun Microsystems - Beijing China * 4*d8d81063Sfei feng - Sun Microsystems - Beijing China * The contents of this file are subject to the terms of the 5*d8d81063Sfei feng - Sun Microsystems - Beijing China * Common Development and Distribution License (the "License"). 6*d8d81063Sfei feng - Sun Microsystems - Beijing China * You may not use this file except in compliance with the License. 7*d8d81063Sfei feng - Sun Microsystems - Beijing China * 8*d8d81063Sfei feng - Sun Microsystems - Beijing China * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*d8d81063Sfei feng - Sun Microsystems - Beijing China * or http://www.opensolaris.org/os/licensing. 10*d8d81063Sfei feng - Sun Microsystems - Beijing China * See the License for the specific language governing permissions 11*d8d81063Sfei feng - Sun Microsystems - Beijing China * and limitations under the License. 12*d8d81063Sfei feng - Sun Microsystems - Beijing China * 13*d8d81063Sfei feng - Sun Microsystems - Beijing China * When distributing Covered Code, include this CDDL HEADER in each 14*d8d81063Sfei feng - Sun Microsystems - Beijing China * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*d8d81063Sfei feng - Sun Microsystems - Beijing China * If applicable, add the following below this CDDL HEADER, with the 16*d8d81063Sfei feng - Sun Microsystems - Beijing China * fields enclosed by brackets "[]" replaced with your own identifying 17*d8d81063Sfei feng - Sun Microsystems - Beijing China * information: Portions Copyright [yyyy] [name of copyright owner] 18*d8d81063Sfei feng - Sun Microsystems - Beijing China * 19*d8d81063Sfei feng - Sun Microsystems - Beijing China * CDDL HEADER END 20*d8d81063Sfei feng - Sun Microsystems - Beijing China */ 21*d8d81063Sfei feng - Sun Microsystems - Beijing China 22*d8d81063Sfei feng - Sun Microsystems - Beijing China /* 23*d8d81063Sfei feng - Sun Microsystems - Beijing China * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24*d8d81063Sfei feng - Sun Microsystems - Beijing China * Use is subject to license terms. 25*d8d81063Sfei feng - Sun Microsystems - Beijing China */ 26*d8d81063Sfei feng - Sun Microsystems - Beijing China 27*d8d81063Sfei feng - Sun Microsystems - Beijing China /* 28*d8d81063Sfei feng - Sun Microsystems - Beijing China * misc module wrapper for a firmware module for mwl driver 29*d8d81063Sfei feng - Sun Microsystems - Beijing China * User must use elfwrap(1) to convert raw firmware data file to 30*d8d81063Sfei feng - Sun Microsystems - Beijing China * ELF object file. Then use ld(1) to link the ELF object file and 31*d8d81063Sfei feng - Sun Microsystems - Beijing China * this module to produce a kernel loadable module. 32*d8d81063Sfei feng - Sun Microsystems - Beijing China */ 33*d8d81063Sfei feng - Sun Microsystems - Beijing China 34*d8d81063Sfei feng - Sun Microsystems - Beijing China #include <sys/types.h> 35*d8d81063Sfei feng - Sun Microsystems - Beijing China #include <sys/param.h> 36*d8d81063Sfei feng - Sun Microsystems - Beijing China #include <sys/errno.h> 37*d8d81063Sfei feng - Sun Microsystems - Beijing China #include <sys/modctl.h> 38*d8d81063Sfei feng - Sun Microsystems - Beijing China 39*d8d81063Sfei feng - Sun Microsystems - Beijing China 40*d8d81063Sfei feng - Sun Microsystems - Beijing China extern struct mod_ops mod_miscops; 41*d8d81063Sfei feng - Sun Microsystems - Beijing China static struct modlmisc modlmisc = { 42*d8d81063Sfei feng - Sun Microsystems - Beijing China &mod_miscops, 43*d8d81063Sfei feng - Sun Microsystems - Beijing China "mwl firmware wrapper module 1.1" 44*d8d81063Sfei feng - Sun Microsystems - Beijing China }; 45*d8d81063Sfei feng - Sun Microsystems - Beijing China static struct modlinkage modlinkage = { 46*d8d81063Sfei feng - Sun Microsystems - Beijing China MODREV_1, 47*d8d81063Sfei feng - Sun Microsystems - Beijing China &modlmisc, 48*d8d81063Sfei feng - Sun Microsystems - Beijing China 0 49*d8d81063Sfei feng - Sun Microsystems - Beijing China }; 50*d8d81063Sfei feng - Sun Microsystems - Beijing China 51*d8d81063Sfei feng - Sun Microsystems - Beijing China int _init(void)52*d8d81063Sfei feng - Sun Microsystems - Beijing China_init(void) 53*d8d81063Sfei feng - Sun Microsystems - Beijing China { 54*d8d81063Sfei feng - Sun Microsystems - Beijing China return (mod_install(&modlinkage)); 55*d8d81063Sfei feng - Sun Microsystems - Beijing China } 56*d8d81063Sfei feng - Sun Microsystems - Beijing China 57*d8d81063Sfei feng - Sun Microsystems - Beijing China int _fini(void)58*d8d81063Sfei feng - Sun Microsystems - Beijing China_fini(void) 59*d8d81063Sfei feng - Sun Microsystems - Beijing China { 60*d8d81063Sfei feng - Sun Microsystems - Beijing China return (mod_remove(&modlinkage)); 61*d8d81063Sfei feng - Sun Microsystems - Beijing China } 62*d8d81063Sfei feng - Sun Microsystems - Beijing China 63*d8d81063Sfei feng - Sun Microsystems - Beijing China int _info(struct modinfo * modinfop)64*d8d81063Sfei feng - Sun Microsystems - Beijing China_info(struct modinfo *modinfop) 65*d8d81063Sfei feng - Sun Microsystems - Beijing China { 66*d8d81063Sfei feng - Sun Microsystems - Beijing China return (mod_info(&modlinkage, modinfop)); 67*d8d81063Sfei feng - Sun Microsystems - Beijing China } 68