}
 EXPORT_SYMBOL(clk_disable);
 
-int clk_use(struct clk *clk)
-{
-       return 0;
-}
-EXPORT_SYMBOL(clk_use);
-
-void clk_unuse(struct clk *clk)
-{
-}
-EXPORT_SYMBOL(clk_unuse);
-
 unsigned long clk_get_rate(struct clk *clk)
 {
        return clk->rate;
 
 }
 EXPORT_SYMBOL(clk_disable);
 
-int clk_use(struct clk *clk)
-{
-       return 0;
-}
-EXPORT_SYMBOL(clk_use);
-
-void clk_unuse(struct clk *clk)
-{
-}
-EXPORT_SYMBOL(clk_unuse);
-
 unsigned long clk_get_rate(struct clk *clk)
 {
        return clk->rate;
 
 }
 EXPORT_SYMBOL(clk_disable);
 
-int clk_use(struct clk *clk)
-{
-       return 0;
-}
-EXPORT_SYMBOL(clk_use);
-
-void clk_unuse(struct clk *clk)
-{
-}
-EXPORT_SYMBOL(clk_unuse);
-
 unsigned long clk_get_rate(struct clk *clk)
 {
        return clk->rate;
 
 }
 
 
-int clk_use(struct clk *clk)
-{
-       atomic_inc(&clk->used);
-       return 0;
-}
-
-
-void clk_unuse(struct clk *clk)
-{
-       atomic_dec(&clk->used);
-}
-
 unsigned long clk_get_rate(struct clk *clk)
 {
        if (IS_ERR(clk))
 EXPORT_SYMBOL(clk_put);
 EXPORT_SYMBOL(clk_enable);
 EXPORT_SYMBOL(clk_disable);
-EXPORT_SYMBOL(clk_use);
-EXPORT_SYMBOL(clk_unuse);
 EXPORT_SYMBOL(clk_get_rate);
 EXPORT_SYMBOL(clk_round_rate);
 EXPORT_SYMBOL(clk_set_rate);
 int s3c24xx_register_clock(struct clk *clk)
 {
        clk->owner = THIS_MODULE;
-       atomic_set(&clk->used, 0);
 
        if (clk->enable == NULL)
                clk->enable = clk_null_enable;
 
        struct clk           *parent;
        const char           *name;
        int                   id;
-       atomic_t              used;
        unsigned long         rate;
        unsigned long         ctrlbit;
        int                 (*enable)(struct clk *, int enable);
 
                if (IS_ERR(clk))
                        panic("failed to get clock for system timer");
 
-               clk_use(clk);
                clk_enable(clk);
 
                pclk = clk_get_rate(clk);
 
 }
 EXPORT_SYMBOL(clk_disable);
 
-int clk_use(struct clk *clk)
-{
-       return 0;
-}
-EXPORT_SYMBOL(clk_use);
-
-void clk_unuse(struct clk *clk)
-{
-}
-EXPORT_SYMBOL(clk_unuse);
-
 unsigned long clk_get_rate(struct clk *clk)
 {
        return clk->rate;
 
                return -ENOENT;
        }
 
-       clk_use(wdt_clock);
        clk_enable(wdt_clock);
 
        /* see if we can actually set the requested timer margin, and if
 
        if (wdt_clock != NULL) {
                clk_disable(wdt_clock);
-               clk_unuse(wdt_clock);
                clk_put(wdt_clock);
                wdt_clock = NULL;
        }
 
 {
        if (i2c->clk != NULL && !IS_ERR(i2c->clk)) {
                clk_disable(i2c->clk);
-               clk_unuse(i2c->clk);
                clk_put(i2c->clk);
                i2c->clk = NULL;
        }
 
        dev_dbg(&pdev->dev, "clock source %p\n", i2c->clk);
 
-       clk_use(i2c->clk);
        clk_enable(i2c->clk);
 
        /* map the registers */
 
        unsigned int divisor;
        int ret;
 
-       ret = clk_use(kmi->clk);
-       if (ret)
-               goto out;
-
        ret = clk_enable(kmi->clk);
        if (ret)
-               goto clk_unuse;
+               goto out;
 
        divisor = clk_get_rate(kmi->clk) / 8000000 - 1;
        writeb(divisor, KMICLKDIV);
 
  clk_disable:
        clk_disable(kmi->clk);
- clk_unuse:
-       clk_unuse(kmi->clk);
  out:
        return ret;
 }
 
        free_irq(kmi->irq, kmi);
        clk_disable(kmi->clk);
-       clk_unuse(kmi->clk);
 }
 
 static int amba_kmi_probe(struct amba_device *dev, void *id)
 
                goto host_free;
        }
 
