aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/acpi.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-15 15:24:14 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-15 15:24:14 -0500
commita9a16a6d136593c9e6f72e481b2b86ae1d8d1fce (patch)
tree6a09888cfe1c23c9330dc95f5a83848c51d3e229 /include/linux/acpi.h
parentd3ea547853852481dc5eba6d4cb13adab1564d0b (diff)
parent1465f481460cbfc60dc119873099d89a58f9be4f (diff)
Merge tag 'iommu-updates-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
Pull IOMMU updates from Joerg Roedel: "These changes include: - support for the ACPI IORT table on ARM systems and patches to make the ARM-SMMU driver make use of it - conversion of the Exynos IOMMU driver to device dependency links and implementation of runtime pm support based on that conversion - update the Mediatek IOMMU driver to use the new struct device->iommu_fwspec member - implementation of dma_map/unmap_resource in the generic ARM dma-iommu layer - a number of smaller fixes and improvements all over the place" * tag 'iommu-updates-v4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (44 commits) ACPI/IORT: Make dma masks set-up IORT specific iommu/amd: Missing error code in amd_iommu_init_device() iommu/s390: Drop duplicate header pci.h ACPI/IORT: Introduce iort_iommu_configure ACPI/IORT: Add single mapping function ACPI/IORT: Replace rid map type with type mask iommu/arm-smmu: Add IORT configuration iommu/arm-smmu: Split probe functions into DT/generic portions iommu/arm-smmu-v3: Add IORT configuration iommu/arm-smmu-v3: Split probe functions into DT/generic portions ACPI/IORT: Add support for ARM SMMU platform devices creation ACPI/IORT: Add node match function ACPI: Implement acpi_dma_configure iommu/arm-smmu-v3: Convert struct device of_node to fwnode usage iommu/arm-smmu: Convert struct device of_node to fwnode usage iommu: Make of_iommu_set/get_ops() DT agnostic ACPI/IORT: Add support for IOMMU fwnode registration ACPI/IORT: Introduce linker section for IORT entries probing ACPI: Add FWNODE_ACPI_STATIC fwnode type iommu/arm-smmu: Set SMTNMB_TLBEN in ACR to enable caching of bypass entries ...
Diffstat (limited to 'include/linux/acpi.h')
-rw-r--r--include/linux/acpi.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 43b28f04a1f5..d5f017448a89 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -56,6 +56,27 @@ static inline acpi_handle acpi_device_handle(struct acpi_device *adev)
56 acpi_fwnode_handle(adev) : NULL) 56 acpi_fwnode_handle(adev) : NULL)
57#define ACPI_HANDLE(dev) acpi_device_handle(ACPI_COMPANION(dev)) 57#define ACPI_HANDLE(dev) acpi_device_handle(ACPI_COMPANION(dev))
58 58
59static inline struct fwnode_handle *acpi_alloc_fwnode_static(void)
60{
61 struct fwnode_handle *fwnode;
62
63 fwnode = kzalloc(sizeof(struct fwnode_handle), GFP_KERNEL);
64 if (!fwnode)
65 return NULL;
66
67 fwnode->type = FWNODE_ACPI_STATIC;
68
69 return fwnode;
70}
71
72static inline void acpi_free_fwnode_static(struct fwnode_handle *fwnode)
73{
74 if (WARN_ON(!fwnode || fwnode->type != FWNODE_ACPI_STATIC))
75 return;
76
77 kfree(fwnode);
78}
79
59/** 80/**
60 * ACPI_DEVICE_CLASS - macro used to describe an ACPI device with 81 * ACPI_DEVICE_CLASS - macro used to describe an ACPI device with
61 * the PCI-defined class-code information 82 * the PCI-defined class-code information
@@ -741,6 +762,11 @@ static inline enum dev_dma_attr acpi_get_dma_attr(struct acpi_device *adev)
741 return DEV_DMA_NOT_SUPPORTED; 762 return DEV_DMA_NOT_SUPPORTED;
742} 763}
743 764
765static inline void acpi_dma_configure(struct device *dev,
766 enum dev_dma_attr attr) { }
767
768static inline void acpi_dma_deconfigure(struct device *dev) { }
769
744#define ACPI_PTR(_ptr) (NULL) 770#define ACPI_PTR(_ptr) (NULL)
745 771
746static inline void acpi_device_set_enumerated(struct acpi_device *adev) 772static inline void acpi_device_set_enumerated(struct acpi_device *adev)