Re: [PATCH 6/8] usb: musb: Pass fifo_mode in platform data

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

 



Hi Tony,

Thanks for this one too.

On Mon, Nov-24-2014 at 11:05:04 AM -0800, Tony Lindgren wrote:
> This allows setting the correct fifo_mode when multiple
> MUSB glue layers are built-in.

Applied on top of 3.18-rc6 mainline and tested successfully on JZ4740.
Been able to use ethernet-over-usb to access the internet on
device. No issue as far as I'm concerned.

Acked-by: Apelete Seketeli <apelete@xxxxxxxxxxxx>

> Cc: Fabio Baltieri <fabio.baltieri@xxxxxxxxxx>
> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Cc: Apelete Seketeli <apelete@xxxxxxxxxxxx>
> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx>
> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
> ---
>  drivers/usb/musb/blackfin.c  |  1 +
>  drivers/usb/musb/da8xx.c     |  1 +
>  drivers/usb/musb/jz4740.c    |  1 +
>  drivers/usb/musb/musb_core.c | 21 ++++++---------------
>  drivers/usb/musb/ux500.c     |  1 +
>  5 files changed, 10 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/usb/musb/blackfin.c b/drivers/usb/musb/blackfin.c
> index c55fcfd..b8442b9 100644
> --- a/drivers/usb/musb/blackfin.c
> +++ b/drivers/usb/musb/blackfin.c
> @@ -474,6 +474,7 @@ static const struct musb_platform_ops bfin_ops = {
>  	.writew		= bfin_writew,
>  	.readl		= bfin_readl,
>  	.writel		= bfin_writel,
> +	.fifo_mode	= 2,
>  	.read_fifo	= bfin_read_fifo,
>  	.write_fifo	= bfin_write_fifo,
>  	.enable		= bfin_musb_enable,
> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> index c9079c8..5f9b486 100644
> --- a/drivers/usb/musb/da8xx.c
> +++ b/drivers/usb/musb/da8xx.c
> @@ -462,6 +462,7 @@ static const struct musb_platform_ops da8xx_ops = {
>  	.init		= da8xx_musb_init,
>  	.exit		= da8xx_musb_exit,
>  
> +	.fifo_mode	= 2,
>  	.enable		= da8xx_musb_enable,
>  	.disable	= da8xx_musb_disable,
>  
> diff --git a/drivers/usb/musb/jz4740.c b/drivers/usb/musb/jz4740.c
> index 40e9874..bb7b263 100644
> --- a/drivers/usb/musb/jz4740.c
> +++ b/drivers/usb/musb/jz4740.c
> @@ -107,6 +107,7 @@ static int jz4740_musb_exit(struct musb *musb)
>  
>  static const struct musb_platform_ops jz4740_musb_ops = {
>  	.quirks		= MUSB_INDEXED_EP,
> +	.fifo_mode	= 2,
>  	.init		= jz4740_musb_init,
>  	.exit		= jz4740_musb_exit,
>  };
> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
> index 48ddc82..0875365 100644
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -1116,21 +1116,7 @@ static void musb_shutdown(struct platform_device *pdev)
>   * We don't currently use dynamic fifo setup capability to do anything
>   * more than selecting one of a bunch of predefined configurations.
>   */
> -#if defined(CONFIG_USB_MUSB_TUSB6010)			\
> -	|| defined(CONFIG_USB_MUSB_TUSB6010_MODULE)	\
> -	|| defined(CONFIG_USB_MUSB_OMAP2PLUS)		\
> -	|| defined(CONFIG_USB_MUSB_OMAP2PLUS_MODULE)	\
> -	|| defined(CONFIG_USB_MUSB_AM35X)		\
> -	|| defined(CONFIG_USB_MUSB_AM35X_MODULE)	\
> -	|| defined(CONFIG_USB_MUSB_DSPS)		\
> -	|| defined(CONFIG_USB_MUSB_DSPS_MODULE)
> -static ushort fifo_mode = 4;
> -#elif defined(CONFIG_USB_MUSB_UX500)			\
> -	|| defined(CONFIG_USB_MUSB_UX500_MODULE)
> -static ushort fifo_mode = 5;
> -#else
> -static ushort fifo_mode = 2;
> -#endif
> +static ushort fifo_mode;
>  
>  /* "modprobe ... fifo_mode=1" etc */
>  module_param(fifo_mode, ushort, 0);
> @@ -2040,6 +2026,11 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
>  		musb->io.ep_select = musb_flat_ep_select;
>  	}
>  
> +	if (musb->ops->fifo_mode)
> +		fifo_mode = musb->ops->fifo_mode;
> +	else
> +		fifo_mode = 4;
> +
>  	if (musb->ops->fifo_offset)
>  		musb->io.fifo_offset = musb->ops->fifo_offset;
>  	else
> diff --git a/drivers/usb/musb/ux500.c b/drivers/usb/musb/ux500.c
> index c170501..c372518 100644
> --- a/drivers/usb/musb/ux500.c
> +++ b/drivers/usb/musb/ux500.c
> @@ -191,6 +191,7 @@ static const struct musb_platform_ops ux500_ops = {
>  	.quirks		= MUSB_INDEXED_EP,
>  	.init		= ux500_musb_init,
>  	.exit		= ux500_musb_exit,
> +	.fifo_mode	= 5,
>  
>  	.set_vbus	= ux500_musb_set_vbus,
>  };
> -- 
> 2.1.3
> 

-- 
        Apelete
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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

  Powered by Linux