Merge branch 'clocksource/cleanup' into next/cleanup
Clockevent cleanup series from Shawn Guo. Resolved move/change conflict in mach-pxa/time.c due to the sys_timer cleanup. * clocksource/cleanup: clocksource: use clockevents_config_and_register() where possible ARM: use clockevents_config_and_register() where possible clockevents: export clockevents_config_and_register for module use + sync to Linux 3.8-rc3 Signed-off-by: Olof Johansson <olof@lixom.net> Conflicts: arch/arm/mach-pxa/time.c
Tento commit je obsažen v:
@@ -841,8 +841,6 @@ config SOC_IMX6Q
|
||||
select ARCH_HAS_CPUFREQ
|
||||
select ARCH_HAS_OPP
|
||||
select ARM_CPU_SUSPEND if PM
|
||||
select ARM_ERRATA_743622
|
||||
select ARM_ERRATA_751472
|
||||
select ARM_ERRATA_754322
|
||||
select ARM_ERRATA_764369 if SMP
|
||||
select ARM_ERRATA_775420
|
||||
|
@@ -188,7 +188,7 @@ static struct cpufreq_driver mxc_driver = {
|
||||
.name = "imx",
|
||||
};
|
||||
|
||||
static int __devinit mxc_cpufreq_driver_init(void)
|
||||
static int mxc_cpufreq_driver_init(void)
|
||||
{
|
||||
return cpufreq_register_driver(&mxc_driver);
|
||||
}
|
||||
|
@@ -178,7 +178,6 @@ static struct irqaction epit_timer_irq = {
|
||||
static struct clock_event_device clockevent_epit = {
|
||||
.name = "epit",
|
||||
.features = CLOCK_EVT_FEAT_ONESHOT,
|
||||
.shift = 32,
|
||||
.set_mode = epit_set_mode,
|
||||
.set_next_event = epit_set_next_event,
|
||||
.rating = 200,
|
||||
@@ -186,18 +185,10 @@ static struct clock_event_device clockevent_epit = {
|
||||
|
||||
static int __init epit_clockevent_init(struct clk *timer_clk)
|
||||
{
|
||||
unsigned int c = clk_get_rate(timer_clk);
|
||||
|
||||
clockevent_epit.mult = div_sc(c, NSEC_PER_SEC,
|
||||
clockevent_epit.shift);
|
||||
clockevent_epit.max_delta_ns =
|
||||
clockevent_delta2ns(0xfffffffe, &clockevent_epit);
|
||||
clockevent_epit.min_delta_ns =
|
||||
clockevent_delta2ns(0x800, &clockevent_epit);
|
||||
|
||||
clockevent_epit.cpumask = cpumask_of(0);
|
||||
|
||||
clockevents_register_device(&clockevent_epit);
|
||||
clockevents_config_and_register(&clockevent_epit,
|
||||
clk_get_rate(timer_clk),
|
||||
0x800, 0xfffffffe);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@
|
||||
#define BP_MMDC_MAPSR_PSD 0
|
||||
#define BP_MMDC_MAPSR_PSS 4
|
||||
|
||||
static int __devinit imx_mmdc_probe(struct platform_device *pdev)
|
||||
static int imx_mmdc_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
void __iomem *mmdc_base, *reg;
|
||||
|
@@ -256,7 +256,6 @@ static struct irqaction mxc_timer_irq = {
|
||||
static struct clock_event_device clockevent_mxc = {
|
||||
.name = "mxc_timer1",
|
||||
.features = CLOCK_EVT_FEAT_ONESHOT,
|
||||
.shift = 32,
|
||||
.set_mode = mxc_set_mode,
|
||||
.set_next_event = mx1_2_set_next_event,
|
||||
.rating = 200,
|
||||
@@ -264,21 +263,13 @@ static struct clock_event_device clockevent_mxc = {
|
||||
|
||||
static int __init mxc_clockevent_init(struct clk *timer_clk)
|
||||
{
|
||||
unsigned int c = clk_get_rate(timer_clk);
|
||||
|
||||
if (timer_is_v2())
|
||||
clockevent_mxc.set_next_event = v2_set_next_event;
|
||||
|
||||
clockevent_mxc.mult = div_sc(c, NSEC_PER_SEC,
|
||||
clockevent_mxc.shift);
|
||||
clockevent_mxc.max_delta_ns =
|
||||
clockevent_delta2ns(0xfffffffe, &clockevent_mxc);
|
||||
clockevent_mxc.min_delta_ns =
|
||||
clockevent_delta2ns(0xff, &clockevent_mxc);
|
||||
|
||||
clockevent_mxc.cpumask = cpumask_of(0);
|
||||
|
||||
clockevents_register_device(&clockevent_mxc);
|
||||
clockevents_config_and_register(&clockevent_mxc,
|
||||
clk_get_rate(timer_clk),
|
||||
0xff, 0xfffffffe);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele