
#include <assert.h>

int spi_sync(struct spi_device *spi, struct spi_message *message)
{
    int ret;
    
#ifdef NDEBUG
    if (!spi || !spi->controller)
        return -EINVAL;
#else
    assert(spi != NULL);
    assert(spi->controller != NULL);
#endif
    
    mutex_lock(&spi->controller->bus_lock_mutex);
    ret = __spi_sync(spi, message);
    mutex_unlock(&spi->controller->bus_lock_mutex);
    
    return ret;
}
