~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to drivers/clocksource/sh_tmu.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
199
199
static int sh_tmu_clocksource_enable(struct clocksource *cs)
200
200
{
201
201
        struct sh_tmu_priv *p = cs_to_sh_tmu(cs);
 
202
        int ret;
202
203
 
203
 
        return sh_tmu_enable(p);
 
204
        ret = sh_tmu_enable(p);
 
205
        if (!ret)
 
206
                __clocksource_updatefreq_hz(cs, p->rate);
 
207
        return ret;
204
208
}
205
209
 
206
210
static void sh_tmu_clocksource_disable(struct clocksource *cs)
221
225
        cs->mask = CLOCKSOURCE_MASK(32);
222
226
        cs->flags = CLOCK_SOURCE_IS_CONTINUOUS;
223
227
 
224
 
        /* clk_get_rate() needs an enabled clock */
225
 
        clk_enable(p->clk);
226
 
        /* channel will be configured at parent clock / 4 */
227
 
        p->rate = clk_get_rate(p->clk) / 4;
228
 
        clk_disable(p->clk);
229
 
        /* TODO: calculate good shift from rate and counter bit width */
230
 
        cs->shift = 10;
231
 
        cs->mult = clocksource_hz2mult(p->rate, cs->shift);
232
 
 
233
228
        dev_info(&p->pdev->dev, "used as clock source\n");
234
 
        clocksource_register(cs);
 
229
 
 
230
        /* Register with dummy 1 Hz value, gets updated in ->enable() */
 
231
        clocksource_register_hz(cs, 1);
235
232
        return 0;
236
233
}
237
234