-       ret = clk_use(host->clk);
-       if (ret)
-               goto clk_free;
-
        ret = clk_enable(host->clk);
        if (ret)
-               goto clk_unuse;
+               goto clk_free;
 
        host->plat = plat;
        host->mclk = clk_get_rate(host->clk);
        iounmap(host->base);
  clk_disable:
        clk_disable(host->clk);
- clk_unuse:
-       clk_unuse(host->clk);
  clk_free:
        clk_put(host->clk);
  host_free:
 
                iounmap(host->base);
                clk_disable(host->clk);
-               clk_unuse(host->clk);
                clk_put(host->clk);
 
                mmc_free_host(mmc);
 
 
        if (info->clk != NULL && !IS_ERR(info->clk)) {
                clk_disable(info->clk);
-               clk_unuse(info->clk);
                clk_put(info->clk);
        }
 
                goto exit_error;
        }
 
-       clk_use(info->clk);
        clk_enable(info->clk);
 
        /* allocate and map the resource */
 
                goto unmap;
        }
 
-       ret = clk_use(uap->clk);
-       if (ret)
-               goto putclk;
-
        uap->port.dev = &dev->dev;
        uap->port.mapbase = dev->res.start;
        uap->port.membase = base;
        if (ret) {
                amba_set_drvdata(dev, NULL);
                amba_ports[i] = NULL;
-               clk_unuse(uap->clk);
- putclk:
                clk_put(uap->clk);
  unmap:
                iounmap(base);
                        amba_ports[i] = NULL;
 
        iounmap(uap->port.membase);
-       clk_unuse(uap->clk);
        clk_put(uap->clk);
        kfree(uap);
        return 0;
 
 
                if (ourport->baudclk != NULL && !IS_ERR(ourport->baudclk)) {
                        clk_disable(ourport->baudclk);
-                       clk_unuse(ourport->baudclk);
                        ourport->baudclk  = NULL;
                }
 
-               clk_use(clk);
                clk_enable(clk);
 
                ourport->clksrc = clksrc;
 
        ourport->clk    = clk_get(&platdev->dev, "uart");
 
-       if (ourport->clk != NULL && !IS_ERR(ourport->clk))
-               clk_use(ourport->clk);
-
        dbg("port: map=%08x, mem=%08x, irq=%d, clock=%ld\n",
            port->mapbase, port->membase, port->irq, port->uartclk);
 
 
                goto err1;
        }
 
-       clk_use(clk);
        s3c2410_start_hc(dev, hcd);
 
        hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len);
  err2:
        s3c2410_stop_hc(dev);
        iounmap(hcd->regs);
-       clk_unuse(clk);
        clk_put(clk);
 
  err1:
 
                goto out;
        }
 
-       ret = clk_use(fb->clk);
-       if (ret)
-               goto free_clk;
-
        fb->fb.fix.mmio_start   = fb->dev->res.start;
        fb->fb.fix.mmio_len     = SZ_4K;
 
        if (!fb->regs) {
                printk(KERN_ERR "CLCD: unable to remap registers\n");
                ret = -ENOMEM;
-               goto unuse_clk;
+               goto free_clk;
        }
 
        fb->fb.fbops            = &clcdfb_ops;
        printk(KERN_ERR "CLCD: cannot register framebuffer (%d)\n", ret);
 
        iounmap(fb->regs);
- unuse_clk:
-       clk_unuse(fb->clk);
  free_clk:
        clk_put(fb->clk);
  out:
        clcdfb_disable(fb);
        unregister_framebuffer(&fb->fb);
        iounmap(fb->regs);
-       clk_unuse(fb->clk);
        clk_put(fb->clk);
 
        fb->board->remove(fb);
 
                goto release_irq;
        }
 
-       clk_use(info->clk);
        clk_enable(info->clk);
        dprintk("got and enabled clock\n");
 
        s3c2410fb_unmap_video_memory(info);
 release_clock:
        clk_disable(info->clk);
-       clk_unuse(info->clk);
        clk_put(info->clk);
 release_irq:
        free_irq(irq,info);
 
        if (info->clk) {
                clk_disable(info->clk);
-               clk_unuse(info->clk);
                clk_put(info->clk);
                info->clk = NULL;
        }
 
  */
 void clk_disable(struct clk *clk);
 
-/**
- * clk_use - increment the use count
- * @clk: clock source
- *
- * Returns success (0) or negative errno.
- */
-int clk_use(struct clk *clk);
-
-/**
- * clk_unuse - decrement the use count
- * @clk: clock source
- */
-void clk_unuse(struct clk *clk);
-
 /**
  * clk_get_rate - obtain the current clock rate (in Hz) for a clock source.
  *               This is only valid once the clock source has been enabled.