[patch 2.6.25-git] spi_mpc83xx much improved driver

Andrew Morton akpm at linux-foundation.org
Thu May 1 08:46:31 EST 2008


On Wed, 30 Apr 2008 15:37:07 -0700
David Brownell <david-b at pacbell.net> wrote:

> From: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
> Date: Fri, 11 Apr 2008 18:57:21 +0200
> Subject: [PATCH] Much improved mpc83xx SPI driver.
> 
> The current driver may cause glitches on SPI CLK line since one must
> disable the SPI controller before changing any HW settings.  Fix this
> by implementing a local spi_transfer function that won't change speed
> and/or word size while CS is active.
> 
> While doing that heavy lifting a few other issues were addressed too:
>  - Make word size 16 and 32 work too.
>  - Honor bits_per_word and speed_hz in spi transaction.
>  - Optimize the common path.
> 
> This also stops using the "bitbang" framework (except for a few
> constants).
>
> ...
>
> +static void mpc83xx_spi_work(struct work_struct *work)
> +{
> +	struct mpc83xx_spi *mpc83xx_spi =
> +		container_of(work, struct mpc83xx_spi, work);
> +
> +	spin_lock_irq(&mpc83xx_spi->lock);

irq-safe.

> ...
>
> +	spin_lock(&mpc83xx_spi->lock);

not irq-safe.

Deliberate?





More information about the Linuxppc-dev mailing list