adlib_card.c

来自「Linux内核源代码 为压缩文件 是<<Linux内核>&gt」· C语言 代码 · 共 73 行

C
73
字号
/* * sound/adlib_card.c * * Detection routine for the AdLib card. * * Copyright (C) by Hannu Savolainen 1993-1997 * * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL) * Version 2 (June 1991). See the "COPYING" file distributed with this software * for more info. */#include <linux/module.h>#include <linux/init.h>#include "sound_config.h"#include "opl3.h"static void __init attach_adlib_card(struct address_info *hw_config){	hw_config->slots[0] = opl3_init(hw_config->io_base, hw_config->osp, THIS_MODULE);}static int __init probe_adlib(struct address_info *hw_config){	return opl3_detect(hw_config->io_base, hw_config->osp);}static struct address_info cfg;static int __initdata io = -1;MODULE_PARM(io, "i");static int __init init_adlib(void){	cfg.io_base = io;	if (cfg.io_base == -1) {		printk(KERN_ERR "adlib: must specify I/O address.\n");		return -EINVAL;	}	if (probe_adlib(&cfg) == 0)		return -ENODEV;	attach_adlib_card(&cfg);	return 0;}static void __exit cleanup_adlib(void){	sound_unload_synthdev(cfg.slots[0]);	}module_init(init_adlib);module_exit(cleanup_adlib);#ifndef MODULEstatic int __init setup_adlib(char *str){        /* io */	int ints[2];	str = get_options(str, ARRAY_SIZE(ints), ints);		io = ints[1];	return 1;}__setup("adlib=", setup_adlib);#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?