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
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general