[RFC] usb: Fix build error due to dma_mask is not at pdev_archdata at ARM
Mehresh Ramneek-B31383
B31383 at freescale.com
Wed Feb 15 19:47:17 EST 2012
-----Original Message-----
From: Chen Peter-B29397
Sent: Tuesday, February 14, 2012 2:42 PM
To: stern at rowland.harvard.edu; agust at denx.de
Cc: kernel at pengutronix.de; linuxppc-dev at lists.ozlabs.org; Mehresh Ramneek-B31383; Estevam Fabio-R49496; linux-usb at vger.kernel.org
Subject: [RFC] usb: Fix build error due to dma_mask is not at pdev_archdata at ARM
When build i.mx platform with imx_v6_v7_defconfig, and after adding USB Gadget support, it has below build error:
CC drivers/usb/host/fsl-mph-dr-of.o
drivers/usb/host/fsl-mph-dr-of.c: In function 'fsl_usb2_device_register':
drivers/usb/host/fsl-mph-dr-of.c:97: error: 'struct pdev_archdata'
has no member named 'dma_mask'
It has discussed at: http://www.spinics.net/lists/linux-usb/msg57302.html
For PowerPC, there is dma_mask at struct pdev_archdata, but there is no dma_mask at struct pdev_archdata for ARM. The pdev_archdata is related to specific platform, it should NOT be accessed by cross platform drivers, like USB.
The code for pdev_archdata should be useless, as for PowerPC, it has already gotten the value for pdev->dev.dma_mask at function arch_setup_pdev_archdata of arch/powerpc/kernel/setup-common.c.
Anyone who has PowerPC hardware with USB host enabled, and uses this code can help me a test? Thank you
[Ramneek]: Hi Peter, the code is working for Host stack on PowerPC.
Signed-off-by: Peter Chen <peter.chen at freescale.com>
---
drivers/usb/host/fsl-mph-dr-of.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/host/fsl-mph-dr-of.c b/drivers/usb/host/fsl-mph-dr-of.c
index 7916e56..ab333ac 100644
--- a/drivers/usb/host/fsl-mph-dr-of.c
+++ b/drivers/usb/host/fsl-mph-dr-of.c
@@ -94,7 +94,6 @@ struct platform_device * __devinit fsl_usb2_device_register(
pdev->dev.parent = &ofdev->dev;
pdev->dev.coherent_dma_mask = ofdev->dev.coherent_dma_mask;
- pdev->dev.dma_mask = &pdev->archdata.dma_mask;
*pdev->dev.dma_mask = *ofdev->dev.dma_mask;
retval = platform_device_add_data(pdev, pdata, sizeof(*pdata));
--
1.7.0.4
More information about the Linuxppc-dev
mailing list