> +#ifdef CONFIG_SWIOTLB
> +     struct io_tlb_mem       *dma_io_tlb_mem;
>  #endif

Please add a new config option for this code instead of always building
it when swiotlb is enabled.

> +static int swiotlb_init_io_tlb_mem(struct io_tlb_mem *mem, phys_addr_t start,
> +                                size_t size)

Can you split the refactoring in swiotlb.c into one or more prep
patches?

> +static int rmem_swiotlb_device_init(struct reserved_mem *rmem,
> +                                 struct device *dev)
> +{
> +     struct io_tlb_mem *mem = rmem->priv;
> +     int ret;
> +
> +     if (dev->dma_io_tlb_mem)
> +             return -EBUSY;
> +
> +     if (!mem) {
> +             mem = kzalloc(sizeof(*mem), GFP_KERNEL);
> +             if (!mem)
> +                     return -ENOMEM;

What is the calling convention here that allows for a NULL and non-NULL
private data?

Reply via email to