#include <linux/export.h>
#include <linux/iommu.h>
#include <linux/limits.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_iommu.h>
#include <linux/of_pci.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/fsl/mc.h>
#include "iommu-priv.h"
static int of_iommu_xlate(struct device *dev,
struct of_phandle_args *iommu_spec)
{ … }
static int of_iommu_configure_dev_id(struct device_node *master_np,
struct device *dev,
const u32 *id)
{ … }
static int of_iommu_configure_dev(struct device_node *master_np,
struct device *dev)
{ … }
struct of_pci_iommu_alias_info { … };
static int of_pci_iommu_init(struct pci_dev *pdev, u16 alias, void *data)
{ … }
static int of_iommu_configure_device(struct device_node *master_np,
struct device *dev, const u32 *id)
{ … }
static void of_pci_check_device_ats(struct device *dev, struct device_node *np)
{ … }
int of_iommu_configure(struct device *dev, struct device_node *master_np,
const u32 *id)
{ … }
static enum iommu_resv_type __maybe_unused
iommu_resv_region_get_type(struct device *dev,
struct resource *phys,
phys_addr_t start, size_t length)
{ … }
void of_iommu_get_resv_regions(struct device *dev, struct list_head *list)
{ … }
EXPORT_SYMBOL(…);