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