diff options
-rw-r--r-- | drivers/crypto/mv_cesa.c | 4 | ||||
-rw-r--r-- | drivers/mmc/host/mvsdio.c | 4 | ||||
-rw-r--r-- | drivers/mtd/nand/orion_nand.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/marvell/mv643xx_eth.c | 6 | ||||
-rw-r--r-- | drivers/usb/host/ehci-orion.c | 4 | ||||
-rw-r--r-- | sound/soc/kirkwood/kirkwood-i2s.c | 8 |
6 files changed, 29 insertions, 1 deletions
diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c index 1cc6b3f3e26..a4faa893199 100644 --- a/drivers/crypto/mv_cesa.c +++ b/drivers/crypto/mv_cesa.c | |||
@@ -1098,6 +1098,10 @@ err_unreg_ecb: | |||
1098 | crypto_unregister_alg(&mv_aes_alg_ecb); | 1098 | crypto_unregister_alg(&mv_aes_alg_ecb); |
1099 | err_irq: | 1099 | err_irq: |
1100 | free_irq(irq, cp); | 1100 | free_irq(irq, cp); |
1101 | if (!IS_ERR(cp->clk)) { | ||
1102 | clk_disable_unprepare(cp->clk); | ||
1103 | clk_put(cp->clk); | ||
1104 | } | ||
1101 | err_thread: | 1105 | err_thread: |
1102 | kthread_stop(cp->queue_th); | 1106 | kthread_stop(cp->queue_th); |
1103 | err_unmap_sram: | 1107 | err_unmap_sram: |
diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c index 3b9136c1a47..a61cb5fca22 100644 --- a/drivers/mmc/host/mvsdio.c +++ b/drivers/mmc/host/mvsdio.c | |||
@@ -839,6 +839,10 @@ out: | |||
839 | if (r) | 839 | if (r) |
840 | release_resource(r); | 840 | release_resource(r); |
841 | if (mmc) | 841 | if (mmc) |
842 | if (!IS_ERR_OR_NULL(host->clk)) { | ||
843 | clk_disable_unprepare(host->clk); | ||
844 | clk_put(host->clk); | ||
845 | } | ||
842 | mmc_free_host(mmc); | 846 | mmc_free_host(mmc); |
843 | 847 | ||
844 | return ret; | 848 | return ret; |
diff --git a/drivers/mtd/nand/orion_nand.c b/drivers/mtd/nand/orion_nand.c index 513dc88a05c..9b8fd3d7716 100644 --- a/drivers/mtd/nand/orion_nand.c +++ b/drivers/mtd/nand/orion_nand.c | |||
@@ -183,6 +183,10 @@ static int __init orion_nand_probe(struct platform_device *pdev) | |||
183 | return 0; | 183 | return 0; |
184 | 184 | ||
185 | no_dev: | 185 | no_dev: |
186 | if (!IS_ERR(clk)) { | ||
187 | clk_disable_unprepare(clk); | ||
188 | clk_put(clk); | ||
189 | } | ||
186 | platform_set_drvdata(pdev, NULL); | 190 | platform_set_drvdata(pdev, NULL); |
187 | iounmap(io_base); | 191 | iounmap(io_base); |
188 | no_res: | 192 | no_res: |
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c index f0f06b2bc28..4fbba57b8ff 100644 --- a/drivers/net/ethernet/marvell/mv643xx_eth.c +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c | |||
@@ -2983,6 +2983,12 @@ static int mv643xx_eth_probe(struct platform_device *pdev) | |||
2983 | return 0; | 2983 | return 0; |
2984 | 2984 | ||
2985 | out: | 2985 | out: |
2986 | #if defined(CONFIG_HAVE_CLK) | ||
2987 | if (!IS_ERR(mp->clk)) { | ||
2988 | clk_disable_unprepare(mp->clk); | ||
2989 | clk_put(mp->clk); | ||
2990 | } | ||
2991 | #endif | ||
2986 | free_netdev(dev); | 2992 | free_netdev(dev); |
2987 | 2993 | ||
2988 | return err; | 2994 | return err; |
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c index 82de1073aa5..c6903e3af29 100644 --- a/drivers/usb/host/ehci-orion.c +++ b/drivers/usb/host/ehci-orion.c | |||
@@ -298,6 +298,10 @@ static int __devinit ehci_orion_drv_probe(struct platform_device *pdev) | |||
298 | err4: | 298 | err4: |
299 | usb_put_hcd(hcd); | 299 | usb_put_hcd(hcd); |
300 | err3: | 300 | err3: |
301 | if (!IS_ERR(clk)) { | ||
302 | clk_disable_unprepare(clk); | ||
303 | clk_put(clk); | ||
304 | } | ||
301 | iounmap(regs); | 305 | iounmap(regs); |
302 | err2: | 306 | err2: |
303 | release_mem_region(res->start, resource_size(res)); | 307 | release_mem_region(res->start, resource_size(res)); |
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c index fa455675045..7646dd7f30c 100644 --- a/sound/soc/kirkwood/kirkwood-i2s.c +++ b/sound/soc/kirkwood/kirkwood-i2s.c | |||
@@ -458,7 +458,13 @@ static __devinit int kirkwood_i2s_dev_probe(struct platform_device *pdev) | |||
458 | } | 458 | } |
459 | clk_prepare_enable(priv->clk); | 459 | clk_prepare_enable(priv->clk); |
460 | 460 | ||
461 | return snd_soc_register_dai(&pdev->dev, &kirkwood_i2s_dai); | 461 | err = snd_soc_register_dai(&pdev->dev, &kirkwood_i2s_dai); |
462 | if (!err) | ||
463 | return 0; | ||
464 | dev_err(&pdev->dev, "snd_soc_register_dai failed\n"); | ||
465 | |||
466 | clk_disable_unprepare(priv->clk); | ||
467 | clk_put(priv->clk); | ||
462 | 468 | ||
463 | err_ioremap: | 469 | err_ioremap: |
464 | iounmap(priv->io); | 470 | iounmap(priv->io); |