*参照元 [#c300810f] #backlinks *説明 [#bbbad426] -パス: [[linux-4.4.1/drivers/iommu/of_iommu.c]] -FIXME: これは何? --説明 **引数 [#t8a3a466] -struct device_node *np -- --[[linux-4.4.1/device_node]] -struct iommu_ops *ops -- --[[linux-4.4.1/iommu_ops]] **返り値 [#d60e9e0c] -なし **参考 [#dc2d8f7b] IOMMU 操作を参照する関数 IOMMU ノードを参照する関数 -[[linux-4.4.1/of_iommu_get_ops()]] *実装 [#p171ed73] void of_iommu_set_ops(struct device_node *np, struct iommu_ops *ops) { struct of_iommu_node *iommu = kzalloc(sizeof(*iommu), GFP_KERNEL); - --[[linux-4.4.1/of_iommu_node]] --[[linux-4.4.1/kzalloc()]] if (WARN_ON(!iommu)) return; - --[[linux-4.4.1/WARN_ON()]] INIT_LIST_HEAD(&iommu->list); iommu->np = np; iommu->ops = ops; spin_lock(&of_iommu_lock); list_add_tail(&iommu->list, &of_iommu_list); spin_unlock(&of_iommu_lock); - --[[linux-4.4.1/INIT_LIST_HEAD()]] --[[linux-4.4.1/spin_lock()]] --[[linux-4.4.1/spin_unlock()]] --[[linux-4.4.1/list_add_tail()]] --[[linux-4.4.1/of_iommu_lock(global)]] --[[linux-4.4.1/of_iommu_list(global)]] } *コメント [#md250979]