Commit 75d0c9e1 authored by Tony Lindgren's avatar Tony Lindgren

Merge branch 'fixes_a_2.6.38rc' of git://git.pwsan.com/linux-2.6 into omap-fixes

parents 6845a44a bc9fcaf3
...@@ -244,6 +244,13 @@ static void __init omap_timer_init(void) ...@@ -244,6 +244,13 @@ static void __init omap_timer_init(void)
omap_init_mpu_timer(rate); omap_init_mpu_timer(rate);
omap_init_clocksource(rate); omap_init_clocksource(rate);
/*
* XXX Since this file seems to deal mostly with the MPU timer,
* this doesn't seem like the correct place for the sync timer
* clocksource init.
*/
if (!cpu_is_omap7xx() && !cpu_is_omap15xx())
omap_init_clocksource_32k();
} }
struct sys_timer omap_timer = { struct sys_timer omap_timer = {
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
#include "cm2_44xx.h" #include "cm2_44xx.h"
#include "cm-regbits-44xx.h" #include "cm-regbits-44xx.h"
#include "prm44xx.h" #include "prm44xx.h"
#include "prm44xx.h"
#include "prm-regbits-44xx.h" #include "prm-regbits-44xx.h"
#include "control.h" #include "control.h"
#include "scrm44xx.h" #include "scrm44xx.h"
......
...@@ -423,6 +423,12 @@ int clkdm_add_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) ...@@ -423,6 +423,12 @@ int clkdm_add_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2)
{ {
struct clkdm_dep *cd; struct clkdm_dep *cd;
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
pr_err("clockdomain: %s/%s: %s: not yet implemented\n",
clkdm1->name, clkdm2->name, __func__);
return -EINVAL;
}
if (!clkdm1 || !clkdm2) if (!clkdm1 || !clkdm2)
return -EINVAL; return -EINVAL;
...@@ -458,6 +464,12 @@ int clkdm_del_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) ...@@ -458,6 +464,12 @@ int clkdm_del_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2)
{ {
struct clkdm_dep *cd; struct clkdm_dep *cd;
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
pr_err("clockdomain: %s/%s: %s: not yet implemented\n",
clkdm1->name, clkdm2->name, __func__);
return -EINVAL;
}
if (!clkdm1 || !clkdm2) if (!clkdm1 || !clkdm2)
return -EINVAL; return -EINVAL;
...@@ -500,6 +512,12 @@ int clkdm_read_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2) ...@@ -500,6 +512,12 @@ int clkdm_read_wkdep(struct clockdomain *clkdm1, struct clockdomain *clkdm2)
if (!clkdm1 || !clkdm2) if (!clkdm1 || !clkdm2)
return -EINVAL; return -EINVAL;
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
pr_err("clockdomain: %s/%s: %s: not yet implemented\n",
clkdm1->name, clkdm2->name, __func__);
return -EINVAL;
}
cd = _clkdm_deps_lookup(clkdm2, clkdm1->wkdep_srcs); cd = _clkdm_deps_lookup(clkdm2, clkdm1->wkdep_srcs);
if (IS_ERR(cd)) { if (IS_ERR(cd)) {
pr_debug("clockdomain: hardware cannot set/clear wake up of " pr_debug("clockdomain: hardware cannot set/clear wake up of "
...@@ -527,6 +545,12 @@ int clkdm_clear_all_wkdeps(struct clockdomain *clkdm) ...@@ -527,6 +545,12 @@ int clkdm_clear_all_wkdeps(struct clockdomain *clkdm)
struct clkdm_dep *cd; struct clkdm_dep *cd;
u32 mask = 0; u32 mask = 0;
if (!cpu_is_omap24xx() && !cpu_is_omap34xx()) {
pr_err("clockdomain: %s: %s: not yet implemented\n",
clkdm->name, __func__);
return -EINVAL;
}
if (!clkdm) if (!clkdm)
return -EINVAL; return -EINVAL;
...@@ -830,8 +854,7 @@ void omap2_clkdm_allow_idle(struct clockdomain *clkdm) ...@@ -830,8 +854,7 @@ void omap2_clkdm_allow_idle(struct clockdomain *clkdm)
* dependency code and data for OMAP4. * dependency code and data for OMAP4.
*/ */
if (cpu_is_omap44xx()) { if (cpu_is_omap44xx()) {
WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency " pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name);
"support is not yet implemented\n");
} else { } else {
if (atomic_read(&clkdm->usecount) > 0) if (atomic_read(&clkdm->usecount) > 0)
_clkdm_add_autodeps(clkdm); _clkdm_add_autodeps(clkdm);
...@@ -872,8 +895,7 @@ void omap2_clkdm_deny_idle(struct clockdomain *clkdm) ...@@ -872,8 +895,7 @@ void omap2_clkdm_deny_idle(struct clockdomain *clkdm)
* dependency code and data for OMAP4. * dependency code and data for OMAP4.
*/ */
if (cpu_is_omap44xx()) { if (cpu_is_omap44xx()) {
WARN_ONCE(1, "clockdomain: OMAP4 wakeup/sleep dependency " pr_err("clockdomain: %s: OMAP4 wakeup/sleep dependency support: not yet implemented\n", clkdm->name);
"support is not yet implemented\n");
} else { } else {
if (atomic_read(&clkdm->usecount) > 0) if (atomic_read(&clkdm->usecount) > 0)
_clkdm_del_autodeps(clkdm); _clkdm_del_autodeps(clkdm);
......
...@@ -30,8 +30,6 @@ ...@@ -30,8 +30,6 @@
#include "cm1_44xx.h" #include "cm1_44xx.h"
#include "cm2_44xx.h" #include "cm2_44xx.h"
#include "cm1_44xx.h"
#include "cm2_44xx.h"
#include "cm-regbits-44xx.h" #include "cm-regbits-44xx.h"
#include "prm44xx.h" #include "prm44xx.h"
#include "prcm44xx.h" #include "prcm44xx.h"
......
...@@ -19,7 +19,6 @@ ...@@ -19,7 +19,6 @@
#include <plat/prcm.h> #include <plat/prcm.h>
#include "powerdomain.h" #include "powerdomain.h"
#include "prm-regbits-34xx.h"
#include "prm.h" #include "prm.h"
#include "prm-regbits-24xx.h" #include "prm-regbits-24xx.h"
#include "prm-regbits-34xx.h" #include "prm-regbits-34xx.h"
......
...@@ -42,6 +42,8 @@ ...@@ -42,6 +42,8 @@
#include "timer-gp.h" #include "timer-gp.h"
#include <plat/common.h>
/* MAX_GPTIMER_ID: number of GPTIMERs on the chip */ /* MAX_GPTIMER_ID: number of GPTIMERs on the chip */
#define MAX_GPTIMER_ID 12 #define MAX_GPTIMER_ID 12
...@@ -176,10 +178,14 @@ static void __init omap2_gp_clockevent_init(void) ...@@ -176,10 +178,14 @@ static void __init omap2_gp_clockevent_init(void)
/* /*
* When 32k-timer is enabled, don't use GPTimer for clocksource * When 32k-timer is enabled, don't use GPTimer for clocksource
* instead, just leave default clocksource which uses the 32k * instead, just leave default clocksource which uses the 32k
* sync counter. See clocksource setup in see plat-omap/common.c. * sync counter. See clocksource setup in plat-omap/counter_32k.c
*/ */
static inline void __init omap2_gp_clocksource_init(void) {} static void __init omap2_gp_clocksource_init(void)
{
omap_init_clocksource_32k();
}
#else #else
/* /*
* clocksource * clocksource
......
...@@ -160,7 +160,7 @@ void read_persistent_clock(struct timespec *ts) ...@@ -160,7 +160,7 @@ void read_persistent_clock(struct timespec *ts)
*ts = *tsp; *ts = *tsp;
} }
static int __init omap_init_clocksource_32k(void) int __init omap_init_clocksource_32k(void)
{ {
static char err[] __initdata = KERN_ERR static char err[] __initdata = KERN_ERR
"%s: can't register clocksource!\n"; "%s: can't register clocksource!\n";
...@@ -195,7 +195,6 @@ static int __init omap_init_clocksource_32k(void) ...@@ -195,7 +195,6 @@ static int __init omap_init_clocksource_32k(void)
} }
return 0; return 0;
} }
arch_initcall(omap_init_clocksource_32k);
#endif /* !(defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP15XX)) */ #endif /* !(defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP15XX)) */
...@@ -35,6 +35,7 @@ struct sys_timer; ...@@ -35,6 +35,7 @@ struct sys_timer;
extern void omap_map_common_io(void); extern void omap_map_common_io(void);
extern struct sys_timer omap_timer; extern struct sys_timer omap_timer;
extern int __init omap_init_clocksource_32k(void);
extern void omap_reserve(void); extern void omap_reserve(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment