⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adm_init.c

📁 Ethernet switch driver for adm6996L
💻 C
字号:
/* *       adm6996.c  -- ADM6996L linux interface driver. *	Copyright (c) 2004 Nikki Chumakov (nikki@gattaca.ru) */#include <linux/config.h>#include <linux/module.h>#include <linux/types.h>#include <linux/version.h>#include <linux/errno.h>#include <linux/proc_fs.h>#include <asm/system.h>#include <asm/io.h>#include <asm/segment.h>#include <asm/bitops.h>#include <asm/uaccess.h>#include <typedefs.h>#include <sbconfig.h>#include <sbpci.h>#include <sbutils.h>#include <bcmutils.h>#include <bcmdevs.h>#include <bcmenet47xx.h>#include "adm6996.h"static int verbose = 0;static struct adm_dev_t {	void    *sbh;   /* sb utils handle */	char*				vars;	int					vars_size;	bcmenetregs_t regsva;	adm_info_t* info;} adm_dev ;#ifdef MODULEstatic int debug = 0;MODULE_AUTHOR("Nikki Chumakov");MODULE_DESCRIPTION("ADM6996L Interface Driver");MODULE_LICENSE("GPL");MODULE_PARM(debug, "i");EXPORT_NO_SYMBOLS;#endif // MODULEint adm6996_init(void);#ifdef MODULEint init_module(void);void cleanup_module(void);int adm6996_cleanup (void);#endif#ifdef MODULEint init_module (void){	int ret;	if (verbose) 		printk ("Loading module adm6996 ...\n");	ret = adm6996_init ();	if (verbose)		printk ("Done\n");	return (ret);}void cleanup_module (void){	if (verbose)		printk ("Unloading module adm6996 ... ");	(void) adm6996_cleanup ();	if (verbose)		printk ("done\n");}int adm6996_cleanup (void){#ifdef CONFIG_PROC_FS	cleanup_sysctl ();  adm6996_unregister_procfs (0);#endif		adm_detach (adm_dev.info);			sb_detach(adm_dev.sbh);	return (0);}#endifadm_info_t* einfo;int adm6996_init (void){	int err = 0;	printk(KERN_INFO "ADM6996L Driver version %s\n", ADM6996_VERSION);			einfo = adm_dev.info = adm_attach (sbh);#ifdef CONFIG_PROC_FS  err = adm6996_register_procfs (adm_dev.info);	if (err)		return (err);	init_sysctl ();#endif				return (0);}

⌨️ 快捷键说明

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