linux-2.6.33/__iounmap()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#g37406da]
#backlinks
*説明 [#aa59e537]
-パス: 複数あり
--MMU が無効の場合: [[linux-2.6.33/arch/arm/mm/nommu.c]]
--MMU が有効の場合: [[linux-2.6.33/arch/arm/mm/ioremap.c]]
-FIXME: これは何?
--説明
**引数 [#h690faef]
-volatile void __iomem *io_addr
--
--[[linux-2.6.33/__iomem]]
**返り値 [#m9071ce4]
-なし
**参考 [#n870ceba]
*実装 [#p53fb3e1]
**MMU が無効の場合 [#j964010c]
void __iounmap(volatile void __iomem *addr)
{
}
EXPORT_SYMBOL(__iounmap);
-特にライセンスを区別せずシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
**MMU が有効の場合 [#i764c520]
void __iounmap(volatile void __iomem *io_addr)
{
void *addr = (void *)(PAGE_MASK & (unsigned long)io_add...
-
--[[linux-2.6.33/PAGE_MASK]]
#ifndef CONFIG_SMP
struct vm_struct **p, *tmp;
-
--[[linux-2.6.33/vm_struct]]
/*
* If this is a section based mapping we need to handle...
* specially as the VM subsystem does not know how to h...
* such a beast. We need the lock here b/c we need to c...
* all the mappings before the area can be reclaimed
* by someone else.
*/
write_lock(&vmlist_lock);
-
--[[linux-2.6.33/write_lock()]]
-
--[[linux-2.6.33/vmlist_lock(global)]]
for (p = &vmlist ; (tmp = *p) ; p = &tmp->next) {
if ((tmp->flags & VM_IOREMAP) && (tmp->addr == addr)) {
-
--[[linux-2.6.33/VM_IOREMAP]]
if (tmp->flags & VM_ARM_SECTION_MAPPING) {
-
--[[linux-2.6.33/VM_ARM_SECTION_MAPPING]]
unmap_area_sections((unsigned long)tmp->addr,
tmp->size);
-
--[[linux-2.6.33/unmap_area_sections()]]
}
break;
}
}
write_unlock(&vmlist_lock);
-
--[[linux-2.6.33/write_unlock()]]
#endif
vunmap(addr);
-
--[[linux-2.6.33/vunmap()]]
}
EXPORT_SYMBOL(__iounmap);
-特にライセンスを区別せずシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#ld413e61]
終了行:
*参照元 [#g37406da]
#backlinks
*説明 [#aa59e537]
-パス: 複数あり
--MMU が無効の場合: [[linux-2.6.33/arch/arm/mm/nommu.c]]
--MMU が有効の場合: [[linux-2.6.33/arch/arm/mm/ioremap.c]]
-FIXME: これは何?
--説明
**引数 [#h690faef]
-volatile void __iomem *io_addr
--
--[[linux-2.6.33/__iomem]]
**返り値 [#m9071ce4]
-なし
**参考 [#n870ceba]
*実装 [#p53fb3e1]
**MMU が無効の場合 [#j964010c]
void __iounmap(volatile void __iomem *addr)
{
}
EXPORT_SYMBOL(__iounmap);
-特にライセンスを区別せずシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
**MMU が有効の場合 [#i764c520]
void __iounmap(volatile void __iomem *io_addr)
{
void *addr = (void *)(PAGE_MASK & (unsigned long)io_add...
-
--[[linux-2.6.33/PAGE_MASK]]
#ifndef CONFIG_SMP
struct vm_struct **p, *tmp;
-
--[[linux-2.6.33/vm_struct]]
/*
* If this is a section based mapping we need to handle...
* specially as the VM subsystem does not know how to h...
* such a beast. We need the lock here b/c we need to c...
* all the mappings before the area can be reclaimed
* by someone else.
*/
write_lock(&vmlist_lock);
-
--[[linux-2.6.33/write_lock()]]
-
--[[linux-2.6.33/vmlist_lock(global)]]
for (p = &vmlist ; (tmp = *p) ; p = &tmp->next) {
if ((tmp->flags & VM_IOREMAP) && (tmp->addr == addr)) {
-
--[[linux-2.6.33/VM_IOREMAP]]
if (tmp->flags & VM_ARM_SECTION_MAPPING) {
-
--[[linux-2.6.33/VM_ARM_SECTION_MAPPING]]
unmap_area_sections((unsigned long)tmp->addr,
tmp->size);
-
--[[linux-2.6.33/unmap_area_sections()]]
}
break;
}
}
write_unlock(&vmlist_lock);
-
--[[linux-2.6.33/write_unlock()]]
#endif
vunmap(addr);
-
--[[linux-2.6.33/vunmap()]]
}
EXPORT_SYMBOL(__iounmap);
-特にライセンスを区別せずシンボルを公開する。
--[[linux-2.6.33/EXPORT_SYMBOL()]]
*コメント [#ld413e61]
ページ名: