Change the function arm_iommu_create_mapping() to take a pointer to a const bus_type as the function does not modify the variable the pointer points to at all, and the driver core bus functions it calls all expect a const * type. Cc: Russell King <linux@armlinux.org.uk> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Robin Murphy <robin.murphy@arm.com> Cc: Kees Cook <keescook@chromium.org> Cc: Lukas Bulwahn <lukas.bulwahn@gmail.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: linux-arm-kernel@lists.infradead.org Link: https://lore.kernel.org/r/20230313182918.1312597-33-gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
36 lines
914 B
C
36 lines
914 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef ASMARM_DMA_IOMMU_H
|
|
#define ASMARM_DMA_IOMMU_H
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
#include <linux/mm_types.h>
|
|
#include <linux/scatterlist.h>
|
|
#include <linux/kref.h>
|
|
|
|
struct dma_iommu_mapping {
|
|
/* iommu specific data */
|
|
struct iommu_domain *domain;
|
|
|
|
unsigned long **bitmaps; /* array of bitmaps */
|
|
unsigned int nr_bitmaps; /* nr of elements in array */
|
|
unsigned int extensions;
|
|
size_t bitmap_size; /* size of a single bitmap */
|
|
size_t bits; /* per bitmap */
|
|
dma_addr_t base;
|
|
|
|
spinlock_t lock;
|
|
struct kref kref;
|
|
};
|
|
|
|
struct dma_iommu_mapping *
|
|
arm_iommu_create_mapping(const struct bus_type *bus, dma_addr_t base, u64 size);
|
|
|
|
void arm_iommu_release_mapping(struct dma_iommu_mapping *mapping);
|
|
|
|
int arm_iommu_attach_device(struct device *dev,
|
|
struct dma_iommu_mapping *mapping);
|
|
void arm_iommu_detach_device(struct device *dev);
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif
|