*参照元 [#lb5eb844]
#backlinks

*説明 [#w4887792]
-パス: [[linux-4.4.1/drivers/iommu/arm-smmu.c]]

-FIXME: これは何?
--説明


**引数 [#zce88a76]
-なし


**返り値 [#b93a8512]
-int


**参考 [#z7b0ce45]


*実装 [#x3e8df59]
 static int __init arm_smmu_init(void)
 {
 	struct device_node *np;
 	int ret;
 
-
--[[linux-4.4.1/device_node]]

 	/*
 	 * Play nice with systems that don't have an ARM SMMU by checking that
 	 * an ARM SMMU exists in the system before proceeding with the driver
 	 * and IOMMU bus operation registration.
 	 */
 	np = of_find_matching_node(NULL, arm_smmu_of_match);
 	if (!np)
 		return 0;
 
-
--[[linux-4.4.1/of_find_matching_node()]]
--[[linux-4.4.1/arm_smmu_of_match(global)]]

 	of_node_put(np);
 
-
--[[linux-4.4.1/of_node_put()]]

 	ret = platform_driver_register(&arm_smmu_driver);
 	if (ret)
 		return ret;
 
-
--[[linux-4.4.1/platform_driver_register()]]
--[[linux-4.4.1/arm_smmu_driver(global)]]

 	/* Oh, for a proper bus abstraction */
 	if (!iommu_present(&platform_bus_type))
 		bus_set_iommu(&platform_bus_type, &arm_smmu_ops);
 
-
--[[linux-4.4.1/iommu_present()]]
--[[linux-4.4.1/bus_set_iommu()]]
--[[linux-4.4.1/platform_bus_type(global)]]
--[[linux-4.4.1/arm_smmu_ops(global)]]

 #ifdef CONFIG_ARM_AMBA
-
--[[linux-4.4.1/CONFIG_ARM_AMBA]]

 	if (!iommu_present(&amba_bustype))
 		bus_set_iommu(&amba_bustype, &arm_smmu_ops);
-
--[[linux-4.4.1/amba_bustype(global)]]

 #endif
 
 #ifdef CONFIG_PCI
-
--[[linux-4.4.1/CONFIG_PCI]]

 	if (!iommu_present(&pci_bus_type))
 		bus_set_iommu(&pci_bus_type, &arm_smmu_ops);
-
--[[linux-4.4.1/pci_bus_type(global)]]

 #endif
 
 	return 0;
 }
 
 ...
 
 subsys_initcall(arm_smmu_init);
-
--[[linux-4.4.1/subsys_initcall()]]


*コメント [#nef390d1]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS