On Thursday 18 December 2014 20:29:43 Hanjun Guo wrote:
--- a/drivers/acpi/acpi_platform.c +++ b/drivers/acpi/acpi_platform.c @@ -105,12 +105,20 @@ struct platform_device *acpi_create_platform_device(struct acpi_device *adev) pdevinfo.acpi_node.companion = adev; pdevinfo.dma_mask = DMA_BIT_MASK(32); pdev = platform_device_register_full(&pdevinfo);
if (IS_ERR(pdev))
if (IS_ERR(pdev)) { dev_err(&adev->dev, "platform device creation failed: %ld\n", PTR_ERR(pdev));
else
} else {
/*
* if _CCA (Cache Coherency Attribute) exist, call arch hook to setup
* dma coherent operations.
*/
if (acpi_dma_is_coherent(acpi_device_handle(adev)))
set_arch_dma_coherent_ops(&pdev->dev);
dev_dbg(&adev->dev, "created platform device %s\n", dev_name(&pdev->dev));
}
We have replaced set_arch_dma_coherent_ops with arch_setup_dma_ops in 3.19, you should update your patch. The set_arch_dma_coherent_ops callback still exists on arm64, but that is a bug that will be fixed shortly.
Arnd