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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mca-bus.c

?? linux 內(nèi)核源代碼
?? C
字號(hào):
/* -*- mode: c; c-basic-offset: 8 -*- *//* * MCA bus support functions for sysfs. * * (C) 2002 James Bottomley <James.Bottomley@HansenPartnership.com> ***-----------------------------------------------------------------------------**  **  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.****  This program is distributed in the hope that it will be useful,**  but WITHOUT ANY WARRANTY; without even the implied warranty of**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the**  GNU General Public License for more details.****  You should have received a copy of the GNU General Public License**  along with this program; if not, write to the Free Software**  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.****----------------------------------------------------------------------------- */#include <linux/kernel.h>#include <linux/device.h>#include <linux/mca.h>#include <linux/module.h>#include <linux/init.h>#include <linux/slab.h>/* Very few machines have more than one MCA bus.  However, there are * those that do (Voyager 35xx/5xxx), so we do it this way for future * expansion.  None that I know have more than 2 */static struct mca_bus *mca_root_busses[MAX_MCA_BUSSES];#define MCA_DEVINFO(i,s) { .pos = i, .name = s }struct mca_device_info {	short pos_id;		/* the 2 byte pos id for this card */	char name[DEVICE_NAME_SIZE];};static int mca_bus_match (struct device *dev, struct device_driver *drv){	struct mca_device *mca_dev = to_mca_device (dev);	struct mca_driver *mca_drv = to_mca_driver (drv);	const unsigned short *mca_ids = mca_drv->id_table;	int i = 0;	if (mca_ids) {		for(i = 0; mca_ids[i]; i++) {			if (mca_ids[i] == mca_dev->pos_id) {				mca_dev->index = i;				return 1;			}		}	}	/* If the integrated id is present, treat it as though it were an	 * additional id in the id_table (it can't be because by definition,	 * integrated id's overflow a short */	if (mca_drv->integrated_id && mca_dev->pos_id ==	    mca_drv->integrated_id) {		mca_dev->index = i;		return 1;	}	return 0;}struct bus_type mca_bus_type = {	.name  = "MCA",	.match = mca_bus_match,};EXPORT_SYMBOL (mca_bus_type);static ssize_t mca_show_pos_id(struct device *dev, struct device_attribute *attr, char *buf){	/* four digits, \n and trailing \0 */	struct mca_device *mca_dev = to_mca_device(dev);	int len;	if(mca_dev->pos_id < MCA_DUMMY_POS_START)		len = sprintf(buf, "%04x\n", mca_dev->pos_id);	else		len = sprintf(buf, "none\n");	return len;}static ssize_t mca_show_pos(struct device *dev, struct device_attribute *attr, char *buf){	/* enough for 8 two byte hex chars plus space and new line */	int j, len=0;	struct mca_device *mca_dev = to_mca_device(dev);	for(j=0; j<8; j++)		len += sprintf(buf+len, "%02x ", mca_dev->pos[j]);	/* change last trailing space to new line */	buf[len-1] = '\n';	return len;}static DEVICE_ATTR(id, S_IRUGO, mca_show_pos_id, NULL);static DEVICE_ATTR(pos, S_IRUGO, mca_show_pos, NULL);int __init mca_register_device(int bus, struct mca_device *mca_dev){	struct mca_bus *mca_bus = mca_root_busses[bus];	int rc;	mca_dev->dev.parent = &mca_bus->dev;	mca_dev->dev.bus = &mca_bus_type;	sprintf (mca_dev->dev.bus_id, "%02d:%02X", bus, mca_dev->slot);	mca_dev->dma_mask = mca_bus->default_dma_mask;	mca_dev->dev.dma_mask = &mca_dev->dma_mask;	mca_dev->dev.coherent_dma_mask = mca_dev->dma_mask;	rc = device_register(&mca_dev->dev);	if (rc)		goto err_out;	rc = device_create_file(&mca_dev->dev, &dev_attr_id);	if (rc) goto err_out_devreg;	rc = device_create_file(&mca_dev->dev, &dev_attr_pos);	if (rc) goto err_out_id;	return 1;err_out_id:	device_remove_file(&mca_dev->dev, &dev_attr_id);err_out_devreg:	device_unregister(&mca_dev->dev);err_out:	return 0;}/* */struct mca_bus * __devinit mca_attach_bus(int bus){	struct mca_bus *mca_bus;	if (unlikely(mca_root_busses[bus] != NULL)) {		/* This should never happen, but just in case */		printk(KERN_EMERG "MCA tried to add already existing bus %d\n",		       bus);		dump_stack();		return NULL;	}	mca_bus = kzalloc(sizeof(struct mca_bus), GFP_KERNEL);	if (!mca_bus)		return NULL;	sprintf(mca_bus->dev.bus_id,"mca%d",bus);	sprintf(mca_bus->name,"Host %s MCA Bridge", bus ? "Secondary" : "Primary");	if (device_register(&mca_bus->dev)) {		kfree(mca_bus);		return NULL;	}	mca_root_busses[bus] = mca_bus;	return mca_bus;}int __init mca_system_init (void){	return bus_register(&mca_bus_type);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人免费网站| 亚洲一区二区三区在线| 日本午夜精品视频在线观看| 欧美日韩精品一区二区三区| 亚洲国产综合91精品麻豆| 91精品1区2区| 一区二区三区中文字幕在线观看| 99re66热这里只有精品3直播 | 日韩精品一区二区三区在线| 日本午夜精品视频在线观看 | 国产欧美日韩另类一区| 高清不卡一区二区| 亚洲午夜久久久久久久久久久| 欧美日韩视频在线一区二区| 日本三级亚洲精品| 欧美不卡一区二区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产乱对白刺激视频不卡| 国产精品美女久久久久久久久久久 | 99精品视频中文字幕| 亚洲国产一区二区三区| 日韩视频在线一区二区| 国产成人av一区二区三区在线观看| 亚洲视频1区2区| 精品噜噜噜噜久久久久久久久试看| 丰满少妇在线播放bd日韩电影| 亚洲国产三级在线| 中文字幕精品综合| 国产夜色精品一区二区av| 欧美日本不卡视频| 91免费看视频| 大胆亚洲人体视频| 另类调教123区| 亚洲国产精品嫩草影院| 国产精品久久看| 国产亚洲午夜高清国产拍精品| 欧美日韩高清一区| 色菇凉天天综合网| 91在线高清观看| av影院午夜一区| 国产99久久久国产精品免费看| 麻豆精品久久久| 久久er精品视频| 精品一区二区国语对白| 蜜臀久久久久久久| 久久99久久精品| 国产九色sp调教91| 国产精品亚洲а∨天堂免在线| 激情图片小说一区| 激情小说欧美图片| 国产福利一区二区三区在线视频| 国产综合久久久久久久久久久久 | 视频一区二区三区入口| 亚洲.国产.中文慕字在线| 三级亚洲高清视频| 蜜桃传媒麻豆第一区在线观看| 美女视频一区二区| 国产露脸91国语对白| 99久久久精品| 4438x亚洲最大成人网| 精品国产髙清在线看国产毛片| 精品捆绑美女sm三区| 国产精品每日更新| 亚洲国产视频直播| 国产乱码精品一区二区三区av | 五月天久久比比资源色| 美国毛片一区二区| 99久久亚洲一区二区三区青草| 欧美性感一区二区三区| 五月天网站亚洲| 成人性生交大片免费看在线播放 | 国产精品每日更新在线播放网址 | 日产精品久久久久久久性色 | 国产一区二区三区黄视频 | 丰满放荡岳乱妇91ww| 国产欧美日韩在线视频| 视频在线观看一区| 成人午夜电影久久影院| 欧美日韩精品欧美日韩精品一| 日韩精品一区在线观看| 国产精品久久久久久久久免费丝袜| 一区二区在线观看视频| 黄色日韩三级电影| 91国内精品野花午夜精品| 欧美第一区第二区| 图片区小说区国产精品视频| 久久久精品一品道一区| 午夜不卡av免费| 欧美一区二区视频在线观看2020| 日韩主播视频在线| 日韩一区二区三区三四区视频在线观看| 一区二区三区在线视频免费观看| 91视频免费观看| 玉足女爽爽91| 欧美日本高清视频在线观看| 亚洲www啪成人一区二区麻豆| 欧美性感一区二区三区| 香蕉久久一区二区不卡无毒影院| 精品视频一区二区不卡| 亚洲国产精品天堂| 久久免费国产精品| 色综合天天在线| 亚洲国产sm捆绑调教视频| 亚洲免费高清视频在线| 欧美裸体一区二区三区| 国产成人免费视| 精品一区二区三区影院在线午夜| 国产精品电影一区二区| 欧美日韩一区二区三区在线看| 久久精品国产久精国产| 亚洲婷婷综合色高清在线| 欧美在线色视频| 国产盗摄视频一区二区三区| 中文字幕一区二区三区在线不卡 | 777a∨成人精品桃花网| 国产精品 日产精品 欧美精品| 亚洲情趣在线观看| 欧美精品一区二区三区很污很色的 | 欧美性感一类影片在线播放| 久久成人av少妇免费| 一区二区三区欧美| 欧美草草影院在线视频| av午夜一区麻豆| 久久av资源站| 免费观看日韩av| 午夜成人在线视频| 亚洲激情校园春色| 久久久久国产精品厨房| 91精品国产综合久久国产大片 | 欧美sm美女调教| 欧美日本精品一区二区三区| 91蜜桃免费观看视频| 成熟亚洲日本毛茸茸凸凹| 国产成人综合在线播放| 高清shemale亚洲人妖| 99久久免费国产| 色天使久久综合网天天| 欧美午夜精品理论片a级按摩| 欧美性生活久久| 成人开心网精品视频| 国产一二三精品| 国产综合久久久久久久久久久久| 日韩精品欧美成人高清一区二区| 亚洲线精品一区二区三区八戒| 亚洲天堂2016| 亚洲美女电影在线| 亚洲一区二区三区在线看| 亚洲成人动漫在线观看| 亚洲电影激情视频网站| 爽好多水快深点欧美视频| 日韩电影一区二区三区四区| 日日夜夜精品视频免费| 麻豆精品视频在线观看视频| 国内一区二区在线| 成人国产视频在线观看| 日本丶国产丶欧美色综合| 欧美日韩国产片| 久久伊人蜜桃av一区二区| 中文字幕精品一区| 亚洲成av人片在线| 精品一区二区三区免费播放| 国产69精品久久777的优势| 99久久久精品| 2022国产精品视频| 亚洲日本va午夜在线影院| 天天综合天天综合色| 国产精品一区二区不卡| 欧美午夜一区二区| 国产精品福利一区二区三区| 天堂影院一区二区| 成人avav在线| 久久久久免费观看| 99re成人在线| 国产午夜精品久久| 日韩精品电影一区亚洲| 色综合中文字幕国产| 欧美欧美欧美欧美首页| 国产精品久线观看视频| 国产在线精品一区二区不卡了| 色88888久久久久久影院野外| 欧美精品一区二区三区高清aⅴ| 亚洲精品菠萝久久久久久久| 成人动漫一区二区在线| 国产日韩欧美综合一区| 经典一区二区三区| 欧美成人猛片aaaaaaa| 日本怡春院一区二区| 3d动漫精品啪啪| 奇米精品一区二区三区在线观看| 在线一区二区三区| 亚洲日本青草视频在线怡红院| 国产伦理精品不卡| 中文字幕不卡一区| eeuss鲁片一区二区三区在线观看| 久久亚洲精精品中文字幕早川悠里 | 在线看不卡av| 亚洲综合在线观看视频| 欧美在线|欧美| 午夜精品123| 日韩一区二区三区电影|