[U-Boot] [PATCH] spi: ftssp010_spi: Simplify code flow in ftssp010_[wait|wait_tx|wait_rx]

Jagan Teki jagannadh.teki at gmail.com
Thu Jan 8 07:34:15 CET 2015


On 8 January 2015 at 07:17, Axel Lin <axel.lin at ingics.com> wrote:
> No functional change, just simplify the code a bit.
>
> Signed-off-by: Axel Lin <axel.lin at ingics.com>
> ---
>  drivers/spi/ftssp010_spi.c | 36 ++++++++++++------------------------
>  1 file changed, 12 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/spi/ftssp010_spi.c b/drivers/spi/ftssp010_spi.c
> index aa3b5a0..267e4d8 100644
> --- a/drivers/spi/ftssp010_spi.c
> +++ b/drivers/spi/ftssp010_spi.c
> @@ -169,61 +169,49 @@ static int get_spi_gpio(int bus, struct ftssp010_gpio *chip)
>  static int ftssp010_wait(struct ftssp010_spi *chip)
>  {
>         struct ftssp010_regs *regs = chip->regs;
> -       int ret = -1;
>         ulong t;
>
>         /* wait until device idle */
>         for (t = get_timer(0); get_timer(t) < CONFIG_FTSSP010_TIMEOUT; ) {
> -               if (readl(&regs->sr) & SR_BUSY)
> -                       continue;
> -               ret = 0;
> -               break;
> +               if (!(readl(&regs->sr) & SR_BUSY))
> +                       return 0;
>         }
>
> -       if (ret)
> -               puts("ftspi010: busy timeout\n");
> +       puts("ftspi010: busy timeout\n");
>
> -       return ret;
> +       return -1;
>  }
>
>  static int ftssp010_wait_tx(struct ftssp010_spi *chip)
>  {
>         struct ftssp010_regs *regs = chip->regs;
> -       int ret = -1;
>         ulong t;
>
>         /* wait until tx fifo not full */
>         for (t = get_timer(0); get_timer(t) < CONFIG_FTSSP010_TIMEOUT; ) {
> -               if (!(readl(&regs->sr) & SR_TFNF))
> -                       continue;
> -               ret = 0;
> -               break;
> +               if (readl(&regs->sr) & SR_TFNF)
> +                       return 0;
>         }
>
> -       if (ret)
> -               puts("ftssp010: tx timeout\n");
> +       puts("ftssp010: tx timeout\n");
>
> -       return ret;
> +       return -1;
>  }
>
>  static int ftssp010_wait_rx(struct ftssp010_spi *chip)
>  {
>         struct ftssp010_regs *regs = chip->regs;
> -       int ret = -1;
>         ulong t;
>
>         /* wait until rx fifo not empty */
>         for (t = get_timer(0); get_timer(t) < CONFIG_FTSSP010_TIMEOUT; ) {
> -               if (!SR_RFVE(readl(&regs->sr)))
> -                       continue;
> -               ret = 0;
> -               break;
> +               if (SR_RFVE(readl(&regs->sr)))
> +                       return 0;
>         }
>
> -       if (ret)
> -               puts("ftssp010: rx timeout\n");
> +       puts("ftssp010: rx timeout\n");
>
> -       return ret;
> +       return -1;
>  }
>
>  static int ftssp010_spi_work_transfer_v2(struct ftssp010_spi *chip,
> --
> 1.9.1
>
>
>

Applied to u-boot-spi/master

thanks!
-- 
Jagan.


More information about the U-Boot mailing list