]> git.karo-electronics.de Git - linux-beck.git/blobdiff - drivers/spi/spi-sirf.c
Merge tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-beck.git] / drivers / spi / spi-sirf.c
index 78c8842b950110e58341709186a4a157fa6862ec..f59d4177b419975378fbe00498c3e2680c3dbb47 100644 (file)
@@ -382,8 +382,7 @@ spi_sirfsoc_setup_transfer(struct spi_device *spi, struct spi_transfer *t)
 
        sspi = spi_master_get_devdata(spi->master);
 
-       bits_per_word = t && t->bits_per_word ? t->bits_per_word :
-               spi->bits_per_word;
+       bits_per_word = (t) ? t->bits_per_word : spi->bits_per_word;
        hz = t && t->speed_hz ? t->speed_hz : spi->max_speed_hz;
 
        /* Enable IO mode for RX, TX */
@@ -569,7 +568,7 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
                ret = -EINVAL;
                goto free_pin;
        }
-       clk_enable(sspi->clk);
+       clk_prepare_enable(sspi->clk);
        sspi->ctrl_freq = clk_get_rate(sspi->clk);
 
        init_completion(&sspi->done);
@@ -593,7 +592,7 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
        return 0;
 
 free_clk:
-       clk_disable(sspi->clk);
+       clk_disable_unprepare(sspi->clk);
        clk_put(sspi->clk);
 free_pin:
        pinctrl_put(sspi->p);
@@ -617,7 +616,7 @@ static int  spi_sirfsoc_remove(struct platform_device *pdev)
                if (sspi->chipselect[i] > 0)
                        gpio_free(sspi->chipselect[i]);
        }
-       clk_disable(sspi->clk);
+       clk_disable_unprepare(sspi->clk);
        clk_put(sspi->clk);
        pinctrl_put(sspi->p);
        spi_master_put(master);
@@ -658,6 +657,7 @@ static const struct dev_pm_ops spi_sirfsoc_pm_ops = {
 
 static const struct of_device_id spi_sirfsoc_of_match[] = {
        { .compatible = "sirf,prima2-spi", },
+       { .compatible = "sirf,marco-spi", },
        {}
 };
 MODULE_DEVICE_TABLE(of, sirfsoc_spi_of_match);