[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