]> Pileus Git - ~andy/linux/blobdiff - drivers/spi/spi-imx.c
Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
[~andy/linux] / drivers / spi / spi-imx.c
index 47877d687614fbeb9867ac34b8052fe83bc68b90..e834ff8c0188281dc0fe25304c31df4294afde5f 100644 (file)
@@ -626,7 +626,7 @@ static void spi_imx_chipselect(struct spi_device *spi, int is_active)
        int active = is_active != BITBANG_CS_INACTIVE;
        int dev_is_lowactive = !(spi->mode & SPI_CS_HIGH);
 
-       if (gpio < 0)
+       if (!gpio_is_valid(gpio))
                return;
 
        gpio_set_value(gpio, dev_is_lowactive ^ active);
@@ -688,8 +688,6 @@ static int spi_imx_setupxfer(struct spi_device *spi,
                config.speed_hz = spi->max_speed_hz;
        if (!config.bpw)
                config.bpw = spi->bits_per_word;
-       if (!config.speed_hz)
-               config.speed_hz = spi->max_speed_hz;
 
        /* Initialize the functions for transfer */
        if (config.bpw <= 8) {
@@ -738,7 +736,7 @@ static int spi_imx_setup(struct spi_device *spi)
        dev_dbg(&spi->dev, "%s: mode %d, %u bpw, %d hz\n", __func__,
                 spi->mode, spi->bits_per_word, spi->max_speed_hz);
 
-       if (gpio >= 0)
+       if (gpio_is_valid(gpio))
                gpio_direction_output(gpio, spi->mode & SPI_CS_HIGH ? 0 : 1);
 
        spi_imx_chipselect(spi, BITBANG_CS_INACTIVE);
@@ -791,11 +789,11 @@ static int __devinit spi_imx_probe(struct platform_device *pdev)
 
        for (i = 0; i < master->num_chipselect; i++) {
                int cs_gpio = of_get_named_gpio(np, "cs-gpios", i);
-               if (cs_gpio < 0 && mxc_platform_info)
+               if (!gpio_is_valid(cs_gpio) && mxc_platform_info)
                        cs_gpio = mxc_platform_info->chipselect[i];
 
                spi_imx->chipselect[i] = cs_gpio;
-               if (cs_gpio < 0)
+               if (!gpio_is_valid(cs_gpio))
                        continue;
 
                ret = gpio_request(spi_imx->chipselect[i], DRIVER_NAME);
@@ -897,7 +895,7 @@ out_release_mem:
        release_mem_region(res->start, resource_size(res));
 out_gpio_free:
        while (--i >= 0) {
-               if (spi_imx->chipselect[i] >= 0)
+               if (gpio_is_valid(spi_imx->chipselect[i]))
                        gpio_free(spi_imx->chipselect[i]);
        }
        spi_master_put(master);
@@ -922,7 +920,7 @@ static int __devexit spi_imx_remove(struct platform_device *pdev)
        iounmap(spi_imx->base);
 
        for (i = 0; i < master->num_chipselect; i++)
-               if (spi_imx->chipselect[i] >= 0)
+               if (gpio_is_valid(spi_imx->chipselect[i]))
                        gpio_free(spi_imx->chipselect[i]);
 
        spi_master_put(master);