aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/mmci.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2006-01-07 13:45:22 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-01-07 13:45:22 -0500
commit8995b161eb142b843094dd614b80e4cce1d66352 (patch)
treeffd9988879441d5ec45ab96b2e06f4fcb1210158 /drivers/mmc/mmci.c
parentcc918c7ab7da017bfaf9661420bb5c462e057cfb (diff)
parentfe5dd7c73d328b255286b6b65ca19dd34447f709 (diff)
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Diffstat (limited to 'drivers/mmc/mmci.c')
-rw-r--r--drivers/mmc/mmci.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/mmc/mmci.c b/drivers/mmc/mmci.c
index 2b10a2d4ae09..634ef53e85a5 100644
--- a/drivers/mmc/mmci.c
+++ b/drivers/mmc/mmci.c
@@ -19,14 +19,14 @@
19#include <linux/highmem.h> 19#include <linux/highmem.h>
20#include <linux/mmc/host.h> 20#include <linux/mmc/host.h>
21#include <linux/mmc/protocol.h> 21#include <linux/mmc/protocol.h>
22#include <linux/amba/bus.h>
23#include <linux/clk.h>
22 24
23#include <asm/cacheflush.h> 25#include <asm/cacheflush.h>
24#include <asm/div64.h> 26#include <asm/div64.h>
25#include <asm/io.h> 27#include <asm/io.h>
26#include <asm/scatterlist.h> 28#include <asm/scatterlist.h>
27#include <asm/sizes.h> 29#include <asm/sizes.h>
28#include <asm/hardware/amba.h>
29#include <asm/hardware/clock.h>
30#include <asm/mach/mmc.h> 30#include <asm/mach/mmc.h>
31 31
32#include "mmci.h" 32#include "mmci.h"
@@ -494,13 +494,9 @@ static int mmci_probe(struct amba_device *dev, void *id)
494 goto host_free; 494 goto host_free;
495 } 495 }
496 496
497 ret = clk_use(host->clk);
498 if (ret)
499 goto clk_free;
500
501 ret = clk_enable(host->clk); 497 ret = clk_enable(host->clk);
502 if (ret) 498 if (ret)
503 goto clk_unuse; 499 goto clk_free;
504 500
505 host->plat = plat; 501 host->plat = plat;
506 host->mclk = clk_get_rate(host->clk); 502 host->mclk = clk_get_rate(host->clk);
@@ -573,8 +569,6 @@ static int mmci_probe(struct amba_device *dev, void *id)
573 iounmap(host->base); 569 iounmap(host->base);
574 clk_disable: 570 clk_disable:
575 clk_disable(host->clk); 571 clk_disable(host->clk);
576 clk_unuse:
577 clk_unuse(host->clk);
578 clk_free: 572 clk_free:
579 clk_put(host->clk); 573 clk_put(host->clk);
580 host_free: 574 host_free:
@@ -609,7 +603,6 @@ static int mmci_remove(struct amba_device *dev)
609 603
610 iounmap(host->base); 604 iounmap(host->base);
611 clk_disable(host->clk); 605 clk_disable(host->clk);
612 clk_unuse(host->clk);
613 clk_put(host->clk); 606 clk_put(host->clk);
614 607
615 mmc_free_host(mmc); 608 mmc_free_host(mmc);