Re: [PATCH v4 3/3] usb: chipidea: imx: set CI_HDRC_IMX28_WRITE_FIX for imx28

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/30/2013 04:06 AM, Peter Chen wrote:
> Due to imx28 needs ARM swp instruction for writing, we set
> CI_HDRC_IMX28_WRITE_FIX for imx28.
> 
> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
> ---
>  drivers/usb/chipidea/ci_hdrc_imx.c |   32 ++++++++++++++++++++++++++------
>  1 files changed, 26 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/chipidea/ci_hdrc_imx.c b/drivers/usb/chipidea/ci_hdrc_imx.c
> index 023d3cb..68f7f5e 100644
> --- a/drivers/usb/chipidea/ci_hdrc_imx.c
> +++ b/drivers/usb/chipidea/ci_hdrc_imx.c
> @@ -23,6 +23,26 @@
>  #include "ci.h"
>  #include "ci_hdrc_imx.h"
>  
> +#define CI_HDRC_IMX_IMX28_WRITE_FIX BIT(0)
> +
> +struct ci_hdrc_imx_platform_flag {
> +	unsigned int flags;
> +};
> +
> +static const struct ci_hdrc_imx_platform_flag imx27_usb_data = {
> +};
> +
> +static const struct ci_hdrc_imx_platform_flag imx28_usb_data = {
> +	.flags = CI_HDRC_IMX_IMX28_WRITE_FIX,
> +};
> +
> +static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
> +	{ .compatible = "fsl,imx28-usb", .data = &imx28_usb_data},
> +	{ .compatible = "fsl,imx27-usb", .data = &imx27_usb_data},
                                                               ^^^
Nitpick, please add ", " or a single space.

Marc

> +	{ /* sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, ci_hdrc_imx_dt_ids);
> +
>  struct ci_hdrc_imx_data {
>  	struct usb_phy *phy;
>  	struct platform_device *ci_pdev;
> @@ -82,6 +102,9 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
>  				  CI_HDRC_DISABLE_STREAMING,
>  	};
>  	int ret;
> +	const struct of_device_id *of_id =
> +			of_match_device(ci_hdrc_imx_dt_ids, &pdev->dev);
> +	const struct ci_hdrc_imx_platform_flag *imx_platform_flag = of_id->data;
>  
>  	data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
>  	if (!data) {
> @@ -115,6 +138,9 @@ static int ci_hdrc_imx_probe(struct platform_device *pdev)
>  
>  	pdata.phy = data->phy;
>  
> +	if (imx_platform_flag->flags & CI_HDRC_IMX_IMX28_WRITE_FIX)
> +		pdata.flags |= CI_HDRC_IMX28_WRITE_FIX;
> +
>  	if (!pdev->dev.dma_mask)
>  		pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
>  	if (!pdev->dev.coherent_dma_mask)
> @@ -174,12 +200,6 @@ static int ci_hdrc_imx_remove(struct platform_device *pdev)
>  	return 0;
>  }
>  
> -static const struct of_device_id ci_hdrc_imx_dt_ids[] = {
> -	{ .compatible = "fsl,imx27-usb", },
> -	{ /* sentinel */ }
> -};
> -MODULE_DEVICE_TABLE(of, ci_hdrc_imx_dt_ids);
> -
>  static struct platform_driver ci_hdrc_imx_driver = {
>  	.probe = ci_hdrc_imx_probe,
>  	.remove = ci_hdrc_imx_remove,
> 


-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux