/* stmp_spi_transfer - perform message transfer. Called indirectly from spi_async, queues all the messages to spi_handle_message. @spi: spi device @m: message to be queued  */
static int stmp_spi_transfer(struct spi_device *spi, struct spi_message *m)
/* stmp_spi_transfer - perform message transfer. Called indirectly from spi_async, queues all the messages to spi_handle_message. @spi: spi device @m: message to be queued  */
static int stmp_spi_transfer(struct spi_device *spi, struct spi_message *m)
{
	struct stmp_spi *ss = spi_master_get_devdata(spi->master);
	unsigned long flags;
	m->status = -EINPROGRESS;
	spin_lock_irqsave(&ss->lock, flags);
	list_add_tail(&m->queue, &ss->queue);
	queue_work(ss->workqueue, &ss->work);
	spin_unlock_irqrestore(&ss->lock, flags);
	return 0;
}