亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? davicom.c

?? LINUX 2.6.17.4的源碼
?? C
字號:
/* * drivers/net/phy/davicom.c * * Driver for Davicom PHYs * * Author: Andy Fleming * * Copyright (c) 2004 Freescale Semiconductor, Inc. * * This program is free software; you can redistribute  it and/or modify it * under  the terms of  the GNU General  Public License as published by the * Free Software Foundation;  either version 2 of the  License, or (at your * option) any later version. * */#include <linux/config.h>#include <linux/kernel.h>#include <linux/sched.h>#include <linux/string.h>#include <linux/errno.h>#include <linux/unistd.h>#include <linux/slab.h>#include <linux/interrupt.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/netdevice.h>#include <linux/etherdevice.h>#include <linux/skbuff.h>#include <linux/spinlock.h>#include <linux/mm.h>#include <linux/module.h>#include <linux/mii.h>#include <linux/ethtool.h>#include <linux/phy.h>#include <asm/io.h>#include <asm/irq.h>#include <asm/uaccess.h>#define MII_DM9161_SCR		0x10#define MII_DM9161_SCR_INIT	0x0610/* DM9161 Interrupt Register */#define MII_DM9161_INTR	0x15#define MII_DM9161_INTR_PEND		0x8000#define MII_DM9161_INTR_DPLX_MASK	0x0800#define MII_DM9161_INTR_SPD_MASK	0x0400#define MII_DM9161_INTR_LINK_MASK	0x0200#define MII_DM9161_INTR_MASK		0x0100#define MII_DM9161_INTR_DPLX_CHANGE	0x0010#define MII_DM9161_INTR_SPD_CHANGE	0x0008#define MII_DM9161_INTR_LINK_CHANGE	0x0004#define MII_DM9161_INTR_INIT 		0x0000#define MII_DM9161_INTR_STOP	\(MII_DM9161_INTR_DPLX_MASK | MII_DM9161_INTR_SPD_MASK \ | MII_DM9161_INTR_LINK_MASK | MII_DM9161_INTR_MASK)/* DM9161 10BT Configuration/Status */#define MII_DM9161_10BTCSR	0x12#define MII_DM9161_10BTCSR_INIT	0x7800MODULE_DESCRIPTION("Davicom PHY driver");MODULE_AUTHOR("Andy Fleming");MODULE_LICENSE("GPL");#define DM9161_DELAY 1static int dm9161_config_intr(struct phy_device *phydev){	int temp;	temp = phy_read(phydev, MII_DM9161_INTR);	if (temp < 0)		return temp;	if(PHY_INTERRUPT_ENABLED == phydev->interrupts )		temp &= ~(MII_DM9161_INTR_STOP);	else		temp |= MII_DM9161_INTR_STOP;	temp = phy_write(phydev, MII_DM9161_INTR, temp);	return temp;}static int dm9161_config_aneg(struct phy_device *phydev){	int err;	/* Isolate the PHY */	err = phy_write(phydev, MII_BMCR, BMCR_ISOLATE);	if (err < 0)		return err;	/* Configure the new settings */	err = genphy_config_aneg(phydev);	if (err < 0)		return err;	return 0;}static int dm9161_config_init(struct phy_device *phydev){	int err;	/* Isolate the PHY */	err = phy_write(phydev, MII_BMCR, BMCR_ISOLATE);	if (err < 0)		return err;	/* Do not bypass the scrambler/descrambler */	err = phy_write(phydev, MII_DM9161_SCR, MII_DM9161_SCR_INIT);	if (err < 0)		return err;	/* Clear 10BTCSR to default */	err = phy_write(phydev, MII_DM9161_10BTCSR, MII_DM9161_10BTCSR_INIT);	if (err < 0)		return err;	/* Reconnect the PHY, and enable Autonegotiation */	err = phy_write(phydev, MII_BMCR, BMCR_ANENABLE);	if (err < 0)		return err;	return 0;}static int dm9161_ack_interrupt(struct phy_device *phydev){	int err = phy_read(phydev, MII_DM9161_INTR);	return (err < 0) ? err : 0;}static struct phy_driver dm9161_driver = {	.phy_id		= 0x0181b880,	.name		= "Davicom DM9161E",	.phy_id_mask	= 0x0ffffff0,	.features	= PHY_BASIC_FEATURES,	.config_init	= dm9161_config_init,	.config_aneg	= dm9161_config_aneg,	.read_status	= genphy_read_status,	.driver 	= { .owner = THIS_MODULE,},};static struct phy_driver dm9131_driver = {	.phy_id		= 0x00181b80,	.name		= "Davicom DM9131",	.phy_id_mask	= 0x0ffffff0,	.features	= PHY_BASIC_FEATURES,	.flags		= PHY_HAS_INTERRUPT,	.config_aneg	= genphy_config_aneg,	.read_status	= genphy_read_status,	.ack_interrupt	= dm9161_ack_interrupt,	.config_intr	= dm9161_config_intr,	.driver 	= { .owner = THIS_MODULE,},};static int __init davicom_init(void){	int ret;	ret = phy_driver_register(&dm9161_driver);	if (ret)		goto err1;	ret = phy_driver_register(&dm9131_driver);	if (ret)		goto err2;	return 0; err2:		phy_driver_unregister(&dm9161_driver); err1:	return ret;}static void __exit davicom_exit(void){	phy_driver_unregister(&dm9161_driver);	phy_driver_unregister(&dm9131_driver);}module_init(davicom_init);module_exit(davicom_exit);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
综合久久国产九一剧情麻豆| 欧美大片日本大片免费观看| 成人在线视频首页| 精品中文字幕一区二区小辣椒| 日韩国产成人精品| 亚洲国产精品一区二区久久恐怖片| 亚洲欧美电影院| 一区二区三区视频在线观看| 国产精品国产三级国产普通话三级 | 亚洲综合视频在线观看| 一区二区三区日韩欧美| 婷婷久久综合九色综合伊人色| 午夜在线成人av| 精品一区免费av| 不卡一区二区在线| 欧美伊人久久久久久午夜久久久久| 欧美精品在线观看播放| 欧美大片在线观看一区| 欧美激情资源网| 亚洲与欧洲av电影| 美国十次综合导航| 国产91精品入口| 欧美亚洲国产一区二区三区va| 4438亚洲最大| 国产视频911| 亚洲最大的成人av| 精油按摩中文字幕久久| 色诱视频网站一区| 欧美tk—视频vk| 欧美国产激情二区三区| 天堂成人国产精品一区| 国产综合久久久久影院| 欧美伊人久久大香线蕉综合69 | 一本色道久久加勒比精品| 欧美日韩在线精品一区二区三区激情| 欧美一二三四区在线| 中文在线资源观看网站视频免费不卡 | 欧美日本一区二区在线观看| 久久久99精品免费观看| 亚洲电影一区二区三区| 国产mv日韩mv欧美| 日韩欧美国产1| 一卡二卡三卡日韩欧美| 国产91精品一区二区麻豆网站 | 亚洲欧美综合色| 狠狠色狠狠色合久久伊人| 欧美三级资源在线| 国产精品美女久久久久av爽李琼| 午夜欧美视频在线观看| 92国产精品观看| 精品福利一区二区三区免费视频| 亚洲私人黄色宅男| 国产福利一区在线观看| 欧美精品日日鲁夜夜添| 亚洲黄色小视频| 99久久伊人网影院| 国产欧美一区二区三区沐欲| 久久精品国产久精国产| 欧美日韩中文字幕一区| 亚洲人成伊人成综合网小说| 高清久久久久久| 国产日产亚洲精品系列| 激情小说亚洲一区| 日韩免费电影一区| 毛片av一区二区| 欧美肥大bbwbbw高潮| 亚洲一区二区三区中文字幕| 91在线观看成人| 麻豆国产精品官网| 不卡av在线网| 国产欧美精品一区二区三区四区 | 久久久久国色av免费看影院| 免费看日韩a级影片| 国产精品国产精品国产专区不片| 激情文学综合丁香| 久久久久久麻豆| 国产一区三区三区| 久久久久成人黄色影片| 国产福利一区二区三区视频| 久久久久九九视频| www.欧美色图| 亚洲欧洲日韩综合一区二区| 色哟哟国产精品免费观看| 怡红院av一区二区三区| 欧美在线一区二区三区| 三级亚洲高清视频| 久久综合色婷婷| 国产91丝袜在线播放| 亚洲日本va在线观看| 久久精品噜噜噜成人88aⅴ| 本田岬高潮一区二区三区| 精品国产凹凸成av人网站| 日本不卡视频一二三区| 亚洲精品一区二区在线观看| 蜜臀av一区二区| 久久久久久免费网| 91美女福利视频| 亚洲图片欧美综合| 日韩精品一区二区三区在线播放| 国产麻豆午夜三级精品| 国产精品理论在线观看| 欧美日韩免费电影| 国产在线播精品第三| 国产精品色婷婷| 欧美日韩国产精选| 粉嫩在线一区二区三区视频| 亚洲另类中文字| 欧美一级在线免费| 成人精品一区二区三区中文字幕| 亚洲三级免费电影| 日韩一区二区三区精品视频| 成人夜色视频网站在线观看| 亚洲美女一区二区三区| 精品国产乱码久久久久久久| av在线不卡免费看| 日本欧美在线观看| 综合激情成人伊人| 欧美久久久久久久久久| 成人免费毛片片v| 日本午夜精品一区二区三区电影| 欧美激情中文字幕一区二区| 欧美精品v日韩精品v韩国精品v| 国产91精品一区二区| 日本在线播放一区二区三区| 亚洲欧洲av一区二区三区久久| 精品日韩一区二区| 欧美日韩精品欧美日韩精品一综合| 国产一区二区三区高清播放| 首页国产欧美日韩丝袜| 亚洲欧美日韩精品久久久久| 久久精品视频在线看| 日韩一卡二卡三卡国产欧美| 欧美性视频一区二区三区| 成人av在线资源网站| 国产98色在线|日韩| 久久精品国产久精国产| 日本亚洲视频在线| 午夜不卡av在线| 一个色综合av| 亚洲精品综合在线| 亚洲色图在线播放| 国产精品国产三级国产aⅴ无密码| 久久久精品国产99久久精品芒果| 日韩精品在线一区二区| 日韩欧美黄色影院| 日韩一区二区三区精品视频| 欧美一区二区三区视频免费 | 欧美日韩高清不卡| 日本韩国一区二区三区| 色综合久久88色综合天天免费| 国产91丝袜在线观看| 国产一区二区三区国产| 国产在线一区二区| 国产精品99精品久久免费| 国产伦理精品不卡| 成人精品小蝌蚪| 99精品久久久久久| 91小视频在线| 精品视频免费在线| 欧美日韩另类国产亚洲欧美一级| 欧美日韩一区精品| 日韩一区二区视频在线观看| 精品少妇一区二区三区日产乱码| ww亚洲ww在线观看国产| 国产欧美一区二区精品秋霞影院| 久久精品视频在线看| 成人欧美一区二区三区小说| 亚洲男人天堂av网| 青青草原综合久久大伊人精品优势| 麻豆精品国产91久久久久久| 国产成人综合在线观看| 99热国产精品| 91.com在线观看| 欧美国产综合色视频| 一区二区三区中文字幕精品精品| 五月天丁香久久| 高清不卡在线观看| 欧美吞精做爰啪啪高潮| 精品精品欲导航| 亚洲国产精品高清| 亚洲va中文字幕| 国产资源在线一区| 欧美性xxxxxxxx| 精品国产乱码91久久久久久网站| 综合久久久久久| 麻豆国产精品一区二区三区 | 免费成人在线视频观看| 成人精品一区二区三区中文字幕| 欧美日免费三级在线| 国产日韩欧美精品在线| 日韩一区精品视频| 成人av网址在线| 日韩欧美在线网站| 亚洲免费在线视频一区 二区| 精品一区二区免费在线观看| 97久久久精品综合88久久| 欧美成人一级视频| 亚洲一区二区高清| 99久久国产综合精品色伊| 26uuu久久综合|