
static int check_spi_device(struct spi_device *spi)
{
    if (!spi || !spi->controller)
        return -EINVAL;
    return 0;
}

int spi_sync(struct spi_device *spi, struct spi_message *message)
{
    int ret;
    
    ret = check_spi_device(spi);
    if (ret)
        return ret;
    
    mutex_lock(&spi->controller->bus_lock_mutex);
    ret = __spi_sync(spi, message);
    mutex_unlock(&spi->controller->bus_lock_mutex);
    
    return ret;
}
