瀏覽代碼

of: set dma_mask to point to coherent_dma_mask

Platform devices created by DT code don't initialize dma_mask pointer to
anything. Set it to coherent_dma_mask by default if the architecture
code has not set it.

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Rob Herring 11 年之前
父節點
當前提交
0589342c27
共有 1 個文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/of/platform.c

+ 2 - 0
drivers/of/platform.c

@@ -216,6 +216,8 @@ static struct platform_device *of_platform_device_create_pdata(
 	dev->archdata.dma_mask = 0xffffffffUL;
 #endif
 	dev->dev.coherent_dma_mask = DMA_BIT_MASK(32);
+	if (!dev->dev.dma_mask)
+		dev->dev.dma_mask = &dev->dev.coherent_dma_mask;
 	dev->dev.bus = &platform_bus_type;
 	dev->dev.platform_data = platform_data;