Merge remote-tracking branches 'spi/topic/pxa2xx', 'spi/topic/qspi', 'spi/topic/s3c24...
[cascardo/linux.git] / drivers / spi / spi-txx9.c
index 637cce2..6191ced 100644 (file)
@@ -348,7 +348,7 @@ static int txx9spi_probe(struct platform_device *dev)
        INIT_LIST_HEAD(&c->queue);
        init_waitqueue_head(&c->waitq);
 
-       c->clk = clk_get(&dev->dev, "spi-baseclk");
+       c->clk = devm_clk_get(&dev->dev, "spi-baseclk");
        if (IS_ERR(c->clk)) {
                ret = PTR_ERR(c->clk);
                c->clk = NULL;
@@ -356,7 +356,6 @@ static int txx9spi_probe(struct platform_device *dev)
        }
        ret = clk_enable(c->clk);
        if (ret) {
-               clk_put(c->clk);
                c->clk = NULL;
                goto exit;
        }
@@ -415,22 +414,19 @@ exit_busy:
 exit:
        if (c->workqueue)
                destroy_workqueue(c->workqueue);
-       if (c->clk) {
+       if (c->clk)
                clk_disable(c->clk);
-               clk_put(c->clk);
-       }
        spi_master_put(master);
        return ret;
 }
 
 static int txx9spi_remove(struct platform_device *dev)
 {
-       struct spi_master *master = spi_master_get(platform_get_drvdata(dev));
+       struct spi_master *master = platform_get_drvdata(dev);
        struct txx9spi *c = spi_master_get_devdata(master);
 
        destroy_workqueue(c->workqueue);
        clk_disable(c->clk);
-       clk_put(c->clk);
        return 0;
 }