*参照元 [#dbf34baf] #backlinks *説明 [#t1c52095] -パス: [[linux-4.4.1/arch/arm64/mm/dma-mapping.c]] -FIXME: これは何? --説明 **引数 [#m7d6c4f3] -struct notifier_block *nb -- --[[linux-4.4.1/notifier_block]] -unsigned long action -- -void *data -- **返り値 [#n9baf3f8] -int -- **参考 [#n2d823b8] *実装 [#md248572] static int __iommu_attach_notifier(struct notifier_block *nb, unsigned long action, void *data) { struct iommu_dma_notifier_data *master, *tmp; - --[[linux-4.4.1/iommu_dma_notifier_data]] if (action != BUS_NOTIFY_ADD_DEVICE) return 0; mutex_lock(&iommu_dma_notifier_lock); list_for_each_entry_safe(master, tmp, &iommu_dma_masters, list) { - --[[linux-4.4.1/list_for_each_entry_safe()]] --[[linux-4.4.1/iommu_dma_masters(global)]] if (do_iommu_attach(master->dev, master->ops, master->dma_base, master->size)) { list_del(&master->list); kfree(master); - --[[linux-4.4.1/do_iommu_attach()]] --[[linux-4.4.1/list_del()]] --[[linux-4.4.1/kfree()]] } } mutex_unlock(&iommu_dma_notifier_lock); - --[[linux-4.4.1/mutex_lock()]] --[[linux-4.4.1/mutex_unlock()]] --[[linux-4.4.1/iommu_dma_notifier_lock(global)]] return 0; } *コメント [#h2ca79e0]