Commit dc3c0550 authored by Christoph Hellwig's avatar Christoph Hellwig

dma-mapping: remove dma_deconfigure

This goes through a lot of hooks just to call arch_teardown_dma_ops.
Replace it with a direct call instead.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
parent ccf640f4
...@@ -1428,7 +1428,7 @@ static int __init iort_add_platform_device(struct acpi_iort_node *node, ...@@ -1428,7 +1428,7 @@ static int __init iort_add_platform_device(struct acpi_iort_node *node,
return 0; return 0;
dma_deconfigure: dma_deconfigure:
acpi_dma_deconfigure(&pdev->dev); arch_teardown_dma_ops(&pdev->dev);
dev_put: dev_put:
platform_device_put(pdev); platform_device_put(pdev);
......
...@@ -1469,16 +1469,6 @@ int acpi_dma_configure(struct device *dev, enum dev_dma_attr attr) ...@@ -1469,16 +1469,6 @@ int acpi_dma_configure(struct device *dev, enum dev_dma_attr attr)
} }
EXPORT_SYMBOL_GPL(acpi_dma_configure); EXPORT_SYMBOL_GPL(acpi_dma_configure);
/**
* acpi_dma_deconfigure - Tear-down DMA configuration for the device.
* @dev: The pointer to the device
*/
void acpi_dma_deconfigure(struct device *dev)
{
arch_teardown_dma_ops(dev);
}
EXPORT_SYMBOL_GPL(acpi_dma_deconfigure);
static void acpi_init_coherency(struct acpi_device *adev) static void acpi_init_coherency(struct acpi_device *adev)
{ {
unsigned long long cca = 0; unsigned long long cca = 0;
......
...@@ -539,7 +539,7 @@ static int really_probe(struct device *dev, struct device_driver *drv) ...@@ -539,7 +539,7 @@ static int really_probe(struct device *dev, struct device_driver *drv)
goto done; goto done;
probe_failed: probe_failed:
dma_deconfigure(dev); arch_teardown_dma_ops(dev);
dma_failed: dma_failed:
if (dev->bus) if (dev->bus)
blocking_notifier_call_chain(&dev->bus->p->bus_notifier, blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
...@@ -968,7 +968,7 @@ static void __device_release_driver(struct device *dev, struct device *parent) ...@@ -968,7 +968,7 @@ static void __device_release_driver(struct device *dev, struct device *parent)
drv->remove(dev); drv->remove(dev);
device_links_driver_cleanup(dev); device_links_driver_cleanup(dev);
dma_deconfigure(dev); arch_teardown_dma_ops(dev);
devres_release_all(dev); devres_release_all(dev);
dev->driver = NULL; dev->driver = NULL;
......
...@@ -170,18 +170,6 @@ int of_dma_configure(struct device *dev, struct device_node *np, bool force_dma) ...@@ -170,18 +170,6 @@ int of_dma_configure(struct device *dev, struct device_node *np, bool force_dma)
} }
EXPORT_SYMBOL_GPL(of_dma_configure); EXPORT_SYMBOL_GPL(of_dma_configure);
/**
* of_dma_deconfigure - Clean up DMA configuration
* @dev: Device for which to clean up DMA configuration
*
* Clean up all configuration performed by of_dma_configure_ops() and free all
* resources that have been allocated.
*/
void of_dma_deconfigure(struct device *dev)
{
arch_teardown_dma_ops(dev);
}
int of_device_register(struct platform_device *pdev) int of_device_register(struct platform_device *pdev)
{ {
device_initialize(&pdev->dev); device_initialize(&pdev->dev);
......
...@@ -595,7 +595,6 @@ enum dev_dma_attr acpi_get_dma_attr(struct acpi_device *adev); ...@@ -595,7 +595,6 @@ enum dev_dma_attr acpi_get_dma_attr(struct acpi_device *adev);
int acpi_dma_get_range(struct device *dev, u64 *dma_addr, u64 *offset, int acpi_dma_get_range(struct device *dev, u64 *dma_addr, u64 *offset,
u64 *size); u64 *size);
int acpi_dma_configure(struct device *dev, enum dev_dma_attr attr); int acpi_dma_configure(struct device *dev, enum dev_dma_attr attr);
void acpi_dma_deconfigure(struct device *dev);
struct acpi_device *acpi_find_child_device(struct acpi_device *parent, struct acpi_device *acpi_find_child_device(struct acpi_device *parent,
u64 address, bool check_children); u64 address, bool check_children);
......
...@@ -831,8 +831,6 @@ static inline int acpi_dma_configure(struct device *dev, ...@@ -831,8 +831,6 @@ static inline int acpi_dma_configure(struct device *dev,
return 0; return 0;
} }
static inline void acpi_dma_deconfigure(struct device *dev) { }
#define ACPI_PTR(_ptr) (NULL) #define ACPI_PTR(_ptr) (NULL)
static inline void acpi_device_set_enumerated(struct acpi_device *adev) static inline void acpi_device_set_enumerated(struct acpi_device *adev)
......
...@@ -753,12 +753,6 @@ dma_mark_declared_memory_occupied(struct device *dev, ...@@ -753,12 +753,6 @@ dma_mark_declared_memory_occupied(struct device *dev,
} }
#endif /* CONFIG_HAVE_GENERIC_DMA_COHERENT */ #endif /* CONFIG_HAVE_GENERIC_DMA_COHERENT */
#ifdef CONFIG_HAS_DMA
void dma_deconfigure(struct device *dev);
#else
static inline void dma_deconfigure(struct device *dev) {}
#endif
/* /*
* Managed DMA API * Managed DMA API
*/ */
......
...@@ -58,7 +58,6 @@ static inline struct device_node *of_cpu_device_node_get(int cpu) ...@@ -58,7 +58,6 @@ static inline struct device_node *of_cpu_device_node_get(int cpu)
int of_dma_configure(struct device *dev, int of_dma_configure(struct device *dev,
struct device_node *np, struct device_node *np,
bool force_dma); bool force_dma);
void of_dma_deconfigure(struct device *dev);
#else /* CONFIG_OF */ #else /* CONFIG_OF */
static inline int of_driver_match_device(struct device *dev, static inline int of_driver_match_device(struct device *dev,
...@@ -113,8 +112,6 @@ static inline int of_dma_configure(struct device *dev, ...@@ -113,8 +112,6 @@ static inline int of_dma_configure(struct device *dev,
{ {
return 0; return 0;
} }
static inline void of_dma_deconfigure(struct device *dev)
{}
#endif /* CONFIG_OF */ #endif /* CONFIG_OF */
#endif /* _LINUX_OF_DEVICE_H */ #endif /* _LINUX_OF_DEVICE_H */
...@@ -327,9 +327,3 @@ void dma_common_free_remap(void *cpu_addr, size_t size, unsigned long vm_flags) ...@@ -327,9 +327,3 @@ void dma_common_free_remap(void *cpu_addr, size_t size, unsigned long vm_flags)
vunmap(cpu_addr); vunmap(cpu_addr);
} }
#endif #endif
void dma_deconfigure(struct device *dev)
{
of_dma_deconfigure(dev);
acpi_dma_deconfigure(dev);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment