[RFC] usb: Fix build error due to dma_mask is not at pdev_archdata at ARM

Subsystems: the rest, usb subsystem

3 messages, 3 authors, 2012-02-16 · open the first message on its own page

[RFC] usb: Fix build error due to dma_mask is not at pdev_archdata at ARM

From: Peter Chen <hidden>
Date: 2012-02-14 09:11:54

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

Signed-off-by: Peter Chen <redacted>
---
 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

RE: [RFC] usb: Fix build error due to dma_mask is not at pdev_archdata at ARM

From: Mehresh Ramneek-B31383 <hidden>
Date: 2012-02-15 08:47:27


-----Original Message-----
From: Chen Peter-B29397=20
Sent: Tuesday, February 14, 2012 2:42 PM
To: stern@rowland.harvard.edu; agust@denx.de
Cc: kernel@pengutronix.de; linuxppc-dev@lists.ozlabs.org; Mehresh Ramneek-B=
31383; Estevam Fabio-R49496; linux-usb@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 Gad=
get 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 spec=
ific platform, it should NOT be accessed by cross platform drivers, like US=
B.

The code for pdev_archdata should be useless, as for PowerPC, it has alread=
y gotten the value for pdev->dev.dma_mask at function arch_setup_pdev_archd=
ata of arch/powerpc/kernel/setup-common.c.

Anyone who has PowerPC hardware with USB host enabled, and uses this code c=
an help me a test? Thank you

[Ramneek]: Hi Peter, the code is working for Host stack on PowerPC.
=20
Signed-off-by: Peter Chen <redacted>
---
 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_regist=
er(
 	pdev->dev.parent =3D &ofdev->dev;
=20
 	pdev->dev.coherent_dma_mask =3D ofdev->dev.coherent_dma_mask;
-	pdev->dev.dma_mask =3D &pdev->archdata.dma_mask;
 	*pdev->dev.dma_mask =3D *ofdev->dev.dma_mask;
=20
 	retval =3D platform_device_add_data(pdev, pdata, sizeof(*pdata));
--
1.7.0.4

RE: [RFC] usb: Fix build error due to dma_mask is not at pdev_archdata at ARM

From: Chen Peter-B29397 <hidden>
Date: 2012-02-16 01:12:48

=20
When build i.mx platform with imx_v6_v7_defconfig, and after adding USB
Gadget support, it has below build error:
=20
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'
=20
It has discussed at: http://www.spinics.net/lists/linux-usb/msg57302.html
=20
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.
=20
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.
=20
Anyone who has PowerPC hardware with USB host enabled, and uses this code
can help me a test? Thank you
=20
[Ramneek]: Hi Peter, the code is working for Host stack on PowerPC.
=20
Thanks, Ramneek. I will post PATCH and add:
Tested-by: Ramneek Mehresh <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help