spi: Add a utility pointer for the application on SPI callback

It might be needed sometime to get some private data forwarded to the
callback, thus such user_data pointer is the easiest way to proceed.
Adding a macro to set the word size as well.

Change-Id: I68cbe2d480120253ccb13f13c656a38c27e21604
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
diff --git a/drivers/spi/intel_spi.c b/drivers/spi/intel_spi.c
index a08d741..bb14c2c 100644
--- a/drivers/spi/intel_spi.c
+++ b/drivers/spi/intel_spi.c
@@ -172,7 +172,7 @@
 	_spi_control_cs(dev, 0);
 
 	if (spi->callback) {
-		spi->callback(dev, cb_type);
+		spi->callback(dev, cb_type, spi->user_data);
 	}
 }
 
@@ -236,7 +236,8 @@
 	spi->t_len -= cnt;
 }
 
-static int spi_intel_configure(struct device *dev, struct spi_config *config)
+static int spi_intel_configure(struct device *dev,
+				struct spi_config *config, void *user_data)
 {
 	struct spi_intel_config *info = dev->config->config_info;
 	struct spi_intel_data *spi = dev->driver_data;
@@ -288,6 +289,7 @@
 	spi->tx_buf = spi->rx_buf = NULL;
 	spi->tx_buf_len = spi->rx_buf_len = spi->t_len = 0;
 	spi->callback = config->callback;
+	spi->user_data = user_data;
 
 	return DEV_OK;
 }