mirror of https://gitee.com/openkylin/linux.git
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: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com>
This commit is contained in:
parent
ccf640f4c9
commit
dc3c05504d
|
@ -1428,7 +1428,7 @@ static int __init iort_add_platform_device(struct acpi_iort_node *node,
|
|||
return 0;
|
||||
|
||||
dma_deconfigure:
|
||||
acpi_dma_deconfigure(&pdev->dev);
|
||||
arch_teardown_dma_ops(&pdev->dev);
|
||||
dev_put:
|
||||
platform_device_put(pdev);
|
||||
|
||||
|
|
|
@ -1469,16 +1469,6 @@ int acpi_dma_configure(struct device *dev, enum dev_dma_attr attr)
|
|||
}
|
||||
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)
|
||||
{
|
||||
unsigned long long cca = 0;
|
||||
|
|
|
@ -539,7 +539,7 @@ static int really_probe(struct device *dev, struct device_driver *drv)
|
|||
goto done;
|
||||
|
||||
probe_failed:
|
||||
dma_deconfigure(dev);
|
||||
arch_teardown_dma_ops(dev);
|
||||
dma_failed:
|
||||
if (dev->bus)
|
||||
blocking_notifier_call_chain(&dev->bus->p->bus_notifier,
|
||||
|
@ -968,7 +968,7 @@ static void __device_release_driver(struct device *dev, struct device *parent)
|
|||
drv->remove(dev);
|
||||
|
||||
device_links_driver_cleanup(dev);
|
||||
dma_deconfigure(dev);
|
||||
arch_teardown_dma_ops(dev);
|
||||
|
||||
devres_release_all(dev);
|
||||
dev->driver = NULL;
|
||||
|
|
|
@ -170,18 +170,6 @@ int of_dma_configure(struct device *dev, struct device_node *np, bool force_dma)
|
|||
}
|
||||
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)
|
||||
{
|
||||
device_initialize(&pdev->dev);
|
||||
|
|
|
@ -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,
|
||||
u64 *size);
|
||||
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,
|
||||
u64 address, bool check_children);
|
||||
|
|
|
@ -831,8 +831,6 @@ static inline int acpi_dma_configure(struct device *dev,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline void acpi_dma_deconfigure(struct device *dev) { }
|
||||
|
||||
#define ACPI_PTR(_ptr) (NULL)
|
||||
|
||||
static inline void acpi_device_set_enumerated(struct acpi_device *adev)
|
||||
|
|
|
@ -753,12 +753,6 @@ dma_mark_declared_memory_occupied(struct device *dev,
|
|||
}
|
||||
#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
|
||||
*/
|
||||
|
|
|
@ -58,7 +58,6 @@ static inline struct device_node *of_cpu_device_node_get(int cpu)
|
|||
int of_dma_configure(struct device *dev,
|
||||
struct device_node *np,
|
||||
bool force_dma);
|
||||
void of_dma_deconfigure(struct device *dev);
|
||||
#else /* CONFIG_OF */
|
||||
|
||||
static inline int of_driver_match_device(struct device *dev,
|
||||
|
@ -113,8 +112,6 @@ static inline int of_dma_configure(struct device *dev,
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
static inline void of_dma_deconfigure(struct device *dev)
|
||||
{}
|
||||
#endif /* CONFIG_OF */
|
||||
|
||||
#endif /* _LINUX_OF_DEVICE_H */
|
||||
|
|
|
@ -327,9 +327,3 @@ void dma_common_free_remap(void *cpu_addr, size_t size, unsigned long vm_flags)
|
|||
vunmap(cpu_addr);
|
||||
}
|
||||
#endif
|
||||
|
||||
void dma_deconfigure(struct device *dev)
|
||||
{
|
||||
of_dma_deconfigure(dev);
|
||||
acpi_dma_deconfigure(dev);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue