2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister/*
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * CDDL HEADER START
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister *
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * The contents of this file are subject to the terms of the
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * Common Development and Distribution License (the "License").
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * You may not use this file except in compliance with the License.
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister *
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * or http://www.opensolaris.org/os/licensing.
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * See the License for the specific language governing permissions
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * and limitations under the License.
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister *
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * When distributing Covered Code, include this CDDL HEADER in each
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * If applicable, add the following below this CDDL HEADER, with the
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * fields enclosed by brackets "[]" replaced with your own identifying
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * information: Portions Copyright [yyyy] [name of copyright owner]
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister *
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * CDDL HEADER END
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister *
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister *
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * Use is subject to license terms.
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister */
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister/*
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister * Solaris kernel module linkage code to make a minimal module.
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister */
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister#include <sys/modctl.h>
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollisterint pmcs8001_fwversion = PMCS_FIRMWARE_VERSION;
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollisterstatic struct modlmisc modlmisc = {
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister &mod_miscops, "PMC-Sierra Firmware " PMCS_FIRMWARE_VERSION_STRING
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister};
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollisterstatic struct modlinkage modlinkage = {
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister MODREV_1,
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister (void *)&modlmisc
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister};
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollisterint
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister_init()
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister{
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister return (mod_install(&modlinkage));
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister}
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollisterint
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister_fini()
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister{
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister return (mod_remove(&modlinkage));
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister}
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollisterint
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister_info(struct modinfo *mip)
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister{
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister return (mod_info(&modlinkage, mip));
2fd415f4d49063706ad7fbc8b867ebe4a580b7fdDavid Hollister}