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

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

?? integrator-flash.c

?? 優(yōu)龍2410linux2.6.8內(nèi)核源代碼
?? C
字號:
/*======================================================================    drivers/mtd/maps/integrator-flash.c: ARM Integrator flash map driver      Copyright (C) 2000 ARM Limited    Copyright (C) 2003 Deep Blue Solutions Ltd.     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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA     This is access code for flashes using ARM's flash partitioning    standards.   $Id: integrator-flash.c,v 1.16 2004/07/12 21:59:44 dwmw2 Exp $======================================================================*/#include <linux/config.h>#include <linux/module.h>#include <linux/types.h>#include <linux/kernel.h>#include <linux/slab.h>#include <linux/ioport.h>#include <linux/device.h>#include <linux/init.h>#include <linux/mtd/mtd.h>#include <linux/mtd/map.h>#include <linux/mtd/partitions.h>#include <asm/mach/flash.h>#include <asm/hardware.h>#include <asm/io.h>#include <asm/system.h>#ifdef CONFIG_ARCH_P720T#define FLASH_BASE		(0x04000000)#define FLASH_SIZE		(64*1024*1024)#endifstruct armflash_info {	struct flash_platform_data *plat;	struct resource		*res;	struct mtd_partition	*parts;	struct mtd_info		*mtd;	struct map_info		map;};static void armflash_set_vpp(struct map_info *map, int on){	struct armflash_info *info = container_of(map, struct armflash_info, map);	if (info->plat && info->plat->set_vpp)		info->plat->set_vpp(on);}static const char *probes[] = { "cmdlinepart", "RedBoot", "afs", NULL };static int armflash_probe(struct device *_dev){	struct platform_device *dev = to_platform_device(_dev);	struct flash_platform_data *plat = dev->dev.platform_data;	struct resource *res = dev->resource;	unsigned int size = res->end - res->start + 1;	struct armflash_info *info;	int err;	void *base;	info = kmalloc(sizeof(struct armflash_info), GFP_KERNEL);	if (!info) {		err = -ENOMEM;		goto out;	}	memset(info, 0, sizeof(struct armflash_info));	info->plat = plat;	if (plat && plat->init) {		err = plat->init();		if (err)			goto no_resource;	}	info->res = request_mem_region(res->start, size, "armflash");	if (!info->res) {		err = -EBUSY;		goto no_resource;	}	base = ioremap(res->start, size);	if (!base) {		err = -ENOMEM;		goto no_mem;	}	/*	 * look for CFI based flash parts fitted to this board	 */	info->map.size		= size;	info->map.bankwidth	= plat->width;	info->map.phys		= res->start;	info->map.virt		= (unsigned long) base;	info->map.name		= dev->dev.bus_id;	info->map.set_vpp	= armflash_set_vpp;	simple_map_init(&info->map);	/*	 * Also, the CFI layer automatically works out what size	 * of chips we have, and does the necessary identification	 * for us automatically.	 */	info->mtd = do_map_probe(plat->map_name, &info->map);	if (!info->mtd) {		err = -ENXIO;		goto no_device;	}	info->mtd->owner = THIS_MODULE;	err = parse_mtd_partitions(info->mtd, probes, &info->parts, 0);	if (err > 0) {		err = add_mtd_partitions(info->mtd, info->parts, err);		if (err)			printk(KERN_ERR			       "mtd partition registration failed: %d\n", err);	}	if (err == 0)		dev_set_drvdata(&dev->dev, info);	/*	 * If we got an error, free all resources.	 */	if (err < 0) {		if (info->mtd) {			del_mtd_partitions(info->mtd);			map_destroy(info->mtd);		}		if (info->parts)			kfree(info->parts); no_device:		iounmap(base); no_mem:		release_mem_region(res->start, size); no_resource:		if (plat && plat->exit)			plat->exit();		kfree(info);	} out:	return err;}static int armflash_remove(struct device *_dev){	struct platform_device *dev = to_platform_device(_dev);	struct armflash_info *info = dev_get_drvdata(&dev->dev);	dev_set_drvdata(&dev->dev, NULL);	if (info) {		if (info->mtd) {			del_mtd_partitions(info->mtd);			map_destroy(info->mtd);		}		if (info->parts)			kfree(info->parts);		iounmap((void *)info->map.virt);		release_resource(info->res);		kfree(info->res);		if (info->plat && info->plat->exit)			info->plat->exit();		kfree(info);	}	return 0;}static struct device_driver armflash_driver = {	.name		= "armflash",	.bus		= &platform_bus_type,	.probe		= armflash_probe,	.remove		= armflash_remove,};static int __init armflash_init(void){	return driver_register(&armflash_driver);}static void __exit armflash_exit(void){	driver_unregister(&armflash_driver);}module_init(armflash_init);module_exit(armflash_exit);MODULE_AUTHOR("ARM Ltd");MODULE_DESCRIPTION("ARM Integrator CFI map driver");MODULE_LICENSE("GPL");

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国精品在线观看| 国产露脸91国语对白| 久久日韩粉嫩一区二区三区| 91丨九色porny丨蝌蚪| 国产成人在线观看| 国产成人精品aa毛片| 欧美日韩在线播放| 日本乱码高清不卡字幕| 色美美综合视频| 国产视频视频一区| 中文字幕一区二区三区精华液| 久久久久久免费| 久久机这里只有精品| 国产一区 二区| 91在线观看一区二区| 99国产精品久久| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲国产精品激情在线观看| 麻豆成人久久精品二区三区红| 国产自产2019最新不卡| 日韩欧美中文字幕制服| 精品国产乱子伦一区| 国产精品情趣视频| 亚洲电影一区二区三区| 亚洲欧洲另类国产综合| 国产激情视频一区二区三区欧美| 日韩一区二区三区在线视频| 日韩经典中文字幕一区| 精品一区二区三区日韩| 成人高清视频在线| 欧美系列日韩一区| 久久综合精品国产一区二区三区| 成人免费视频在线观看| 91免费观看在线| 亚洲人成伊人成综合网小说| 日本不卡高清视频| 在线视频国内一区二区| 久久久国际精品| 成人激情综合网站| 中文字幕亚洲综合久久菠萝蜜| av在线不卡电影| 日韩精品一区二| 亚洲成人黄色影院| 日韩一区二区不卡| 国产激情一区二区三区| 中文字幕国产精品一区二区| 波多野洁衣一区| 一区二区三区在线看| 国产乱码精品一区二区三区av| 日本一区二区三区国色天香| 日韩电影在线观看电影| 色爱区综合激月婷婷| 天天综合色天天| 在线影视一区二区三区| 视频一区在线视频| 欧美v日韩v国产v| 香蕉影视欧美成人| 欧美成人女星排名| av中文字幕一区| 日本最新不卡在线| 日本一区二区在线不卡| 欧美日韩免费电影| 亚洲日本青草视频在线怡红院 | 国产精品国产三级国产aⅴ中文| 亚洲不卡av一区二区三区| 91精品国产色综合久久不卡蜜臀 | 欧美午夜精品久久久久久超碰| 亚洲成人激情自拍| 欧美国产综合一区二区| 欧美精品视频www在线观看| 一区二区三区四区在线播放| 日韩欧美你懂的| 97超碰欧美中文字幕| 久久精工是国产品牌吗| 一区二区三区欧美日| 久久久久国色av免费看影院| 欧美日韩中文国产| 高清国产一区二区| 《视频一区视频二区| 日韩欧美一二三四区| 日本久久电影网| 激情五月婷婷综合| 亚洲444eee在线观看| 国产精品国产三级国产有无不卡| 91精品国产乱码久久蜜臀| 99视频超级精品| 国产一区二区伦理片| 日韩激情一二三区| 亚洲精品欧美综合四区| 欧美调教femdomvk| 成人高清视频免费观看| 久久超级碰视频| 三级影片在线观看欧美日韩一区二区| 国产欧美日韩另类视频免费观看 | 欧美撒尿777hd撒尿| 成人动漫中文字幕| 国产美女视频91| 蜜臀精品久久久久久蜜臀| 午夜精品视频一区| 亚洲黄色av一区| 国产精品久久久久永久免费观看| 久久久久久久性| 久久一区二区视频| 精品国产一区a| 日韩亚洲欧美在线| 欧美一区二区日韩| 3atv一区二区三区| 国产成人免费视频| 精品综合免费视频观看| 日本欧美韩国一区三区| 婷婷夜色潮精品综合在线| 亚洲影视资源网| 国产日韩一级二级三级| 欧美精品一区二区三区蜜桃| 日韩欧美国产综合| 久久尤物电影视频在线观看| 久久综合九色综合97_久久久| 亚洲精品在线免费播放| 国产性天天综合网| 国产精品久久免费看| 国产精品乱码一区二区三区软件| 欧美极品少妇xxxxⅹ高跟鞋| 国产精品少妇自拍| 日本一区二区不卡视频| 悠悠色在线精品| 亚洲国产wwwccc36天堂| 丝袜国产日韩另类美女| 美国十次了思思久久精品导航| 久久精品国产999大香线蕉| 韩国成人在线视频| 成人精品视频一区二区三区| 日韩成人午夜精品| 激情都市一区二区| 99久久精品情趣| 欧美亚洲禁片免费| 日韩精品一区二区三区蜜臀| 久久婷婷成人综合色| 国产精品看片你懂得| 一区二区三区四区高清精品免费观看| 亚洲狠狠爱一区二区三区| 日本亚洲最大的色成网站www| 韩国欧美国产1区| 99视频国产精品| 7777精品伊人久久久大香线蕉| 欧美zozozo| 亚洲精选一二三| 蜜臀av一级做a爰片久久| 国产a视频精品免费观看| 在线观看视频一区二区| 日韩欧美久久一区| 亚洲精品视频在线看| 麻豆精品久久精品色综合| 99久久精品国产毛片| 91精品国产欧美一区二区成人| 中文字幕免费一区| 日韩精品亚洲专区| 成人综合激情网| 91精品欧美久久久久久动漫| 国产精品三级视频| 蜜臀av一区二区在线免费观看| 波多野结衣精品在线| 日韩亚洲欧美一区| 亚洲一区二区精品3399| 国产精品中文有码| 欧美日产国产精品| 中文字幕中文字幕在线一区| 蜜臀av性久久久久蜜臀aⅴ| 99精品国产91久久久久久| 久久人人97超碰com| 亚洲一区自拍偷拍| 成人精品视频一区二区三区 | 九色综合国产一区二区三区| 91九色最新地址| 欧美国产激情二区三区| 久久99精品国产麻豆婷婷 | 精品sm在线观看| 亚洲制服丝袜一区| 99re视频精品| 精品国产1区2区3区| 亚洲国产精品视频| 色综合久久中文综合久久97| 91免费版pro下载短视频| 久久久一区二区三区捆绑**| 久久综合综合久久综合| 欧美色图免费看| 亚洲一级二级在线| 99在线精品一区二区三区| 日本一区二区在线不卡| 国产夫妻精品视频| 久久婷婷一区二区三区| 激情深爱一区二区| 精品国一区二区三区| 蜜臀久久99精品久久久久宅男 | 久久欧美中文字幕| 国产毛片精品视频| 2023国产精品| 国产成人av电影| 国产午夜精品理论片a级大结局| 狠狠色丁香久久婷婷综| 久久综合国产精品|