*参照元 [#i02d79ce] #backlinks *説明 [#w8d09025] -パス: [[linux-4.4.1/drivers/iommu/of_iommu.c]] -FIXME: これは何? --説明 **引数 [#q39b0938] -struct device_node *np -- --[[linux-4.4.1/device_node]] **返り値 [#ac83ac4c] -struct iommu_ops * -- --[[linux-4.4.1/iommu_ops]] **参考 [#ra26df17] IOMMU 操作を追加する関数 IOMMU ノードを追加する関数 -[[linux-4.4.1/of_iommu_set_ops()]] *実装 [#l8d16d6b] struct iommu_ops *of_iommu_get_ops(struct device_node *np) { struct of_iommu_node *node; struct iommu_ops *ops = NULL; - --[[linux-4.4.1/of_iommu_node]] spin_lock(&of_iommu_lock); list_for_each_entry(node, &of_iommu_list, list) if (node->np == np) { ops = node->ops; break; } spin_unlock(&of_iommu_lock); - --[[linux-4.4.1/spin_lock()]] --[[linux-4.4.1/spin_unlock()]] --[[linux-4.4.1/of_iommu_lock(global)]] --[[linux-4.4.1/list_for_each_entry()]] --[[linux-4.4.1/of_iommu_list(global)]] return ops; } *コメント [#d85bf0fa]