spi/atmel: Fix pointer to int conversion warnings on 64 bit builds
authorMark Brown <broonie@linaro.org>
Fri, 1 Aug 2014 16:43:03 +0000 (17:43 +0100)
committerMark Brown <broonie@linaro.org>
Fri, 1 Aug 2014 17:22:42 +0000 (18:22 +0100)
On 64 bit systems integers are generally still 32 bit but long values and
pointers are usually 64 bit. GCC warns when casting a 64 bit pointer into
a 32 bit integer so cast to a long instead in order to avoid warnings.

Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-atmel.c

index 1fb90dda299bd32bbfc3d9e92c1dbd00932005fc..113c83f44b5cdfd0a5840ff87c74176a3285fde2 100644 (file)
@@ -1012,7 +1012,7 @@ static int atmel_spi_setup(struct spi_device *spi)
        csr |= SPI_BF(DLYBCT, 0);
 
        /* chipselect must have been muxed as GPIO (e.g. in board setup) */
-       npcs_pin = (unsigned int)spi->controller_data;
+       npcs_pin = (unsigned long)spi->controller_data;
 
        if (gpio_is_valid(spi->cs_gpio))
                npcs_pin = spi->cs_gpio;
@@ -1247,7 +1247,7 @@ msg_done:
 static void atmel_spi_cleanup(struct spi_device *spi)
 {
        struct atmel_spi_device *asd = spi->controller_state;
-       unsigned                gpio = (unsigned) spi->controller_data;
+       unsigned                gpio = (unsigned long) spi->controller_data;
 
        if (!asd)
                return;