Re: [PATCH 1/2] spi: new SPI bus lock/unlock functions

From: Mike Frysinger
Date: Tue Sep 22 2009 - 10:16:03 EST


On Thu, Sep 17, 2009 at 18:03, Mike Frysinger wrote:
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -653,6 +653,54 @@ static void spi_complete(void *arg)
> +int spi_lock_bus(struct spi_device *spi)
> +{
> + Â Â Â if (spi->master->lock_bus)
> + Â Â Â Â Â Â Â return spi->master->lock_bus(spi);
> + Â Â Â else
> + Â Â Â Â Â Â Â return 0;
> +}
> +EXPORT_SYMBOL_GPL(spi_lock_bus);
> +
> +int spi_unlock_bus(struct spi_device *spi)
> +{
> + Â Â Â if (spi->master->unlock_bus)
> + Â Â Â Â Â Â Â return spi->master->unlock_bus(spi);
> + Â Â Â else
> + Â Â Â Â Â Â Â return 0;
> +}
> +EXPORT_SYMBOL_GPL(spi_unlock_bus);

there's nothing Blackfin-specific in the implementation of these
functions. i think the way we should be handling these is by doing:
- remove {lock,unlock}_bus functions from spi_master
- move the {lock,unlock}_bus code from spi_bfin5xx.c to spi.c
- drop the SPI_BFIN_LOCK Kconfig
- add a new spi_master flag to spi.h like SPI_MASTER_HALF_DUPLEX --
SPI_MASTER_LOCK_BUS
- have spi_bfin5xx.c/bfin_sport_spi.c add that flag to its master setup
- have the common spi code key off of that flag to return ENOSYS
- have the mmc_spi code check that bit in the master before falling
back to its hack
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/