| From e90fc3cb087ce5c5f81e814358222cd6d197b5db Mon Sep 17 00:00:00 2001 |
| From: Peter Chen <peter.chen@freescale.com> |
| Date: Thu, 16 Feb 2012 09:41:52 +0800 |
| Subject: usb: Fix build error due to dma_mask is not at pdev_archdata at ARM |
| |
| From: Peter Chen <peter.chen@freescale.com> |
| |
| commit e90fc3cb087ce5c5f81e814358222cd6d197b5db upstream. |
| |
| 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. |
| |
| Tested-by: Ramneek Mehresh <ramneek.mehresh@freescale.com> |
| Signed-off-by: Peter Chen <peter.chen@freescale.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/host/fsl-mph-dr-of.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| --- 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_u |
| 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)); |