Browse Source

spi: imx: fix little-endian build

The newly added dynamic burst code produces a harmless warning
on big-endian configurations:

drivers/spi/spi-imx.c: In function 'spi_imx_buf_rx_swap_u32':
drivers/spi/spi-imx.c:284:15: error: unused variable 'bytes_per_word' [-Werror=unused-variable]
  unsigned int bytes_per_word;
               ^~~~~~~~~~~~~~
drivers/spi/spi-imx.c: In function 'spi_imx_buf_tx_swap_u32':
drivers/spi/spi-imx.c:319:15: error: unused variable 'bytes_per_word' [-Werror=unused-variable]
  unsigned int bytes_per_word;

This adds another #ifdef around the variable declaration matching
the one on the use.

Fixes: 1673c81d9435 ("spi: imx: dynamic burst length adjust for PIO mode")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnd Bergmann 8 years ago
parent
commit
5904c9d3c9
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/spi/spi-imx.c

+ 4 - 0
drivers/spi/spi-imx.c

@@ -281,7 +281,9 @@ static bool spi_imx_can_dma(struct spi_master *master, struct spi_device *spi,
 static void spi_imx_buf_rx_swap_u32(struct spi_imx_data *spi_imx)
 static void spi_imx_buf_rx_swap_u32(struct spi_imx_data *spi_imx)
 {
 {
 	unsigned int val = readl(spi_imx->base + MXC_CSPIRXDATA);
 	unsigned int val = readl(spi_imx->base + MXC_CSPIRXDATA);
+#ifdef __LITTLE_ENDIAN
 	unsigned int bytes_per_word;
 	unsigned int bytes_per_word;
+#endif
 
 
 	if (spi_imx->rx_buf) {
 	if (spi_imx->rx_buf) {
 #ifdef __LITTLE_ENDIAN
 #ifdef __LITTLE_ENDIAN
@@ -316,7 +318,9 @@ static void spi_imx_buf_rx_swap(struct spi_imx_data *spi_imx)
 static void spi_imx_buf_tx_swap_u32(struct spi_imx_data *spi_imx)
 static void spi_imx_buf_tx_swap_u32(struct spi_imx_data *spi_imx)
 {
 {
 	u32 val = 0;
 	u32 val = 0;
+#ifdef __LITTLE_ENDIAN
 	unsigned int bytes_per_word;
 	unsigned int bytes_per_word;
+#endif
 
 
 	if (spi_imx->tx_buf) {
 	if (spi_imx->tx_buf) {
 		val = *(u32 *)spi_imx->tx_buf;
 		val = *(u32 *)spi_imx->tx_buf;