diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-07-25 15:37:09 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-07-25 15:37:09 -0400 |
commit | c1f9c4227ca2c5bc64abbde3d9d63fd8c06571d7 (patch) | |
tree | fd013d6f38b25fd1c3890a7f4ad9aa25311e7f54 /drivers | |
parent | 49121304a9831449a841ca0c77dc0ad8697e23c9 (diff) | |
parent | 778435045a416da71f1757a80e37200a5ea5af70 (diff) |
Merge branch 'v3.5-rc7-fixes' of git://github.com/lunn/linux into fixes
From Andrew Lunn <andrew@lunn.ch>:
* 'v3.5-rc7-fixes' of git://github.com/lunn/linux:
ARM: Kirkwood: Replace mrvl with marvell
ARM: Orion: fix driver probe error handling with respect to clk
ARM: Dove: Fixup ge00 initialisation
ARM: Kirkwood: Fix PHY disable clk problems
ARM: Kirkwood: Ensure runit clock always ticks.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers')
-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 | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/marvell/mv643xx_eth.c | 6 | ||||
-rw-r--r-- | drivers/rtc/rtc-mv.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-orion.c | 4 |
6 files changed, 24 insertions, 2 deletions
diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/mv_cesa.c index 1cc6b3f3e262..a4faa893199c 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 3b9136c1a475..a61cb5fca22d 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 513dc88a05ca..fc5a868c436e 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: |
@@ -214,7 +218,7 @@ static int __devexit orion_nand_remove(struct platform_device *pdev) | |||
214 | 218 | ||
215 | #ifdef CONFIG_OF | 219 | #ifdef CONFIG_OF |
216 | static struct of_device_id orion_nand_of_match_table[] = { | 220 | static struct of_device_id orion_nand_of_match_table[] = { |
217 | { .compatible = "mrvl,orion-nand", }, | 221 | { .compatible = "marvell,orion-nand", }, |
218 | {}, | 222 | {}, |
219 | }; | 223 | }; |
220 | #endif | 224 | #endif |
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c index 770ee557924c..087b9e0669f1 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/rtc/rtc-mv.c b/drivers/rtc/rtc-mv.c index b2185f4255aa..ebc1649d45d6 100644 --- a/drivers/rtc/rtc-mv.c +++ b/drivers/rtc/rtc-mv.c | |||
@@ -297,7 +297,7 @@ static int __exit mv_rtc_remove(struct platform_device *pdev) | |||
297 | 297 | ||
298 | #ifdef CONFIG_OF | 298 | #ifdef CONFIG_OF |
299 | static struct of_device_id rtc_mv_of_match_table[] = { | 299 | static struct of_device_id rtc_mv_of_match_table[] = { |
300 | { .compatible = "mrvl,orion-rtc", }, | 300 | { .compatible = "marvell,orion-rtc", }, |
301 | {} | 301 | {} |
302 | }; | 302 | }; |
303 | #endif | 303 | #endif |
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c index 82de1073aa52..c6903e3af29c 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)); |