Re: [PATCH 02/16] Blackfin SPI Driver: Fix erroneous SPI Clock divisor calculation

David Brownell
2008-11-20T20:52:28Z

On Monday 17 November 2008, Bryan Wu wrote:
> From: Michael Hennerich <michael.hennerich@analog.com>
>
> Fix erroneous SPI Clock divisor calculation. Make sure SPI_BAUD is
> always >= 2. Writing a value of 0 or 1 to the SPI_BAUD register disables
> the serial clock.
>
> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
> Signed-off-by: Bryan Wu <cooloney@kernel.org>

Acked-by: David Brownell <dbrownell@users.sourceforge.net>

> ---
> arch/blackfin/include/asm/bfin5xx_spi.h | 2 ++
> drivers/spi/spi_bfin5xx.c | 3 +++
> 2 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/arch/blackfin/include/asm/bfin5xx_spi.h b/arch/blackfin/include/asm/bfin5xx_spi.h
> index 9fa1915..b16c3cd 100644
> --- a/arch/blackfin/include/asm/bfin5xx_spi.h
> +++ b/arch/blackfin/include/asm/bfin5xx_spi.h
> @@ -21,6 +21,8 @@
> #ifndef _SPI_CHANNEL_H_
> #define _SPI_CHANNEL_H_
>
> +#define MIN_SPI_BAUD_VAL 2
> +
> #define SPI_READ 0
> #define SPI_WRITE 1
>
> diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c
> index e9b7366..a38106a 100644
> --- a/drivers/spi/spi_bfin5xx.c
> +++ b/drivers/spi/spi_bfin5xx.c
> @@ -158,6 +158,9 @@ static u16 hz_to_spi_baud(u32 speed_hz)
> if ((sclk % (2 * speed_hz)) > 0)
> spi_baud++;
>
> + if (spi_baud < MIN_SPI_BAUD_VAL)
> + spi_baud = MIN_SPI_BAUD_VAL;
> +
> return spi_baud;
> }
>
> --
> 1.5.6.3
>
>