From: Paul Walmsley Date: Wed, 7 Jan 2009 15:23:45 +0000 (+0200) Subject: OMAP clock: drop clk_get_usecount() X-Git-Tag: v2.6.28-omap1~31 X-Git-Url: http://www.pilppa.org/gitweb/gitweb.cgi?p=linux-2.6-omap-h63xx.git;a=commitdiff_plain;h=5df9e4adc2f6a6d55aca53ee27b8baad18897c05 OMAP clock: drop clk_get_usecount() This function is race-prone and mistakenly conveys the impression to drivers that it is part of the clock interface. Get rid of it: core code that absolutely needs this can just check clk->usecount. Drivers should not use it at all. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren --- diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c index 0b5c0445e7c..0832e05520e 100644 --- a/arch/arm/mach-omap2/pm-debug.c +++ b/arch/arm/mach-omap2/pm-debug.c @@ -93,7 +93,7 @@ void serial_console_sleep(int enable) if (enable) { BUG_ON(serial_console_clock_disabled); - if (clk_get_usecount(console_fclk) == 0) + if (console_fclk->usecount == 0) return; if ((int) serial_console_next_disable - (int) omap2_read_32k_sync_counter() >= 0) return; diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c index 60ff04f3f4c..2798e87ce6b 100644 --- a/arch/arm/mach-omap2/pm24xx.c +++ b/arch/arm/mach-omap2/pm24xx.c @@ -249,7 +249,7 @@ static int omap2_can_sleep(void) return 0; if (atomic_read(&sleep_block) > 0) return 0; - if (clk_get_usecount(osc_ck) > 1) + if (osc_ck->usecount > 1) return 0; if (omap_dma_running()) return 0; diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index ab3d87910a1..8d43d78f012 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -260,22 +260,6 @@ out: } EXPORT_SYMBOL(clk_disable); -int clk_get_usecount(struct clk *clk) -{ - unsigned long flags; - int ret = 0; - - if (clk == NULL || IS_ERR(clk)) - return 0; - - spin_lock_irqsave(&clockfw_lock, flags); - ret = clk->usecount; - spin_unlock_irqrestore(&clockfw_lock, flags); - - return ret; -} -EXPORT_SYMBOL(clk_get_usecount); - unsigned long clk_get_rate(struct clk *clk) { unsigned long flags; diff --git a/arch/arm/plat-omap/include/mach/clock.h b/arch/arm/plat-omap/include/mach/clock.h index 9d38a255e94..2a30268fe97 100644 --- a/arch/arm/plat-omap/include/mach/clock.h +++ b/arch/arm/plat-omap/include/mach/clock.h @@ -142,7 +142,6 @@ extern void followparent_recalc(struct clk *clk, unsigned long parent_rate, u8 rate_storage); extern void clk_allow_idle(struct clk *clk); extern void clk_deny_idle(struct clk *clk); -extern int clk_get_usecount(struct clk *clk); extern void clk_enable_init_clocks(void); #ifdef CONFIG_CPU_FREQ extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);